30 min

The Greeks: an option's dashboard

Delta, gamma, theta and vega are finite differences on the pricer: nudge one input, reprice, and read off how the position will behave before the market moves. Implied volatility is the pricer's volatility input run backwards - the volatility the market's own price implies - and IV crush is what happens when it collapses under you.

Where you are. You have a pricer. A desk does not manage prices, though; it manages exposures, and it needs to know how a position will behave before the market moves rather than after. Module 4 answered exactly this question for bonds with one number, measured by nudging. Options need four, measured the same way.

The position that is fine until it is not

A trader is short a hundred calls, and the market has been quiet for weeks. The position earns a little every day as time passes, and it has cost nothing.

Then the price rises three percent in a morning. The loss is much larger than three percent of anything, and it is accelerating: the second percent hurt more than the first, and the third more than the second.

Nothing about the position changed. What changed is that its sensitivity to the price is not constant - it grows as the price rises - and that behaviour was fully measurable before the morning started. It has a name, and knowing it is the difference between a bad day and a career-ending one.

The idea in one paragraph

The Greeks are the sensitivities of an option’s price to the things that move it, and each one is measured the same way: nudge one input, reprice, take the difference. Delta is sensitivity to the underlying’s price, and it doubles as the hedge ratio - hold delta units of the underlying and small price moves cancel out. Gamma is how fast delta itself changes, which is why a hedge that was correct this morning is wrong by lunchtime. Vega is sensitivity to volatility, which matters because volatility is the one input nobody can observe. Theta is the cost of a day passing, which is negative for a buyer and positive for a writer. Together they are a dashboard: four numbers that say how a position will behave in every direction that matters, computed before anything happens.

Measured, not derived

The exercise computes all four by finite difference on the tree from lesson 6, exactly as module 4 measured duration on the bond pricer.

Delta comes from repricing half a point either side of the spot. Gamma from the curvature across the same three points. Vega from nudging volatility by a point. Theta from advancing the clock a single day.

The assertions check the properties a correct implementation must have: delta near one deep in the money and near zero deep out, gamma largest at the money, vega positive because more volatility is worth more, and theta negative because the buyer is paying for time that is running out.

image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 60 80 100 120 140 spot (strike is 100) 0.0 0.2 0.4 0.6 0.8 delta, with gamma scaled to fit delta: 0 to 1, steepest at the money gamma (scaled): a hump over the strike
Delta across the strike, with gamma's hump showing where delta changes fastest

Drag spot, volatility and days to expiry and all four numbers recompute from the same tree. Without JavaScript, the shape is the one the exercise prints: at the money with a year to run, delta sits near 0.55, gamma is at its largest, vega is strongly positive and theta is a small daily cost. Move deep in the money and delta approaches one while gamma collapses towards zero - the option starts behaving like the underlying itself. Move to a few days from expiry and gamma explodes at the strike, which is the trader’s most dangerous configuration.

The input nobody can see

Every input to the pricer is observable except one. The spot price is on the screen, the strike and expiry are in the contract, the rate is quoted. Volatility is a statement about the future, and nobody has that.

So the market inverts the problem. Rather than arguing about what volatility to assume, take the price the option is actually trading at and solve for the volatility that would produce it. That number is what the market collectively believes, expressed as a single figure, and it is what options are quoted in.

Check yourself

1. A short call position loses more on the third percent of a price rise than on the first. Which Greek describes that, and what does it mean for hedging?

Gamma. Delta itself is growing as the price rises, so each further move costs more than the last. For hedging it means a delta hedge is only correct instantaneously: with meaningful gamma, the hedge must be adjusted continuously, and the adjustments themselves cost money.

2. Delta is described as both a sensitivity and a hedge ratio. Why are those the same number?

Because delta says how much the option’s value moves per unit move in the underlying. Holding that many units of the underlying, in the opposite direction, produces an offsetting change of the same size, so small moves cancel. The sensitivity and the amount needed to neutralise it are necessarily identical.

3. Why does the market quote implied volatility instead of a price?

Because volatility is the only input that is genuinely a matter of opinion - everything else is observable - so quoting it isolates the disagreement. It also makes options with different strikes and expiries comparable, which raw premiums are not.

4. You buy calls before an announcement, the price moves your way, and you lose money. What happened?

Implied volatility collapsed once the uncertainty was resolved, and the premium was mostly a price on that uncertainty. The gain from delta was smaller than the loss from vega. Being right about direction is not sufficient when you have paid for volatility that then disappears.

Do this

Measure all four and check the shapes.

python3 code/greeks.py

The starter leaves you greeks, computing each sensitivity by nudging one input on the lesson-6 pricer and repricing: delta and gamma from the spot either side, vega from a point of volatility, theta from one day of the clock. The assertions bracket the at-the-money delta, check gamma is positive and largest at the money, and confirm vega is positive while theta is negative. Success prints the dashboard at three moneyness levels and the line:

every number came from nudging one input and repricing: the same finite difference module 4 used for duration

The completed version is in solutions/greeks.py.

What you can now do. You can measure how an option position will behave before anything happens, explain why a hedge must be maintained rather than set, and read implied volatility as the market’s opinion rather than a fact. The next lesson stops treating options one at a time and starts combining them.

What you can now do

You can measure all four sensitivities by finite difference and read a position's behaviour before the market moves.