44 lines
1.7 KiB
Markdown
44 lines
1.7 KiB
Markdown
# RND
| |||
| |||
Recovers the market's own probability distribution from an option chain, using
| |||
the Breeden-Litzenberger identity.
| |||
| |||
Companion code for the MQL5 article: https://www.mql5.com/en/articles/23788
| |||
| |||
## What it does
| |||
| |||
Option prices across strikes encode what the market thinks the distribution of
| |||
future prices looks like. Breeden-Litzenberger makes that precise: the second
| |||
derivative of call price with respect to strike is the risk-neutral density.
| |||
| |||
You cannot differentiate a real chain twice and get anything usable. Strikes are
| |||
sparse, quotes are noisy, and the second derivative amplifies both into garbage.
| |||
The article deals with that directly, which is most of the work here.
| |||
| |||
Once the density is reconstructed it can be read for what the market is pricing,
| |||
and compared against the realised distribution from historical returns. The gap
| |||
between the two is the risk premium, which `HistoricalDensity.mqh` supports.
| |||
| |||
The chain can come from a CSV or from native MetaTrader 5 options.
| |||
| |||
## Layout
| |||
| |||
```
| |||
Include/RND/BlackScholes.mqh pricing, inversion, the forward
| |||
Include/RND/RndCore.mqh density reconstruction
| |||
Include/RND/RndData.mqh chain handling
| |||
Include/RND/HistoricalDensity.mqh realised distribution and risk premium
| |||
Include/RND/RndProviderNative.mqh native MT5 options feed
| |||
Indicators/RND/RndProfile.mq5 the density plot
| |||
Files/RND/rnd_chain_sample.csv sample chain
| |||
Files/RND/rnd_chain_flatvol.csv flat-vol chain, as a sanity case
| |||
```
| |||
| |||
The flat-vol chain is the useful starting point: a known input whose output you
| |||
can check by eye.
| |||
| |||
## Disclaimer
| |||
| |||
Educational code. Past behaviour of any model or dataset says nothing about
| |||
future results. Test on your own data and broker conditions before drawing
| |||
conclusions.
|