Quant from Scratch by QuantWright

Options and Derivatives · Lesson 5

The Greeks

How much an option's price moves when one input moves a little. Delta, gamma, theta and vega, each worked out by formula and checked by repricing, and what a hedged owner gains and pays each day.

Know the basics? Read the lesson notes

One euro up

The Black–Scholes lesson priced a made-up call: the right, but not the duty, to buy a share for €105 (the strike) on one day a year from now. The share costs €100 today, interest is 5% a year, and the share's volatility, how widely its yearly returns typically spread, is 17.42%. The Black–Scholes formula, which prices such a call from those five inputs, gives €6.94. Every number in this lesson is made up.

Now the share rises by €1, to €101, and nothing else changes. What is the call worth?

The call rises less than the share. Below €105 it pays nothing, so a euro more today counts only partly: the formula gives about €7.49.
The formula gives about €7.49. The call pays only if the share ends above €105, so a euro on the share is worth only part of a euro to it.
It moves more than that: about €7.49. The rise makes ending above €105, where the call pays, clearly more likely.

The formula gives €7.4850, about €0.55 more: the answer is B.

How much the call's price moves per euro of the share's move is its delta. Delta and its relatives each measure how much the price moves when one input moves a little and the others stay put. They are called the Greeks, after the Greek letters most of them are named with.

Delta, two ways

The first way needs no new formula, only the price. Bump and reprice: move the share a little each way, price the call again at each, and divide the change in price by the change in share price.

At €99 the formula gives €6.4157; at €101, €7.4850. How much does the price change per euro, to four decimals?

Hint: from €99 to €101 the share moves €2. Divide the change in price by 2.

(7.4850 − 6.4157) ÷ 2 = 1.0693 ÷ 2 = 0.5347.
The price changes by 7.4850 − 6.4157 = 1.0693 while the share moves €2, so per euro it is 1.0693 ÷ 2 = 0.5347.

The second way is a formula. Recall N(d1) from the Black–Scholes lesson: the bell curve's area to the left of d1, a number between 0 and 1. Delta = N(d1), the part of the Black–Scholes formula that the last lesson called the shares in the copy (the shares and loan that reproduce the call's payoff): 0.5347. The two agree, as they should. The copy has to move like the call, so it holds as many shares as the call moves per euro.

The call's price against the share's price (made-up inputs)

Dots: the prices at €100 minus and plus the bump. Dashed: the line through them, whose steepness is the bump's estimate of delta.

Line's steepness–
N(d1)–

Drag the bump smaller. At €20 the line's steepness is 0.5178; from €0.50 down it reads 0.5347. Delta is the slope of the price curve at today's price: the steepness of the line that just touches the curve there.

Gamma: how fast delta moves

Delta is not fixed. Far below the strike the call is almost sure to pay nothing, and a euro on the share barely moves it: delta near 0. Far above, it moves almost euro for euro with the share: delta near 1. In between, delta climbs. How fast it climbs, the change in delta per euro of share price, is gamma.

Where is gamma largest?

Near the strike (here a little below it) the call is least decided between paying and not, so each euro shifts delta most.
Far below, delta stays near 0 for many euros, so it barely changes: gamma is small. It is largest near the strike, where the call is least decided.
Far above, delta stays near 1, so it barely changes: gamma is small. It is largest near the strike, where the call is least decided.

Price and delta as the share's price moves (made-up inputs)

Top: the call's price, with the line that just touches it. Bottom: delta. Gamma is how steeply the bottom curve climbs.

Delta, formula–
Delta, bump–
Gamma, formula–
Gamma, bump–

Gamma peaks a little below the strike (here €95.6). At €100 it is 0.0228: one euro up should take delta to about 0.5347 + 0.0228 = 0.5575, and the formula's delta at €101 is 0.5573. Bump and reprice checks gamma the same way as delta, with delta in place of the price; the ledger shows both.

How far a slope reaches

Delta alone predicts a straight line: after a move of m euros, the price changes by about delta × m. But delta changes along the way, by gamma × m by the end of the move, so on average delta is off by half that. The correction is ½ × gamma × m².

For a €10 rise, the line gives 6.94 + 0.5347 × 10 = €12.29, and the correction is ½ × 0.0228 × 10² = 1.14. What is the estimate with both, in euros?

