Skip to main content
OIPD (Options Implied Probability Distribution) turns raw options chain data into price-implied risk-neutral probability distributions. It fits SVI volatility smiles, links maturities with total-variance interpolation, and lets you query the distribution implied by option prices under OIPD’s pricing assumptions.

Quickstart

Compute your first market-implied probability distribution in under five minutes using live options data.

Installation

Install OIPD via pip and configure your Python environment for options analysis.

Core concepts

Understand the four core objects — VolCurve, VolSurface, ProbCurve, ProbSurface — and how they fit together.

API reference

Full reference for every public method on OIPD’s classes, including parameters, return types, and examples.

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, quantiles, and distributional moments
  • Volatility modeling — fit single-expiry SVI smiles and multi-expiry surfaces with total-variance interpolation, evaluate implied vols, price options, and compute Greeks
1

Install

pip install oipd
2

Fetch data

from oipd import sources

expiries = sources.list_expiry_dates("AAPL")
chain, snapshot = sources.fetch_chain("AAPL", expiries=expiries[1])
3

Fit

from oipd import MarketInputs, ProbCurve

market = MarketInputs(
    valuation_date=snapshot.asof,
    underlying_price=snapshot.underlying_price,
    risk_free_rate=0.04,
)
prob = ProbCurve.from_chain(chain, market)
4

Query

prob.prob_below(200)   # P(price < 200)
prob.quantile(0.50)    # median implied price
prob.plot()            # visualize the full distribution

Probability

Step-by-step walkthroughs for computing probability distributions on a single expiry or across a full time horizon.

Volatility

Learn how to fit implied volatility smiles and surfaces for pricing and risk work.

Data sources

Connect OIPD to live market data via yfinance, or load your own data from CSV or DataFrame.

Warnings

Understand how OIPD surfaces data quality issues and model risk through structured diagnostics.