Vanilla options
Greeks, trees and the smile
Three things worth being precise about: what the greeks actually look like as the spot moves, why one binomial tree is far better than another that looks almost identical on paper, and what the market charges for downside protection.
Loading the model
Python, NumPy and SciPy are being started in your browser. Around 30 MB the first time, cached afterwards.
Two trees, one of them much better
A Cox-Ross-Rubinstein tree converges, but it oscillates on the way: adding steps can make it worse. Whether a terminal node happens to land on the strike keeps changing, and that is what the jagged orange line is.
Leisen-Reimer builds its up and down moves from d1 and d2 so the strike always sits on a node. The line is straight, twice as steep, and 101 steps beat CRR with 1010.
| Expiry | Days | Strikes | At-the-money vol |
|---|
Reading the smile
Volatility falls as the strike rises. Puts below the forward are bid up because everyone wants protection and few want to sell it, so they trade at a higher implied volatility than calls above the forward. The slope is steepest at a few days and flattens out by a month, which is the term structure of skew.
Only out-of-the-money options are inverted: puts below the forward, calls above. That is what the market quotes, and it is what keeps the picture readable. An in-the-money option has almost no vega, so a one-tick error in its price moves the implied volatility by several points, and inverting the full chain produces a smile that jumps between 20% and 50% for no economic reason.
This is also the gap in the autocall page. That model uses a single flat volatility, while its capital barrier sits far down in the expensive left-hand part of this curve. Flat volatility therefore understates the cost of the downside, and makes the note look better than it is.
Full source and 32 tests at github.com/Nicolas8330/option-pricer.