Hint: add the two: 12.29 + 1.14.

12.29 + 1.14 = €13.43.
The line's €12.29 plus the correction's €1.14 makes €13.43.

The formula gives €13.35 at €110: the line alone is €1.06 short, the line plus the correction €0.08 over.

The call's price after a move, and two estimates from today's Greeks (made-up inputs)

Orange: the formula's price. Dashed: delta's line. Grey: the line plus ½ × gamma × move².

Formula–
Delta's line–
Line + correction–

Drag to a €20 fall. The line predicts 6.94 − 0.5347 × 20 = −€3.75, a price below 0, which no call can have, since the worst it can pay is nothing. With the correction, €0.81; the formula, €0.74. The Greeks are slopes at one point: good for small moves, worse for large ones, delta alone worst.

Theta: the cost of waiting

Now leave the share at €100 and let one day pass. The call has a day less in which to end above €105, and the formula gives €6.9232, against €6.9389 today (shown to four decimals): 0.0157 euros less. The change in price as time passes is theta. Here it is −€0.0157 a day, the same by the theta formula and by repricing a day later (to four decimals); per year, × 365, it is −€5.73.

Same share price, but a month left instead of a year. Does the call lose more or less a day?

It is worth less, about €0.52, but loses more a day: −€0.0252. Each day is a bigger part of the little time left in which the share could climb past €105.
A day matters more when few are left: with a month to go the call loses €0.0252 a day, against €0.0157 with a year.
−€0.0252 a day against −€0.0157 with a year: each day is a bigger part of the little time left in which the share could climb past €105.

The call's price as its last day comes closer (made-up inputs)

Orange: the price by share price. Dashed: what the call pays on its last day. Dot: the share at €100.

Price at €100–
Theta a day, formula–
A day later, repriced–

Drag the days down. The curve sinks toward the dashed payoff.

Vega: the price of uncertainty

The last input to move is the volatility. The change in price per percentage point of volatility is vega (not a Greek letter, despite the family name). By its formula vega is €0.3974 a point, and repricing at 17.43% and 17.41% agrees to four decimals. More volatility raises the price because the call gains from big rises and loses nothing extra from big falls.

If the volatility rose two points, to 19.42%, what would vega predict for the call's price, in euros?

Hint: today's €6.94 plus 2 × 0.3974.

6.94 + 2 × 0.3974 = 6.94 + 0.79 = €7.73.
Two points at €0.3974 a point add €0.79: 6.94 + 0.79 = €7.73.

The formula gives €7.73 too: near these inputs, the price moves almost in a straight line with the volatility.

For the precise: rho, the fifth Greek

Rho is the change in price per point of the interest rate. For this call it is about €0.4431 a point: higher interest shrinks PV(K), the strike's value today, which helps a call. With the rate written as in this course, PV(K) = K ÷ (1 + r)T, rho per 1.00 of r is T·PV(K)·N(d2) ÷ (1 + r); textbooks that write PV(K) = Ke−rT drop the ÷ (1 + r). Checked by bump and reprice in the lesson's script.

Theory

The Greeks of a European call

Each Greek is a slope of the Black–Scholes price: its change per small move of one input, with the others held fixed (in calculus, a partial derivative). Together they estimate the change in price when the inputs move a little. Below, φ(x) is the bell curve's height at x, as N(x) is its area to the left of x, and PV(K) is the strike's value today.

Δ = N(d1)  ·  Γ = φ(d1) ÷ (Sσ√T)  ·  vega = Sφ(d1)√T
Θ = −Sφ(d1)σ ÷ (2√T) − rc·PV(K)·N(d2)
change in price ≈ Δ·m + ½Γ·m² + Θ·t + vega·s
Δ, Γ, Θ
delta, gamma and theta of a European call (one that can be used only on its last day): delta per euro of share price, gamma per euro, theta per year (÷ 365 for a day)
vega
per 1.00 of volatility (÷ 100 for a percentage point)
φ(x)
the bell curve's height at x: e−x²/2 ÷ √(2π)
rc
the yearly rate r written as a continuous rate, ln(1 + r): 0.0488 for 5%
m, t, s
small changes: the share's move in euros, the years that pass (t in years), the change in volatility (s as a decimal: 0.02 for two points)
S, K, T, σ
the share's price today, the strike, the years left, the volatility
d1, d2, N, PV(K)
as in the Black–Scholes formula: d1 = [ln(S ÷ PV(K)) + ½σ²T] ÷ (σ√T), d2 = d1 − σ√T, PV(K) = K ÷ (1 + r)T
Worked example: the call on this page

