Capabilities
OIPD provides two tightly integrated capabilities in a single library:- Probability extraction — compute the full risk-neutral PDF and CDF over future asset prices, query tail probabilities (
prob_below,prob_above), quantiles, skew, and kurtosis. - Volatility modeling — fit single-expiry SVI smiles and multi-expiry total-variance surfaces for pricing and risk work, evaluate implied volatilities, price options, and compute Greeks.
Core objects
OIPD organises everything around four classes, arranged by scope (single expiry vs. a time horizon) and layer (volatility vs. probability):| Scope | Volatility layer | Probability layer |
|---|---|---|
| Single future date | VolCurve | ProbCurve |
| Future time horizon | VolSurface | ProbSurface |
VolCurve and ProbCurve when you care about one expiry date. Use VolSurface and ProbSurface when you want to reason across multiple maturities simultaneously — for example, to build a probability fan chart over the next 12 months.
Workflow
OIPD is similar to a scikit-learn workflow. Every OIPD estimator follows the same three-step lifecycle:- Configure — instantiate the estimator object with any model parameters.
- Fit — call
.fit(chain, market)(or the convenience factoryfrom_chain) to calibrate the model to your data. - Query — call methods on the fitted object to extract implied volatilities, probabilities, quantiles, plots, and diagnostics.
Next steps
Quickstart
Compute your first market-implied probability distribution in under five minutes using live options data from yfinance.
Installation
Install OIPD with pip and understand the standard vs. minimal dependency sets.
Core concepts
Dive deeper into the four core objects, the volatility-to-probability pipeline, and the warning diagnostics system.
API reference
Full reference for every public method on OIPD’s classes, including parameters, return types, and examples.