VolCurve fits an implied volatility smile for a single option expiry. It follows a scikit-learn style workflow: configure an estimator, call fit, then evaluate the fitted object. The resulting smile lets you price options, compute Greeks, export IV data, and convert directly into a risk-neutral probability distribution. The steps below walk through the complete workflow.
Initialize
Create a
VolCurve with your chosen calibration algorithm and pricing engine. The default configuration uses SVI for the smile and Black-76 for IV inversion.Fit
Call Use
vol.fit(chain, market). The method validates the chain, inverts IVs, calibrates the SVI parameters, and stores results on the instance.column_mapping if your DataFrame uses non-standard column names. The mapping direction is {"your_column": "oipd_column"}. See Standard columns for the target names:Query IV
Query IVs for any strike or array of strikes using either
implied_vol or the callable shorthand.Diagnostics
After fitting,
diagnostics returns a dictionary of calibration metrics such as RMSE. params returns the raw SVI parameter set {a, b, rho, m, sigma}.Prices and Greeks
vol.price uses the fitted smile to value options at arbitrary strikes. vol.greeks returns a DataFrame with columns strike, delta, gamma, vega, theta, and rho.Export and plot
iv_results returns a DataFrame with the fitted smile curve alongside observed market bid/ask/mid IVs for quality-checking the calibration.