d1 = 0.0871, φ(0.0871) = 0.3974, N(d1) = 0.5347, N(d2) = 0.4653, PV(K) = 100.

Δ = 0.5347. Γ = 0.3974 ÷ (100 × 0.1742 × 1) = 0.0228. Vega = 100 × 0.3974 × 1 = 39.74, so €0.3974 a point (the same digits as φ(d1) only because S = 100 and T = 1 here). Θ = −100 × 0.3974 × 0.1742 ÷ 2 − 0.0488 × 100 × 0.4653 = −3.46 − 2.27 = −€5.73 a year, ÷ 365 = −€0.0157 a day. Each matches bump and reprice to four decimals.

Holds when
  • the Black–Scholes model holds: fixed, known volatility; a log price moving as a random walk (a running total of random up-or-down steps) with no jumps; free trading at one interest rate;
  • the changes are small, for the estimate on the third line.
Breaks when

Moves are large (a €20 fall: delta's line said −€3.75, the formula €0.74), or the model's price itself is wrong: in a world with fatter tails (more very large moves than the bell curve allows), the Black–Scholes lesson found the formula's price off, and its slopes are slopes of that price. The lesson "Implied volatility and the smile" picks this up.

The situationA made-up share is at €110. A European call has a strike of €105, a year to go, interest 5% and volatility 20%. Its d1 = 0.5766 and φ(d1) = 0.3379.

What is the call's gamma, to four decimals?

Hint: φ(d1) ÷ (S × σ × √T), with S = 110, σ = 0.2, T = 1.

0.3379 ÷ (110 × 0.2 × 1) = 0.3379 ÷ 22 = 0.0154: one euro up raises this call's delta by about 0.0154.
Γ = φ(d1) ÷ (Sσ√T) = 0.3379 ÷ (110 × 0.2 × 1) = 0.3379 ÷ 22 = 0.0154. The volatility goes in as 0.2, not 20.

Gamma and theta: two sides of one trade

A hedge is a holding that cancels a risk. An owner of the call can hedge it by selling 0.5347 shares (borrowed and sold, a short sale). For a small move, the shares then lose what the call gains, or gain what it loses, at the rate of delta. What is left is the correction from earlier, ½ × gamma × m², which is positive whichever way the share moves.

Waiting costs theta, €0.0157 a day. The owner's cash, €53.47 from the shares sold minus €6.94 for the call, is €46.53. At the continuous rate 4.88% (the theory card's rc) it earns €0.0062 a day, which leaves €0.0095 a day to pay. So the owner gains on a day when ½ × 0.0228 × m² is more than €0.0095. Setting them equal gives m² = 0.83, m = €0.91.

That is one day's standard deviation (one typical day's move) in the model: 100 × 0.1742 × √(1 ÷ 365) = €0.91. The match is exact in this model, because there the gain ½ × gamma × m² equals the day's cost exactly when m is one day's standard deviation. A bell curve puts about 68.3% of days within one standard deviation of the middle, and the rest outside it.

Draw 10,000 days as the model says, and reprice the hedged owner each day with the formula. On what share of days does the owner gain?

Fewer: a gain needs a move bigger than one daily standard deviation, and a bell curve lands that far from its middle only about a third of the time.
A gain needs a move bigger than one daily standard deviation. A bell curve puts about 68.3% of days within one standard deviation of the middle, so 31.7% fall outside.
Most days are quiet, and on a quiet day the correction is smaller than the €0.0095 that waiting costs, so the owner loses a little.

One hedged day, 10,000 simulated times (made-up inputs; first 1,000 days drawn)

Each dot: one day's share move and the hedged position's gain or loss, repriced with the formula, before costs. Curve: ½ × gamma × move² minus €0.0095. Black = day with a loss; orange = day with a gain.

Days with a gain–
Days with a loss–
Average a day–

In this simulation the owner gained on 3,166 of 10,000 days, 31.7%, and lost on 6,834. The average was −€0.0001 a day: about 0.

For the precise: the average's error bar

