Risk-neutral probability density is the full implied probability distribution of the underlying’s price at a future expiry, extracted from option prices. It tells you not just where the market expects price to land (the mean / mode) but the full shape of expectations — including skew toward downside crashes or upside squeezes.Documentation Index
Fetch the complete documentation index at: https://docs.backquant.com/llms.txt
Use this file to discover all available pages before exploring further.
The intuition
Breeden and Litzenberger (1978) showed that the shape of an option chain — specifically the way call prices respond to strike — implicitly encodes the market’s probability distribution for the underlying at expiry. We do the heavy lifting on our side and return a clean, normalised PDF over the strike grid for every active expiry. You get the distribution directly. No surface-fitting, no numerical differentiation, no boundary-handling. Plot it, integrate it, sample percentiles from it.What you get from /v2/options/probability/density
For every active expiry, the endpoint
returns:
| Field | Meaning |
|---|---|
pdf | Probability density per strike (un-normalized — sum × strike spacing ≈ 1) |
pdf_normalized | PDF divided by total mass, sums to 1 over the strike grid |
cdf_below | Cumulative probability P(price < strike) — monotone non-decreasing |
cdf_above | Survival function P(price > strike) = 1 − cdf_below |
mean | Expected price at expiry under the risk-neutral measure |
mode | Most likely single price (peak of the PDF) |
std | Standard deviation in price units |
skewness | Distribution skew — negative = downside-skewed (crash risk priced in) |
kurtosis | Tail-fatness — > 3 means fat tails, < 3 means thin |
prob_25 / 50 / 75 | The 25th / 50th / 75th percentile prices |
Confidence bands — the easiest way to use this
Pass?confidence_band=0.68 (≈ 1σ) or ?confidence_band=0.95 (≈ 2σ)
and each expiry payload gets an extra block:
lower and upper are the price levels containing 68% (or 95%) of the
implied probability mass, computed by interpolating the CDF. Use these
directly as range bounds in dashboards or mean-reversion strategies.
Filtering
?expiry=28MAR25— slice to a single expiry token (case-insensitive)?dte_max=30— drop expiries beyond N days, focus on the front
How traders use it
Identifying skew: askewness of -0.5 on the next monthly means the
market is paying up for downside protection. Often a contrarian buy
signal when extreme.
Sizing risk: a confidence_band at 95% gives you the implied 2σ
range. Position sizing that assumes a tighter range is taking a vol
view; sizing that assumes wider is hedged.
Strike selection: looking at the PDF for the next monthly, you can
see where the “shoulders” of the distribution are — strikes with
elevated PDF density that aren’t the mode. These are often the strikes
where dealer hedging clusters and worth knowing for execution.
Comparing expiries: the term structure of std (per-expiry vol) and
skewness (per-expiry crash risk) tells you whether the market is
pricing volatility expansion or compression over the next few weeks.
What it isn’t
- Not a forecast. Risk-neutral probabilities differ from real-world probabilities by the risk premium. A 70% RN probability of upside doesn’t mean a 70% real-world chance.
- Not infinitely smooth. The underlying chain can be sparse for far-OTM strikes, so the tails of the PDF are noisier than the body. Use the body for sizing decisions; treat the tails as informational.
- Not free. It’s computationally heavy. The endpoint is cached at the worker layer — refreshed every 30s, not real-time.
See also
- 3D surface:
/v2/options/probability/surfacereturns the same PDF aligned across all expiries on a unified strike grid, suitable for 3D visualisation.
Related concepts
The IV suite
The IV surface that underpins this density extraction.
Max pain
A simpler scalar measure of “where price wants to be” at expiry.
Greeks beyond delta
Vanna and charm shape how the PDF evolves between now and expiry.
