Volatility Smile Explorer
This a work in progress, but it will eventually cover the Black-Scholes model, its assumptions, and how they lead to the volatility smile, with python code examples to illustrate the concepts.
The Foundations of the Volatility Smile
Why does the volatility smile exist? It emerges from the gap between the elegant assumptions of the Black-Scholes model and the complex realities of financial markets.
The Black-Scholes formula for pricing a European call option is:
$$ C(S, t) = S\Phi(d_1) - Ke^{-r(T - t)}\Phi(d_2) $$where
$$ d_1 = \frac{\ln\frac{S}{K} + (r + \frac{\sigma^2}{2})(T - t)}{\sigma\sqrt{T - t}}, \quad d_2 = d_1 - \sigma\sqrt{T - t} $$However, the assumption of constant volatility ($\sigma$) fails empirically. Observed market prices suggest volatility depends on strike price ($K$) and maturity ($T$), thus forming the "smile."
Black-Scholes Assumptions
Click on each one to see how it compares to market reality.
Market Reality
Click an assumption on the left to see the corresponding market reality.
Interactive Calculators
Go from theory to practice. Use these tools to calculate an option's price using the Black-Scholes formula or find the implied volatility from a market price.
Black-Scholes Pricer
Implied Volatility Solver
Smile Across the Markets
The volatility smile isn't one-size-fits-all. Explore the characteristic patterns for equities, foreign exchange, and fixed income.
Interactive Playground
Adjust market parameters to generate and visualize your own 2D volatility smiles and 3D surfaces.
Select at least one maturity and click a button to generate a visualization.