Two standard errors either side of the average (a standard error is how far an average of that many days typically lands from the long-run value): −€0.0003 to €0.0002, which contains 0.

Press Seller. Whoever sold the call and holds the shares against it has the opposite: small gains on about 2 days in 3, larger losses on the rest. Gamma is what the owner buys; theta is what the owner pays for it. In the model, on average, the two balance, before costs. The next lesson, "Delta hedging: where the P&L comes from", follows the hedge, and its profit and loss, through a whole year.

What the Greeks assume

The situationA made-up risk report on this call reads: "Delta 0.5347. If the share falls €20 overnight, the call loses 0.5347 × 20 = €10.69."

The call is worth €6.94. What is wrong with the report?

Delta is the loss per euro only for small moves. Over a €20 fall it shrinks toward 0, and a €10.69 loss on a €6.94 call is impossible: the formula gives €0.74 at €80.
Volatility has its own Greek, vega. The problem is the size of the move: delta is a slope at €100 and shrinks as the share falls, so the formula's price at €80 is €0.74.
Delta falls toward 0 as the share falls, so the call loses less with each euro. The formula gives €0.74 at €80, a loss of €6.20, not €10.69.

Two more assumptions sit inside every Greek on this page. Each is a slope of the model's price, so it carries the model's world: fixed volatility, no jumps, free trading. Where the model's price is wrong, as for the far strike in the Black–Scholes lesson's fat-tailed world (one with more very large moves than the bell curve allows), its slopes are not the real ones either. And each Greek holds the other inputs still. When two move at once, the estimate adds their parts, which works only for small changes.

Practice 1 of 4

A put's delta

The situationA friend holds a European put, the right to sell the same made-up share for €105 on the same day. By put–call parity (from the lesson "What no-arbitrage forbids: option bounds and put–call parity"), the put is worth the call minus the share plus the strike's value today: P = C − S + PV(K), with PV(K) = €100.

If the share rises by a small amount, the put's price falls. By how much per euro, to four decimals?

Hint: per euro on the share, C moves by its delta, S by 1, and PV(K) not at all.

0.5347 − 1 = −0.4653: the put falls 0.4653 per euro, so its delta is −0.4653. Its gamma is the call's, 0.0228, since PV(K) doesn't move with the share.
Per euro, the call moves 0.5347 and the share 1, so the put moves 0.5347 − 1 = −0.4653: it falls 0.4653. That is the put's delta, −0.4653.
Practice 2 of 4

A small move on a new call

The situationA made-up share is at €50. A European call has a strike of €50, half a year to go, interest 5% and volatility 30%. The formula gives a price of €4.80, delta 0.5875 and gamma 0.0367.

The share rises €2. Using delta and gamma, what is the call's new price, in euros?

Hint: 4.80 + delta × 2 + ½ × gamma × 2².

0.5875 × 2 = 1.175 and ½ × 0.0367 × 4 = 0.073, so 4.80 + 1.175 + 0.073 = €6.05. The formula at €52 gives €6.05 too: €2 is a small move here.
Delta's part: 0.5875 × 2 = 1.175. Gamma's: ½ × 0.0367 × 2² = 0.073. New price: 4.80 + 1.175 + 0.073 = €6.05. (Delta alone gives €5.98.)
Practice 3 of 4

Vega on a new call

The situationThe theory card's call: a made-up share at €110, a European call with a strike of €105, a year to go, interest 5%, volatility 20%, and φ(d1) = 0.3379.

If the volatility rises by one percentage point, to 21%, by how much does vega say the call's price rises, in euros (to four decimals)?

Hint: vega = S × φ(d1) × √T per 1.00 of volatility; divide by 100 for one point.

110 × 0.3379 × 1 = 37.17 per 1.00 of volatility, so €0.3717 a point (€0.3716 from the unrounded φ).
Vega = 110 × 0.3379 × √1 = 37.17 per 1.00 of volatility. One point is 0.01 of that: €0.3717.
Practice 4 of 4

Two days in three

The situationA made-up course seller writes: "Our plan sells options and hedges them with delta every day. It made money on 68% of days. That's an edge."

Judging by this lesson's simulation, what does winning on about two days in three show on its own?

