Releases: Open-Lemma/options-implied-probability
Releases · Open-Lemma/options-implied-probability
OIPD v2.0.4
We made a no-code web interface!
- Check open-lemma.com
- And revamped the documentation to be much clearer
Thanks to our new contributors 👇 👇
A lot of bug fixes!
Probability Domain and CDF Improvements
- Added full-domain probability grids for
ProbCurveandProbSurface,
including smartgrid_points=Nonesizing and explicitfull_domain=True
exports/plots. - CDFs now use the 1st derivative of call-price instead of integrating
the PDF (which is itself a 2nd derivative) density_results()andplot()now default to compact, smooth view domains;
pointscontrols view resolution, whilegrid_pointscontrols native
numerical resolution.
Lazy Probability Materialization
- Added lazy probability materialization for
ProbCurveandProbSurface.
Probability objects store the fitted-volatility recipe first and
build price/PDF/CDF arrays only when queried, exported, or plotted. implied_distribution()now acceptsgrid_points=Noneand
cdf_violation_policy="warn".
Warning Diagnostics
- Added
warning_diagnosticsevents and summaries on public curve and surface
objects, with concise grouped warnings instead of repeated row/expiry noise. - Added warn-and-repair CDF monotonicity handling via
cdf_violation_policy="warn"; strict users can choose"raise". - Added diagnostics for stale quotes, price fallback, SVI butterfly risk,
skipped expiries, CDF repairs, and fan-chart skips.
Market Data, Forward Inference, and SVI Robustness
- Improved Black-76 put-call parity forward inference: nearest-ATM selection,
selected-subset outlier filtering, richer diagnostics, and no influence from
far-from-ATM pairs that merely pass validation. - Temporarily disabled the default bid/ask relative-spread gate; explicit
max_bid_ask_relative_spreadvalues still apply. - Added bid/ask-only ingestion, raw yfinance
spot handling, and lowercasevolumepreservation. - Fixed SVI weighting so reliable bid/ask spreads take precedence over volume,
with diagnostics for the chosen auxiliary weight source and fallback reason. - Simplified the public volatility/probability API by hiding legacy
Black-Scholes, Newton solver, and explicit dividend-input knobs; default fits
remain parity-forward Black-76.
OIPD v2.0.3
What's Changed
- Updated valuation_date and expiry date to accept timestamps, instead of just calendar dates
- This provides support for 0DTE options
Case study: spotting advanced knowledge trading 18min prior to Trump tweet
Trump announced a 90-day pause on most reciprocal tariffs on April 9, 2025. Reuters reports indications of advanced knowledge trading
- Trump announced tariffs at 1:18pm, moving the SPY price substantially
- we see abnormal implied distributions starting from 1pm, prior to his tweet
Notes:
- implied distributions of 0DTE April 9 2025 options
- 1m frequency SPY price downloaded using Alpaca free API
- free 1m options data from London Strategic
OIPD v2.0.2
Minor updates:
- Added DataFrame export methods for fitted results:
ProbCurve.density_results(domain=None, points=200)ProbSurface.density_results(domain=None, points=200, start=None, end=None, step_days=1)- extended
VolSurface.iv_results(domain=None, points=200, include_observed=True, start=None, end=None, step_days=1)
OIPD v2.0.1
OIPD v2: Overview of new capabilities
Previously in v1, OIPD generated the probability distribution of a future asset on a single future date.
OIPD has advanced in 2 directions:
- It computes the market's expectations about the probable future prices of an asset, based on information contained in options data.
- It provides an opinionated, end-to-end volatility surface fitting pipeline:
v2.0.1 Updates:
- Improved the theory of interpolating the probability surface. Probabilities can't be interpolated over time directly, only the volatility smiles can be interpolated linearly in total-variance space. So we've made the
ProbSurfaceuse the fittedVolSurfaceto directly - Bug fixes: Made the
tinput consistent everywhere (same domain requirements and same type requirements)
Special thanks everyone who contributed to the development of v2:
Thanks to everyone who has contributed code:
And special thanks for support on theory, implementation, or advisory:
- integral-alpha.com
- Jannic H., Chun H. H., and Melanie C.
- and others who prefer to go unnamed
OIPD v2.0.0
OIPD v2: Overview of new capabilities
Previously in v1, OIPD generated the probability distribution of a future asset on a single future date.
OIPD has advanced in 2 directions:
- It computes the market's expectations about the probable future prices of an asset, based on information contained in options data.
- It provides an opinionated, end-to-end volatility surface fitting pipeline:
Special thanks everyone who contributed to the development of v2:
Thanks to everyone who has contributed code:
And special thanks for support on theory, implementation, or advisory:
- integral-alpha.com
- Jannic H., Chun H. H., and Melanie C.
- and others who prefer to go unnamed
1.0 release!
What's Changed
New Contributors
- @elainechang362 made their first contribution in #63
Full Changelog: v0.0.6...v1.0.1


