Skip to main content
OIPD (Options Implied Probability Distribution) turns raw options chain data into actionable market intelligence. By fitting an arbitrage-free implied volatility surface and deriving the risk-neutral probability measure, OIPD tells you what the options market believes about the future price of any publicly traded asset — expressed as a full probability distribution, not just a point estimate.

Quick Start

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.

What you can do with OIPD

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 full multi-expiry SSVI surfaces, evaluate implied vols, price options, and compute Greeks
1

Install the library

pip install oipd
2

Fetch live options data

from oipd import sources

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

Compute the probability distribution

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 market-implied probabilities

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

Probability Guides

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

Volatility Guides

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.

Warning Diagnostics

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