In the simulated model world, the hedged seller gained on 6,834 of 10,000 days and averaged about 0 before costs: small gains from theta most days, larger losses on big moves. A share of winning days says nothing about the average.
In the simulated model world, where no one has an edge, the hedged seller gained on 6,834 of 10,000 days: theta pays a little on quiet days, gamma costs more on big ones, and the average was about 0.
A count of past winning days says nothing about future volatility. In the simulation the hedged seller gained on 6,834 of 10,000 days with an average of about 0.
✓

Lesson done

In the Black–Scholes model, each Greek is a slope of an option's price: its change for a small move in one input, the others held fixed. For this lesson's call, delta was 0.5347, gamma 0.0228, theta −€0.0157 a day and vega €0.3974 a point, and each agreed with bump and reprice. An owner hedged with delta (who sells delta shares against the call) gains from moves (gamma) and pays for waiting (theta); in this lesson's simulation of the model it gained on 3,166 of 10,000 days and averaged about 0, before costs. The Greeks describe small changes inside the model; a large move or a world with fatter tails is outside what they promise.

Key ideas

The Greeks
measures of how much an option's price moves when one input moves a little and the others stay put
Delta (Δ)
the change in an option's price per euro of the share's price; for a European call in the Black–Scholes model, N(d1), the shares in the copy
Gamma (Γ)
the change in delta per euro of the share's price; for a European call in the Black–Scholes model, largest with the share near the strike (for this lesson's call, a little below it, at €95.6)
Theta (Θ)
the change in an option's price as time passes, the others fixed; for a European call in the Black–Scholes model, negative
Vega
the change in an option's price per point of volatility; for a European call in the Black–Scholes model, positive
Bump and reprice
estimating a Greek by moving one input a little, pricing again, and dividing the change in price by the move
Hedge
a holding that cancels a risk, such as selling delta shares against a call you own
φ(x)
the bell curve's height at x: e−x²/2 ÷ √(2π)

Δ = N(d1)  ·  Γ = φ(d1) ÷ (Sσ√T)  ·  vega = Sφ(d1)√T

Θ = −Sφ(d1)σ ÷ (2√T) − rc·PV(K)·N(d2)

change in price ≈ Δ·m + ½Γ·m² + Θ·t + vega·s, for small changes

Lesson notes

In the Black–Scholes model, the Greeks are the slopes of an option's price: how much it moves when one input (the share's price, the time left, the volatility, the interest rate) moves a little and the others stay put. Each can be worked out two ways, by its formula and by moving the input a little and repricing, and the two agree. A call's owner who sells delta shares against it gains from the share's moves (gamma) and pays for waiting (theta); in this lesson's simulation of the model those balanced on average, before costs. The Greeks describe small changes inside the model, not large moves or a different world. Every number is made up or simulated.

One euro up: delta

A made-up European call (the right, not the duty, to buy a share for €105, the strike, on one day a year away) on a share at €100, with interest 5% a year and volatility (how widely the share's yearly returns typically spread) 17.42%, is worth €6.94 by the Black–Scholes formula. With the share €1 higher it is worth €7.4850, about €0.55 more: below €105 the call pays nothing, so a euro on the share counts only partly. The price's change per euro of the share is the call's delta.

Bump and reprice finds it without a new formula: at €99 the price is €6.4157, so (7.4850 − 6.4157) ÷ 2 = 0.5347 per euro. The formula is delta = N(d1) = 0.5347, where N(d1) is the bell curve's area to the left of d1, a number between 0 and 1, from the Black–Scholes formula; it is the shares in the copy (the shares and loan that reproduce the call's payoff), which must move like the call. With a €20 bump either way the estimate is 0.5178; from €0.50 down it matches 0.5347 to four decimals. Delta is the slope of the price curve at today's price.

Gamma, and how far a slope reaches

Gamma is the change in delta per euro of the share. Far below the strike delta stays near 0, far above near 1, so gamma is largest a little below the strike (here €95.6). At €100 it is 0.0228, and the formula's delta at €101 is 0.5573, close to 0.5347 + 0.0228.

Because delta changes along a move of m euros, by gamma × m by its end, the estimate is delta × m + ½ × gamma × m². For a €10 rise: 0.5347 × 10 = 5.35 and ½ × 0.0228 × 100 = 1.14, so €12.29 from delta alone and €13.43 with both, against the formula's €13.35. For a €20 fall delta alone gives −€3.75, a price below 0, which no call can have; with gamma €0.81; the formula €0.74.

Theta and vega

Theta is the change in price as time passes. A day later, with the share still at €100, the call is worth €6.9232, against €6.9389 today (to four decimals): theta is −€0.0157 a day by formula and by repricing, −€5.73 a year. With a month left instead of a year, it loses more a day, −€0.0252, since each day is a bigger part of the time left.

Vega is the change in price per point of volatility: €0.3974 here, by formula and by repricing. Two points more, to 19.42%, predicts 6.94 + 0.79 = €7.73, and the formula gives €7.73. More volatility raises a call's price because it gains from big rises and loses nothing extra from big falls.

Gamma and theta: two sides of one trade

An owner of the call who sells 0.5347 shares against it holds a hedge, a holding that cancels a risk: for a small move the shares cancel the call's delta part, leaving ½ × gamma × m², a gain whichever way the share moves. The owner's cash, 53.47 − 6.94 = €46.53, earns €0.0062 a day at the continuous rate 4.88%, which leaves €0.0095 a day of theta to pay. Setting ½ × 0.0228 × m² = 0.0095 gives m² = 0.83, m = €0.91: the owner gains on days when the share moves more than that either way. That is one daily standard deviation in the model, S × σ × √(1 ÷ 365) = 100 × 0.1742 × √(1 ÷ 365); the match is exact in this model.

In 10,000 simulated days drawn as the model says, each repriced with the formula, the hedged owner gained on 3,166 and lost on 6,834; the average was −€0.0001 a day, error bar (two standard errors either side; a standard error is how far an average of that many days typically lands from the long-run value) −€0.0003 to €0.0002, before costs. A bell curve puts about 68.3% of days within one standard deviation of the middle, so 31.7% fall outside. A hedged seller has the opposite: small gains on about two days in three and larger losses on the rest, with the same average of about 0 in this simulation.

What the Greeks assume

Each Greek is a slope at one point, so it describes small changes: a €20 fall makes delta's line say €10.69 lost on a €6.94 call. Each is a slope of the model's price, so it carries the model's world (fixed volatility, no jumps, free trading); where that price is wrong, as for a far strike in a world with fatter tails, its slopes are not the real ones. Each holds the other inputs still; adding their parts works only for small changes.

Formula: the Greeks of a European call

In the Black–Scholes model, each Greek is the change in a European call's price per small change of one input, the others held fixed (a partial derivative); together they estimate a small change in price (Holds when, below).

Δ = N(d1)  ·  Γ = φ(d1) ÷ (Sσ√T)  ·  vega = Sφ(d1)√T
Θ = −Sφ(d1)σ ÷ (2√T) − rc·PV(K)·N(d2)
change in price ≈ Δ·m + ½Γ·m² + Θ·t + vega·s
Δ, Γ, Θ
delta per euro of share price, gamma per euro, theta per year (÷ 365 for a day)
vega
per 1.00 of volatility (÷ 100 for a point)
φ(x)
the bell curve's height at x: e−x²/2 ÷ √(2π)
rc
ln(1 + r), the yearly rate as a continuous rate: 0.0488 for 5%
m, t, s
small changes in the share's price (euros), the time (years) and the volatility (as a decimal: 0.02 for two points)
S, K, T, σ
the share's price, the strike, the years left, the volatility
d1, d2, N, PV(K)
d1 = [ln(S ÷ PV(K)) + ½σ²T] ÷ (σ√T), d2 = d1 − σ√T; N(x) the bell curve's area left of x; PV(K) = K ÷ (1 + r)T, the strike's value today
Worked example

S = 100, PV(K) = 100, σ = 0.1742, T = 1: d1 = 0.0871, φ(d1) = 0.3974, N(d2) = 0.4653. Δ = 0.5347; Γ = 0.3974 ÷ 17.42 = 0.0228; vega = 39.74, €0.3974 a point (the same digits as φ(d1) only because S = 100 and T = 1); Θ = −3.46 − 2.27 = −€5.73 a year, −€0.0157 a day. Each matches bump and reprice to four decimals.

Holds whenBreaks when

Moves are large (a €20 fall: −€3.75 from delta alone against the formula's €0.74), or the model's price is itself wrong, as in a world with fatter tails (more very large moves than the bell curve allows), where its slopes are slopes of a wrong price.

One more worked example

New made-up numbers

A share at €60; a European call with a strike of €57.75 and a year to go; interest 5%; σ = 30%. PV(K) = 57.75 ÷ 1.05 = €55, d1 = 0.4400, d2 = 0.1400, and the formula's price is €9.64.

Δ = N(0.44) = 0.6700. φ(0.44) = e−0.0968 ÷ 2.5066 = 0.3621, so Γ = 0.3621 ÷ (60 × 0.3) = 0.0201, and vega = 60 × 0.3621 = 21.73, or €0.2173 a point. Θ = −60 × 0.3621 × 0.3 ÷ 2 − 0.0488 × 55 × N(0.14) = −3.26 − 1.49 = −€4.75 a year, about −€0.0130 a day (N(0.14) = 0.5557).

If the share rises €3: 9.64 + 0.67 × 3 + ½ × 0.0201 × 9 = 9.64 + 2.01 + 0.09 = €11.74, and the formula at €63 gives €11.74.

Common mistakes

Check yourself

  1. A call is worth €4.20 with the share at €49 and €5.30 with it at €51. Estimate its delta by bump and reprice.
    Answer

    (5.30 − 4.20) ÷ (51 − 49) = 1.10 ÷ 2 = 0.55 per euro.

  2. A call has delta 0.40 and gamma 0.02, and is worth €3.00. The share rises €5. Estimate the new price with delta alone and with delta and gamma.
    Answer

    Delta alone: 3.00 + 0.40 × 5 = €5.00. With gamma: 5.00 + ½ × 0.02 × 25 = 5.00 + 0.25 = €5.25.

  3. For the lesson's call (share €100, strike €105, a year, 5%, volatility 17.42%), what is the put's delta, if the put has the same strike and last day? (Uses put–call parity, P = C − S + PV(K).)
    Answer

    Per euro on the share, the call moves 0.5347, the share 1 and PV(K) not at all, so the put's delta is 0.5347 − 1 = −0.4653.

  4. Why does an owner of the lesson's call, hedged with delta (selling 0.5347 shares against it), gain only on days when the share moves more than about €0.91?
    Answer

    After the shares cancel the delta part, the day's gain from the move is ½ × 0.0228 × m², while waiting costs €0.0095 a day beyond what the cash's interest pays. The two are equal when m is about €0.91, one daily standard deviation in the model.

Try it yourself

Run the script. Every number in this lesson comes from one Python script with a fixed random seed (below). It works out each Greek by formula and by bump and reprice and stops if they disagree. Change the strike, the volatility or the time left, and see which numbers move.

Work it out by hand. Find d1 as in the Black–Scholes formula, φ(d1) with a calculator, then the four formulas. To check one, price the call with a spreadsheet's NORM.S.DIST(x, TRUE) at two nearby inputs and divide the change in price by the change in the input.

The code behind every number (Python, seed 2026111171)
Loading…
For the precise: the bumps, the equation behind gamma and theta, and the simulation

The bumps. Delta: [C(S + h) − C(S − h)] ÷ 2h; gamma: [C(S + h) − 2C(S) + C(S − h)] ÷ h², with h = €0.01; vega with σ ± 0.0001; theta as the price a day later minus today's. The script checks the formulas against the bumps on a grid of share prices from €60 to €140, times from a week to two years and volatilities from 10% to 60%; every gap was below 0.0001, and the put's delta and gamma from parity matched bumps of the put's own price.

The equation. On the same grid the script checks Θ + rc·S·Δ + ½σ²S²Γ = rc·C, the Black–Scholes equation, to within 10−10. For a delta-hedged call it says the theta not paid by the cash's interest equals ½σ²S²Γ: here ½ × 0.1742² × 100² × 0.0228 = €3.46 a year, the €0.0095 a day.

The simulation. Seed 2026111171, generator default_rng([seed, 1]); 10,000 standard normal draws Z; the end-of-day price 100 × exp((rc − σ²÷2) ÷ 365 + σ√(1÷365)·Z), so the share grows on average at the interest rate, the world the formula prices in, in which the hedged day's average is exactly 0. The largest gain was €0.2344 (the largest move €4.57), the largest loss €0.0095; the estimate ½Γm² − 0.0095 was within €0.007 of the exact repricing on every day. 3,156 days moved more than €0.91 either way.

Honest notes

Where this comes from