options.wiki
Listed options - mechanics, payoffs, and conventions

Greeks

First and second-order sensitivities, with closed-form Black-Scholes-Merton expressions.

N() is the standard normal cumulative distribution function and phi() its density. Definitions below assume the Black-Scholes-Merton framework with continuous dividend yield q. Quoting conventions differ from mathematical definitions and are stated separately for each measure, because that mismatch is a common source of error.

Black-Scholes-Merton inputs

TermExpression
d1[ln(S/K) + (r - q + sigma^2/2)*T] / (sigma*sqrt(T))
d2d1 - sigma*sqrt(T)
Call valueS*exp(-q*T)*N(d1) - K*exp(-r*T)*N(d2)
Put valueK*exp(-r*T)*N(-d2) - S*exp(-q*T)*N(-d1)

Sensitivities

GreekDefinitionCallPutQuoted as
DeltadV/dSexp(-q*T)*N(d1)exp(-q*T)*(N(d1) - 1)Per 1.00 move in S. Range 0 to 1 for calls, -1 to 0 for puts.
Gammad2V/dS2exp(-q*T)*phi(d1) / (S*sigma*sqrt(T))Identical to callChange in delta per 1.00 move in S.
VegadV/dsigmaS*exp(-q*T)*phi(d1)*sqrt(T)Identical to callUsually divided by 100 and quoted per 1 volatility point.
ThetadV/dtNegative for long options, largest near ATM at expirySame sign conventionUsually divided by 365 and quoted per calendar day.
RhodV/drK*T*exp(-r*T)*N(d2)-K*T*exp(-r*T)*N(-d2)Usually divided by 100 and quoted per 1 percentage point.

Reference Greeks at fixed inputs, verified

Computed at S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25 from the closed forms above. Per-share figures; multiply by 100 for one standard contract. Vega is stated per one volatility point and theta per calendar day, matching quoting convention rather than the raw derivative. These are chosen inputs, not market observations.

Striked1d2CallPutDelta callDelta putGammaVega/ptTheta call/dayTheta put/dayRho call/pt
950.6629330.5629337.54591.60060.746313-0.2536870.0320240.160121-0.024899-0.0145920.167714
1000.1500000.0500004.48523.49020.559618-0.4403820.0394480.197240-0.027257-0.0164070.128691
105-0.337902-0.4379022.39096.34610.367719-0.6322810.0376810.188403-0.024415-0.0130220.085952

Position Greeks worked across multi-leg structures

Same inputs. One contract per leg, multiplier 100. Delta in share-equivalents, gamma in delta per 1.00 move, vega in dollars per volatility point, theta in dollars per calendar day. Each row is the signed sum of its legs and nothing else.

PositionValuePosition deltaPosition gammaPosition vegaPosition theta
Long 100 call+448.52+55.96+3.945+19.72-2.726
Short 100 call-448.52-55.96-3.945-19.72+2.726
Long 100 straddle+797.55+11.92+7.890+39.45-4.366
Bull call spread 100/105+209.44+19.19+0.177+0.884-0.284
Iron condor 90/95/105/110n/a, credit position-1.74-2.147-10.74+1.171
10 short 100 calls, delta-hedged with 560 sharesn/a+0.38-39.45-197.24+27.26

Second- and third-order Greeks in closed form

Every expression below was verified against a central finite difference of the corresponding first-order Greek at the reference inputs; the largest disagreement across all of them was 1.2e-07, on ultima, which is third order and therefore the noisiest to difference numerically. Charm, veta and colour are stated as derivatives with respect to calendar time t, so a positive number means the quantity increases as time passes. Vega and its derivatives are raw, not divided by 100.

GreekDefinitionClosed formIdentical for a call and a put
Vannad2V / (dS dsigma)minus exp(-q*T)*phi(d1)*d2/sigmaYes
Volga, also vommad2V / dsigma^2Vega*d1*d2/sigmaYes
Charmd2V / (dS dt), the drift of delta with timeCall: q*exp(-q*T)*N(d1) minus exp(-q*T)*phi(d1)*[2*(r-q)*T minus d2*sigma*sqrt(T)] / (2*T*sigma*sqrt(T)). Put: same second term, with minus q*exp(-q*T)*N(-d1) in place of the firstOnly when q = 0
VetadVega / dt, the drift of vega with timeS*exp(-q*T)*phi(d1)*sqrt(T)*[q + (r-q)*d1/(sigma*sqrt(T)) minus (1 + d1*d2)/(2*T)]Yes
Speedd3V / dS^3minus (Gamma/S)*(1 + d1/(sigma*sqrt(T)))Yes
ZommadGamma / dsigmaGamma*(d1*d2 minus 1)/sigmaYes
Colour, also colordGamma / dtGamma*[q + (r-q)*d1/(sigma*sqrt(T)) + (1 minus d1*d2)/(2*T)]Yes
Ultimad3V / dsigma^3minus (Vega/sigma^2)*[d1*d2*(1 minus d1*d2) + d1^2 + d2^2]Yes
Dual deltadV / dKCall: minus exp(-r*T)*N(d2). Put: exp(-r*T)*N(-d2)No
Dual gammad2V / dK^2exp(-r*T)*phi(d2)/(K*sigma*sqrt(T))Yes

Second- and third-order Greeks at the reference inputs, verified

S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. Per-share figures, raw units, computed from the closed forms above and cross-checked against finite differences. Charm is the call figure; at q = 0 the put figure is identical, because the difference between call and put delta is the constant exp(-q*T) and its time derivative is zero.

StrikeVannaVolgaCharmVetaSpeedZommaColourUltimaDual delta, callDual gamma
95minus 0.90137429.877514plus 0.232453minus 39.729219minus 0.002443minus 0.100366plus 0.048638minus 396.416260minus 0.7061630.035484
100minus 0.0986200.739649minus 0.118344minus 38.560355minus 0.000986minus 0.195760plus 0.080671minus 15.997986minus 0.5147650.039448
105plus 0.82501813.938743minus 0.480729minus 45.802465plus 0.000896minus 0.160525plus 0.059117minus 203.478793minus 0.3274380.034177

Position Greeks by structure at the reference inputs, verified

Every leg valued from Black-Scholes-Merton at S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25, one contract per leg, multiplier 100. These are model values at chosen inputs, not the stated premiums used in the payoff worked examples elsewhere on this site, so the value column will not match those dollar figures. Delta is in share-equivalents, gamma in delta per 1.00 move, vega in dollars per volatility point, theta in dollars per calendar day. Each row is the signed sum of its legs and nothing else.

StructureValuePosition deltaPosition gammaPosition vega per pointPosition theta per day
Long 100 callplus 448.52plus 55.96plus 3.9448plus 19.7240minus 2.7257
Long 100 putplus 349.02minus 44.04plus 3.9448plus 19.7240minus 1.6407
Long 100 straddleplus 797.55plus 11.92plus 7.8896plus 39.4479minus 4.3663
Short 95/105 strangleminus 399.15minus 11.40minus 6.9705minus 34.8523plus 3.9007
Bull call spread 100/105plus 209.44plus 19.19plus 0.1767plus 0.8837minus 0.2842
Bear call spread 100/105minus 209.44minus 19.19minus 0.1767minus 0.8837plus 0.2842
Bull put spread 95/100minus 188.96plus 18.67minus 0.7424minus 3.7119plus 0.1815
Long 95/100/105 call butterflyplus 96.63minus 0.52minus 0.9191minus 4.5956plus 0.5199
Iron butterfly 95/100/105minus 398.40minus 0.52minus 0.9191minus 4.5956plus 0.4657
Iron condor 90/95/105/110minus 226.96minus 1.74minus 2.1473minus 10.7364plus 1.1708
Long call condor 90/95/105/110plus 268.07minus 1.74minus 2.1473minus 10.7364plus 1.2251
Call ratio 1x2 100/105minus 29.65minus 17.58minus 3.5913minus 17.9565plus 2.1573
Collar, long 100 shares plus 95 put minus 105 callminus 79.03 on the optionsplus 37.86minus 0.5656minus 2.8282plus 0.9823
Box spread 100/110plus 990.050.000.00000.0000plus 0.1085
Jade lizard 90p/105c/110cminus 183.20minus 4.24minus 2.8118minus 14.0590plus 1.5671

Profit and loss attribution on one reprice, term by term

Long one K = 100 call. The move: S from 100 to 102, sigma from 0.20 to 0.22, and 7 calendar days elapse, so T goes from 0.25 to 0.230822. Value moves from 4.485236409 to 5.855752, an actual change of plus 1.370515 per share, plus 137.05 per contract. Terms are added in the order shown and the residual column is what is still unexplained after each one. Every figure recomputed.

TermExpressionContribution per shareCumulativeResidual
DeltaDelta*dS = 0.559618*2.00plus 1.11923538plus 1.11923538plus 0.25127974
Gamma0.5*Gamma*dS^2 = 0.5*0.039448*4.00plus 0.07889587plus 1.19813125plus 0.17238388
SpeedSpeed*dS^3/6minus 0.00131493plus 1.19681632plus 0.17369881
VegaVega*dsigma = 19.723967*0.02plus 0.39447933plus 1.59129565minus 0.22078052
Volga0.5*Volga*dsigma^2plus 0.00014793plus 1.59144358minus 0.22092845
ThetaTheta*dt = minus 9.948648*0.019178minus 0.19079599plus 1.40064759minus 0.03013246
VannaVanna*dS*dsigmaminus 0.00394479plus 1.39670280minus 0.02618767
CharmCharm*dS*dtminus 0.00453921plus 1.39216359minus 0.02164846
VetaVeta*dsigma*dtminus 0.01479027plus 1.37737331minus 0.00685818

Entries

Gamma and vega are identical for calls and puts

For the same strike, expiration, and underlying, a call and a put have identical gamma and identical vega. Only delta, theta, and rho differ. This follows directly from put-call parity, in which the difference between call and put value is linear in S and therefore has zero second derivative and no volatility sensitivity.

  • Practical consequence: a long straddle has roughly double the gamma and vega of either leg alone, and near-zero delta at the money.
  • It also means there is no gamma or vega reason to prefer a call over a put at the same strike. The choice is about delta, financing, and assignment.

Second-order Greeks

Cross-derivatives that matter for hedged books held over time.

FieldValue
Vannad2V/(dS dsigma) - how delta moves as volatility moves
Charm (delta decay)d2V/(dS dt) - how delta moves as time passes
Volga (vomma)d2V/dsigma2 - how vega moves as volatility moves
Speedd3V/dS3 - how gamma moves as S moves
  • Charm is why a delta-hedged book drifts out of hedge over a weekend with no price movement at all.
  • Volga is positive for long options, which is why long vega positions gain disproportionately in a volatility spike.

Also described at: Wikipedia · Wikidata

The theta-gamma relationship

In a delta-hedged Black-Scholes book, theta and gamma are two sides of one quantity. A long-gamma position pays theta; a short-gamma position collects it.

FieldValue
FormulaTheta + 0.5*sigma^2*S^2*Gamma + (r-q)*S*Delta - r*V = 0
WorkedS = 100, K = 100, T = 0.25, r = 0.04, q = 0, sigma = 0.20. Theta = -9.948648, 0.5*sigma^2*S^2*Gamma = 0.5*0.04*10000*0.039448 = 7.889587, (r-q)*S*Delta = 0.04*100*0.559618 = 2.238471, r*V = 0.04*4.485236 = 0.179409. Sum = -9.948648 + 7.889587 + 2.238471 - 0.179409 = 0.000000 to ten decimal places
  • This is the Black-Scholes PDE rearranged. It states that the time decay you pay is the fair price of the convexity you own.
  • A long-gamma book profits when realised volatility exceeds the implied volatility paid, and loses otherwise. That comparison, not direction, is the actual position.

Delta

The first derivative of option value with respect to the underlying price. It is both a hedge ratio and, for d2 rather than d1, a bridge to the risk-neutral probability of finishing in the money.

FieldValue
FormulaDelta_call = exp(-q*T)*N(d1); Delta_put = exp(-q*T)*(N(d1) - 1) = Delta_call - exp(-q*T)
Quoted asChange in option value per 1.00 change in S, per share
Range0 to exp(-q*T) for calls, -exp(-q*T) to 0 for puts
Put-call relationDelta_call - Delta_put = exp(-q*T)
Position deltasum over legs of qty * multiplier * Delta_leg
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. At K = 100: d1 = 0.150000, d2 = 0.050000, call = 4.4852, put = 3.4902. Delta_call = N(0.15) = 0.559618, Delta_put = -0.440382. Their difference is 1.000000, which equals exp(-0) as required. At K = 105: Delta_call = 0.367719. At K = 95: Delta_call = 0.746313
  • At-the-money delta is above 0.50 for a call, not equal to it, because d1 carries the plus sigma-squared-over-two drift term. In the worked case it is 0.5596.
  • Delta is a local slope. Using it to project a large move ignores gamma and will understate a long option and overstate a short one.
  • Delta is not the probability of finishing in the money. N(d2) is the risk-neutral probability; N(d1) is delta. In the worked case they are 0.5199 and 0.5596, a gap of nearly four points at the money.

Also described at: Wikipedia · Wikidata

Gamma

The second derivative of option value with respect to the underlying price, equivalently the first derivative of delta. It measures how fast a hedge goes stale.

FieldValue
FormulaGamma = exp(-q*T)*phi(d1) / (S*sigma*sqrt(T))
Quoted asChange in delta per 1.00 change in S
SignPositive for long options of either type, negative for short
Put-call relationIdentical for a call and a put at the same strike and expiry
Convexity valueValue change from a move dS is approximately Delta*dS + 0.5*Gamma*dS^2
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. At K = 100: phi(0.15) = 0.394479, Gamma = 0.394479 / (100 * 0.20 * 0.5) = 0.039448 per share. Position gamma for one long contract = 3.9448. A 1.00 move contributes 0.5 * 0.039448 * 1 = 0.019724 per share, 1.97 per contract. A 2.00 move contributes 7.89 per contract, four times as much for twice the move
  • Gamma scales with the square of the move, so the convexity term is negligible for small moves and dominant for large ones. That asymmetry is the entire economics of a long-gamma book.
  • Gamma is highest at the money and rises as expiry approaches, so an at-the-money short option is at its most dangerous on its last day.
  • Gamma falls as sigma rises: a higher volatility input spreads the density and flattens the peak. Short-gamma positions therefore look calmer in high-volatility inputs than they behave.

Also described at: Wikipedia · Wikidata

Theta

The derivative of option value with respect to the passage of time, holding S and sigma fixed. Long options have negative theta because extrinsic value must reach zero at expiry.

FieldValue
FormulaTheta_call = -S*exp(-q*T)*phi(d1)*sigma/(2*sqrt(T)) - r*K*exp(-r*T)*N(d2) + q*S*exp(-q*T)*N(d1)
Theta_put-S*exp(-q*T)*phi(d1)*sigma/(2*sqrt(T)) + r*K*exp(-r*T)*N(-d2) - q*S*exp(-q*T)*N(-d1)
Quoted asUsually divided by 365 and stated per calendar day
Decay over n daysApproximately n * Theta / 365, valid only while gamma is small over the interval
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. At K = 100: annual Theta_call = -9.9486, so the quoted per-day figure is -9.9486 / 365 = -0.027257 per share, -2.73 per contract. Theta_put annual = -5.9884, per day -0.016407. Over 25 days the linear estimate is 25 * 0.027257 = 0.6814. Repricing the call at T = 0.25 - 25/365 gives 3.7599 against 4.4852, an actual drop of 0.7253. The linear estimate understates the true decay by 0.0439, about 6 percent
  • Theta is not linear. Quoting a per-day figure and multiplying by the holding period understates decay for an at-the-money option, because theta itself grows as expiry approaches.
  • Call theta and put theta differ at the same strike because the interest terms carry opposite signs. In the worked case the call decays 66 percent faster than the put.
  • A deep in-the-money put can have positive theta once the interest term dominates, which is the same condition that makes early exercise rational.

Also described at: Wikipedia · Wikidata

Vega

The derivative of option value with respect to implied volatility. Not a Greek letter, and not a true partial derivative in any model where sigma is a constant, but the standard measure of volatility exposure.

FieldValue
FormulaVega = S*exp(-q*T)*phi(d1)*sqrt(T)
Quoted asDivided by 100 and stated per one volatility point
Put-call relationIdentical for a call and a put at the same strike and expiry
Scaling in timeProportional to sqrt(T), so a four-times-longer option has twice the vega
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. At K = 100: Vega = 100 * 0.394479 * 0.5 = 19.7240 in raw units, quoted as 0.197240 per volatility point per share, 19.72 per contract. Repricing the call at sigma = 0.21 gives 4.682511 against 4.485236, an actual change of 0.197274. The linear vega estimate is accurate to within 0.000034 for a one-point move
  • Vega is nearly exact for a one-point move and increasingly wrong for a large one, because volga makes vega itself a function of sigma.
  • Vega peaks slightly above the at-the-money strike and falls away on both wings, but the wings carry far more vega per dollar of premium.
  • A vega figure is meaningless without a term attached. One point of vega on a one-week option and one point on a one-year option are different exposures to the same headline number.

Also described at: Wikipedia · Wikidata

Rho

The derivative of option value with respect to the risk-free rate. Usually the smallest of the first-order Greeks for short-dated options and material for long-dated ones.

FieldValue
FormulaRho_call = K*T*exp(-r*T)*N(d2); Rho_put = -K*T*exp(-r*T)*N(-d2)
Quoted asDivided by 100 and stated per one percentage point of rate
SignPositive for calls, negative for puts
Scaling in timeRoughly proportional to T, so it grows faster with maturity than vega does
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. At K = 100: Rho_call = 100 * 0.25 * exp(-0.01) * 0.519939 = 12.8691 raw, quoted 0.128691 per percentage point per share, 12.87 per contract
  • Rho is the reason put-call parity implies a call is worth more than a put at the same at-the-money strike: in the worked case 4.4852 against 3.4902, a difference of 0.9950 which equals S - K*exp(-r*T) exactly.
  • For LEAPS-length options rho can exceed vega in dollar terms, so a rate move repricing a long-dated book is not a volatility event.

Also described at: Wikipedia · Wikidata

Delta-neutral hedge ratio

The quantity of the underlying required to bring net position delta to zero. It is a point-in-time figure that decays with charm and moves with gamma.

FieldValue
FormulaShares to hedge = -(sum over legs of qty * multiplier * Delta_leg)
For a short option positionBuy shares equal to multiplier * |Delta| * contracts
Rehedge trigger by movedS = dDelta_tolerance / Gamma
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. Ten short at-the-money 100 calls carry position delta = -10 * 100 * 0.559618 = -559.62, so a delta-neutral hedge is long 560 shares. Position gamma is -10 * 100 * 0.039448 = -39.45, so a 1.00 rise in S changes position delta by -39.45 and the hedge is 39 shares short of neutral
  • A hedge computed from delta alone is neutral at one price and one instant. Gamma tells you how fast that stops being true, and it is the only figure that sets a sensible rehedge band.
  • Rounding to whole shares leaves a residual delta. On a small position that residual can exceed the gamma exposure being managed.
  • Hedging with the underlying neutralises delta and leaves gamma, vega, and theta untouched. Only another option can hedge those.

Also described at: Wikipedia · Wikidata

Gamma scalping arithmetic

The mechanical result of rehedging a delta-neutral position as the underlying moves. Each rehedge realises the convexity term of the value change, and the sum of those realisations is set against theta paid.

FieldValue
FormulaRealised convexity per rehedge = 0.5 * Gamma * dS^2 per share
Over n independent moves0.5 * Gamma * sum(dS_i^2)
Breakeven condition0.5 * Gamma * sum(dS_i^2) = |Theta| * elapsed days / 365
Equivalent conditionrealised variance over the period exceeds the implied variance paid
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. Gamma = 0.039448 per share. A 1.00 round trip realises 0.5 * 0.039448 * 1 = 0.019724 per share, 1.97 per contract. Daily theta is 0.027257 per share, 2.73 per contract. So one 1.00 round trip per day recovers 72 percent of the day theta; the position needs about 1.18 of movement per day to break even, since 0.5 * 0.039448 * 1.18^2 = 0.027464
  • The breakeven move per day is proportional to the square root of theta over gamma, which is another statement of the implied-versus-realised comparison rather than a separate rule.
  • Realised convexity depends on the path, not the endpoint. A position can be flat on the day and have scalped a substantial amount, or move a long way in one gap and scalp almost nothing.
  • Every rehedge crosses a spread. The bid-ask cost of the rehedging programme is subtracted from the convexity, and at a tight rehedge band it can exceed it.

Aggregating Greeks across a multi-leg position

Greeks are additive across legs when each is expressed in the same units. Sum signed quantity times multiplier times the per-share Greek for every leg; there is no interaction term at first order.

FieldValue
FormulaPosition Greek = sum over legs of (signed qty) * multiplier * (per-share Greek)
Delta unitsShare-equivalents of the underlying
Gamma unitsChange in position delta per 1.00 move in S
Vega unitsDollars per volatility point
Theta unitsDollars per calendar day
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. One 100/105 bull call spread: value 4.4852 - 2.3909 = 2.0944 (209.44 debit). Position delta = 100 * (0.559618 - 0.367719) = 19.19. Gamma = 100 * (0.039448 - 0.037681) = 0.1767. Vega = 19.7240 - 18.8403 = 0.8837 dollars per point. Theta = 100 * (-9.9486 + 8.9113) / 365 = -0.2842 dollars per day. One 90/95/105/110 iron condor at the same inputs: delta -1.74, gamma -2.147, vega -10.74 dollars per point, theta +1.171 dollars per day
  • A spread cancels most of the gamma and vega of its legs while retaining most of the delta. In the worked case the vertical keeps 34 percent of the long leg delta and 4 percent of its gamma.
  • Legs in different expirations cannot be summed for vega without weighting. One point of vega in a one-week leg and one point in a six-month leg do not offset, because implied volatilities in different tenors do not move one for one.
  • Position theta on the iron condor is positive and position vega negative, which is the same trade viewed twice, not two separate exposures.

How each Greek behaves as spot, time and volatility move

The sign of each cross-effect, stated for a long option. Reverse every sign for a short position. These are the relationships that make a hedge decay without any trade being placed.

FieldValue
Delta vs SRises with S for a call, rises toward zero for a put; the rate is gamma
Delta vs TMoves toward 0.5 for an out-of-the-money call as T grows; the rate is charm
Delta vs sigmaOTM delta rises and ITM delta falls as sigma rises; the rate is vanna
Gamma vs SPeaks at the money and falls on both wings
Gamma vs TRises sharply as T falls for an at-the-money option; falls as T falls for a wing
Gamma vs sigmaFalls as sigma rises at the money
Vega vs TRises with sqrt(T)
Vega vs SPeaks near the money, falls on both wings
Vega vs sigmaRises for wings and falls at the money; the rate is volga
Theta vs TMagnitude rises as T falls for an at-the-money option
Theta vs sigmaMagnitude rises with sigma
Rho vs TMagnitude rises roughly linearly with T
  • The at-the-money and wing cases move in opposite directions for gamma and vega as expiry approaches. Any statement that begins "gamma rises into expiry" is true only at the money.
  • A position can lose money with S, sigma and the calendar all unchanged if the strike has moved relative to the money because the underlying moved earlier. The Greeks are recomputed, not carried forward.

Charm, vanna and volga in closed form

The three second-order cross-derivatives most often quoted on a hedged book, given for completeness alongside their definitions.

FieldValue
FormulaVanna = -exp(-q*T)*phi(d1)*d2/sigma; Volga = Vega*d1*d2/sigma
Vannad2V/(dS dsigma). Same for a call and a put at the same strike
Volga (vomma)d2V/dsigma^2. Same for a call and a put; positive when d1 and d2 share a sign
Charm (call)d2V/(dS dt), the drift of delta with time
Speedd3V/dS^3, the drift of gamma with S
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. At K = 100: d1 = 0.150000, d2 = 0.050000, phi(d1) = 0.394479, Vega = 19.7240 raw. Vanna = -0.394479 * 0.050000 / 0.20 = -0.098620 per share. Volga = 19.7240 * 0.150000 * 0.050000 / 0.20 = 0.739650 raw
  • Volga is zero where d1 and d2 straddle zero, which happens just below the at-the-money strike. Vega is locally flat in sigma there and a vega hedge is at its most stable.
  • Vanna is what makes a delta hedge on a skewed book directional in volatility rather than in price. A vanna-heavy position can be delta-flat and still lose on a pure volatility move.
  • Charm is why a delta-hedged book drifts out of hedge over a weekend with no price movement at all.

Also described at: Wikipedia · Wikidata

Speed, zomma, colour and ultima in closed form

The third-order sensitivities, given for completeness and because they are what a hedged book's Greeks do when the book is left alone. Each is the derivative of a second-order Greek with respect to one of the three moving inputs.

FieldValue
FormulaSpeed = minus (Gamma/S)*(1 + d1/(sigma*sqrt(T))); Zomma = Gamma*(d1*d2 - 1)/sigma; Colour = Gamma*[q + (r-q)*d1/(sigma*sqrt(T)) + (1 - d1*d2)/(2*T)]; Ultima = minus (Vega/sigma^2)*[d1*d2*(1 - d1*d2) + d1^2 + d2^2]
Speedd3V/dS^3, how gamma changes as S moves. Identical for a call and a put
ZommadGamma/dsigma, how gamma changes as volatility moves
ColourdGamma/dt, how gamma changes as time passes
Ultimad3V/dsigma^3, how volga changes as volatility moves
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. At K = 100: Gamma = 0.039448, Vega = 19.723967 raw, d1 = 0.150000, d2 = 0.050000. Speed = minus (0.039448/100)*(1 + 0.150000/0.100000) = minus 0.00098620. Zomma = 0.039448*(0.0075 - 1)/0.20 = minus 0.19576037. Colour = 0.039448*(0 + 0.04*0.150000/0.100000 + (1 - 0.0075)/0.50) = 0.039448*2.045 = plus 0.08067102. Ultima = minus (19.723967/0.04)*[0.0075*0.9925 + 0.0225 + 0.0025] = minus 15.99798599. Each was checked against a central finite difference of the corresponding second-order Greek; the largest deviation was 1.2e-07, on ultima
  • Colour is positive at the money, which is the arithmetic behind the statement that gamma rises into expiry. It is negative on a far wing, where gamma falls into expiry, so the statement is strike-specific and not general.
  • Speed is negative for a call struck at or below spot and positive above it. It changes sign near the strike where d1 crosses minus sigma*sqrt(T), which is why a gamma hedge behaves asymmetrically for equal moves up and down.
  • Zomma is negative at the money and positive on the wings, so raising the volatility input flattens the gamma profile. A short-gamma book therefore looks least dangerous in exactly the volatility regime where it is most dangerous.
  • Ultima is large and negative on a wing, minus 396 at the 95 strike against minus 16 at the money in the worked case. Vega hedging a wing with a linear vega estimate is unreliable for anything but a small volatility move.

Charm and veta: the Greeks of the calendar

Charm is the rate at which delta changes with the passage of time and veta the rate at which vega does. Both are the reason a book that traded nothing over a weekend comes back with different exposures than it left with.

FieldValue
FormulaCharm_call = q*exp(-q*T)*N(d1) - exp(-q*T)*phi(d1)*[2*(r-q)*T - d2*sigma*sqrt(T)] / (2*T*sigma*sqrt(T)); Veta = S*exp(-q*T)*phi(d1)*sqrt(T)*[q + (r-q)*d1/(sigma*sqrt(T)) - (1 + d1*d2)/(2*T)]
Sign conventionBoth stated per unit of calendar time t, so a negative figure means the quantity falls as time passes
Call versus put charmIdentical whenever q = 0, because Delta_call minus Delta_put equals exp(-q*T), a constant in time when q = 0
QuotingUsually divided by 365 and stated per calendar day, like theta
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. At K = 100: Charm = minus 0.118344 per year, so minus 0.00032423 of delta per calendar day, or minus 0.032423 share-equivalents per contract per day. Over a three-day weekend a delta-neutral hedge on 100 contracts drifts by 100*100*3*0.00032423 = 9.73 share-equivalents with no price movement at all. At K = 95 charm is plus 0.232453 and at K = 105 it is minus 0.480729, so the drift changes sign across the strike. Veta at K = 100 is minus 38.560355 per year in raw units, which is minus 0.10564481 per calendar day raw, or minus 0.00105645 per volatility point per day per share. Against a quoted vega of 0.197240 per point that is 0.5356 percent of the vega exposure lost per day at this tenor
  • Charm is why a wing hedge goes stale faster than an at-the-money hedge. At K = 105 the worked charm is four times the at-the-money figure.
  • Charm changes sign across the strike, so a symmetric strangle hedge drifts in one direction on one side and the other direction on the other. A single rehedge band applied to both sides is not symmetric in practice.
  • Veta is negative at the money for a long option, which means the vega you are paying for shrinks while you hold it. Comparing vega across two tenors without accounting for that overstates the longer-dated exposure over any holding period.

Also described at: Wikipedia · Wikidata

Dual delta and dual gamma: sensitivity to the strike

The derivatives with respect to K rather than S. They are not hedging quantities, because K is contractual, but they are the exact tool for pricing a strike-shift, for interpolating a value between two listed strikes, and for reading the implied terminal density off a strike curve.

FieldValue
FormulaDualDelta_call = minus exp(-r*T)*N(d2); DualDelta_put = exp(-r*T)*N(-d2); DualGamma = exp(-r*T)*phi(d2)/(K*sigma*sqrt(T))
Relation to the digitalminus DualDelta_call is exactly the value of a cash-or-nothing call paying 1.00 at the same strike
Relation to the implied densityDualGamma equals exp(-r*T) times the risk-neutral probability density of the terminal price at K, which is the Breeden-Litzenberger result
Butterfly arbitrage testDualGamma must be non-negative at every strike; a negative value implies a negative implied density and a butterfly arbitrage
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. At K = 100: DualDelta_call = minus exp(-0.01)*0.519939 = minus 0.514765, and the cash-or-nothing call at the same strike is 0.514765, matching exactly. DualDelta_put = plus 0.475285, and the two sum to minus 0.039480 which equals minus exp(-r*T)*(2*N(d2) - 1). DualGamma = exp(-0.01)*phi(0.050000)/(100*0.100000) = 0.039448. Note that dual gamma at K = 100 happens to equal gamma at K = 100 here to six decimals, which is a coincidence of S = K and not an identity. At K = 95 dual gamma is 0.035484 against a gamma of 0.032024, and at K = 105 it is 0.034177 against 0.037681. All four were checked against central finite differences in K, agreeing to within 2e-10
  • Dual gamma is the cleanest data-quality check on an option chain there is. Compute the second difference of mid prices across three adjacent strikes; a negative result means the chain cannot be arbitrage-free as quoted.
  • Interpolating a value between two listed strikes with dual delta is a first-order estimate and it understates a convex curve. Add half of dual gamma times the strike gap squared and the estimate is usually within a cent.
  • The identity between minus dual delta and the digital is why a tight vertical replicates a digital: differencing the call price in K is literally taking the derivative.

Source: Breeden and Litzenberger 1978

Vega is gamma times S squared times sigma times T

For any two options on the same underlying with the same expiration and the same volatility input, vega and gamma are the same number scaled by a strike-independent constant. That makes them the same exposure at one expiration, and it is why they cannot be hedged separately with same-expiry instruments.

FieldValue
FormulaVega = Gamma * S^2 * sigma * T, identically, for every strike at a given S, sigma and T
DerivationGamma = exp(-q*T)*phi(d1)/(S*sigma*sqrt(T)) and Vega = S*exp(-q*T)*phi(d1)*sqrt(T). Dividing gives Vega/Gamma = S^2*sigma*T, with phi(d1) cancelling
Consequence for hedgingA hedge matrix whose gamma row and vega row are built from one expiration is singular: the two rows are the same equation scaled by S^2*sigma*T
How to break itUse instruments in at least two expirations. The ratio is 500 at T = 0.25 and 1500 at T = 0.75 on the worked inputs
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. S^2*sigma*T = 10000*0.20*0.25 = 500.0000. At K = 95: Gamma 0.032024 and Vega 16.012096, ratio 500.00000000. At K = 100: 0.039448 and 19.723967, ratio 500.00000000. At K = 105: 0.037681 and 18.840253, ratio 500.00000000. Attempting to solve a three-by-three delta-gamma-vega hedge using two same-expiry options and shares fails with a zero pivot, which is the numerical signature of the same-equation-twice problem
  • This is the reason a calendar spread exists as a structure. Term is the only dimension along which gamma and vega separate.
  • A risk report that shows a large vega and a small gamma at a single expiration is showing a unit-conversion artefact, not two independent exposures. Divide vega by S-squared-sigma-T and check.
  • The proportionality holds under the model, at one volatility input. Once the surface has a term structure, the two exposures do separate economically even though they remain proportional strike by strike, because a one-point move in a near tenor and a one-point move in a far tenor are not the same event.

The profit and loss attribution identity, worked on a real reprice

A value change over a finite move is exactly reproduced by the Taylor expansion in the three moving inputs, and the residual after each term is what quantifies whether the next order matters. The identity is arithmetic, not an approximation to be trusted on faith, and it either closes or names the term that is missing.

FieldValue
FormuladV = Delta*dS + 0.5*Gamma*dS^2 + Speed*dS^3/6 + Vega*dsigma + 0.5*Volga*dsigma^2 + Theta*dt + Vanna*dS*dsigma + Charm*dS*dt + Veta*dsigma*dt + residual
Order of inclusion matters for readingThe residual after each term is the honest measure of that term's necessity. Adding terms out of order hides which one was doing the work
Where the residual goesRemaining terms are third order and higher in the mixed moves, plus the curvature of theta over the interval
WorkedLong one K = 100 call. S 100 to 102, sigma 0.20 to 0.22, 7 calendar days elapse so T goes 0.25 to 0.230822. Value 4.485236409 to 5.855752, actual change plus 1.370515. Delta term plus 1.11923538, residual plus 0.25127974. Add gamma plus 0.07889587, residual plus 0.17238388. Add speed minus 0.00131493, residual plus 0.17369881. Add vega plus 0.39447933, residual minus 0.22078052. Add volga plus 0.00014793, residual minus 0.22092845. Add theta minus 0.19079599, residual minus 0.03013246. Add vanna minus 0.00394479, residual minus 0.02618767. Add charm minus 0.00453921, residual minus 0.02164846. Add veta minus 0.01479027, residual minus 0.00685818, which is 0.50 percent of the move and 0.69 in dollars per contract
  • Delta and gamma together explain 87 percent of this move and leave 0.17 unexplained, which is larger than the entire theta term. Stopping at second order in S is the most common attribution error and it is not small.
  • The three calendar cross-terms, charm and veta, together account for 0.019 of the 0.030 residual left after the first-order terms. On a book held over a weekend they are not optional.
  • A residual that will not close is diagnostic. If it exceeds a percent of the move on a single vanilla option with no missing inputs, the inputs used for the two repricings differ in something other than what you think moved.

Delta, gamma and vega hedging as a linear system

Neutralising three exposures with three instruments is a three-by-three linear solve. Writing it that way makes two things visible that a leg-by-leg hedge hides: whether the system is solvable at all, and how much of the neutrality is destroyed by rounding to whole contracts.

FieldValue
FormulaA*x = minus g, where row i of A holds the per-contract delta, gamma and vega of each hedge instrument, x is the contract count of each, and g is the book's current delta, gamma and vega
SolvabilityA is singular whenever all option instruments share one expiration, because Vega = Gamma*S^2*sigma*T makes two rows proportional
Shares as an instrumentContribute delta 1 and nothing else, so the share column is (1, 0, 0) and shares can only ever close the delta row
Rounding costResidual exposure after rounding equals A times the rounding vector, and it is not small on a small position
WorkedBook: short 10 K = 100 T = 0.25 calls and short 5 K = 105 T = 0.50 calls at Reference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. Net exposures to neutralise: delta minus 783.192428, gamma minus 53.428721, vega minus 33704.7549 raw. Hedge instruments: K = 95 T = 0.25 call, per-contract delta 74.6313, gamma 3.202419, vega 1601.2096, vega-to-gamma ratio 500; K = 100 T = 0.75 call, per-contract delta 60.2494, gamma 2.226923, vega 3340.2830, ratio 1500; and shares. Solution: 14.501015 contracts of the first, 3.139133 of the second, and short 488.1683 shares. Residuals from the exact solve: delta 1.7e-13, gamma 4.4e-15, vega 0.0. Rounded to whole lots of 15, 3 and minus 488, the residuals become delta plus 29.0256, gamma plus 1.2881 and vega plus 334.2378 - so rounding leaves 3.7 percent of the original delta and 2.4 percent of the original gamma unhedged
  • The singularity is the whole reason a hedge needs two expirations. A trader who reaches for a second strike in the same expiration to fix a vega problem has not fixed anything, and the solver will say so with a zero pivot rather than a bad answer.
  • Rounding residual scales with the size of the hedge instruments, not with the size of the book. Hedging a small book with high-delta contracts leaves a proportionally larger residual than hedging a large one.
  • The solve is instantaneous and valid only at the current inputs. Every Greek in A is itself a function of S, sigma and t, so the system has to be re-formed, not re-used, after any material move.

Theta decomposed into its three terms

Call theta is the sum of three separately interpretable pieces: the decay of convexity, the interest on the discounted strike, and the dividend on the deferred stock. Splitting them explains why call and put theta differ at the same strike, and why a deep in-the-money put can have positive theta.

FieldValue
FormulaTheta_call = minus S*exp(-q*T)*phi(d1)*sigma/(2*sqrt(T)) minus r*K*exp(-r*T)*N(d2) plus q*S*exp(-q*T)*N(d1)
Term 1, the volatility termminus S*exp(-q*T)*phi(d1)*sigma/(2*sqrt(T)). Always negative for a long option, identical for a call and a put, and equal to minus 0.5*sigma^2*S^2*Gamma
Term 2, the rate termminus r*K*exp(-r*T)*N(d2) for a call, plus r*K*exp(-r*T)*N(-d2) for a put. Opposite signs, which is the entire call-put theta difference at q = 0
Term 3, the dividend termplus q*S*exp(-q*T)*N(d1) for a call, minus q*S*exp(-q*T)*N(-d1) for a put
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. At K = 100. Term 1 = minus 100*0.394479*0.20/(2*0.5) = minus 7.889587, and independently minus 0.5*0.04*10000*0.039448 = minus 7.889587, confirming the gamma identity. Term 2 for the call = minus 0.04*100*0.990050*0.519939 = minus 2.059061. Term 3 = 0 since q = 0. Total Theta_call = minus 9.948648, per day minus 0.027257. For the put, term 2 flips to plus 0.04*100*0.990050*0.480061 = plus 1.901139, giving Theta_put = minus 5.988449, per day minus 0.016407. The call decays 66.2 percent faster than the put, and the whole difference is 2.059061 plus 1.901139 = 3.960199, which equals r*K*exp(-r*T) = 3.960199 exactly
  • The call-put theta difference is exactly r*K*exp(-r*T) at any strike, any volatility and any moneyness when q = 0. It is a rate quantity, not a volatility quantity, and it does not depend on sigma at all.
  • Term 1 being minus 0.5*sigma^2*S^2*Gamma is the Black-Scholes partial differential equation showing through: the volatility part of theta is the price of the convexity, and nothing else in the formula is.
  • For a deep in-the-money put term 1 goes to zero while term 2 stays at plus r*K*exp(-r*T), so theta turns positive. That is the same condition that makes early exercise of the put rational, expressed as a Greek instead of as a comparison.

Pin risk quantified

As expiry approaches an at-the-money delta goes to a step function and gamma to an unbounded spike. Pin risk is the dollar consequence of that: a hedge computed at one price is wrong at a price a few cents away, and the assignment outcome is undetermined until after the close.

FieldValue
FormulaGamma at the money grows as 1/sqrt(T); the required hedge change over a move dS is 100*Gamma*dS share-equivalents per contract
Gamma scalingAt the money Gamma is proportional to 1/(S*sigma*sqrt(T)), so halving the remaining life multiplies it by sqrt(2)
Assignment ambiguityPer contract the exposure is the full multiplier of shares, present or absent, decided after the close
WorkedK = 100, r = 0.04, q = 0, sigma = 0.20. At 30 days to expiry with S = 100: delta 0.534270, gamma 0.069320. At 7 days: delta 0.516569, gamma 0.143914. At 1 day: delta 0.506264, gamma 0.381042 - gamma has risen 5.5 times over those 29 days. At 1 day the call delta moves from 0.468170 at S = 99.90 to 0.544263 at S = 100.10, so a 0.20 move changes the required hedge by 7.61 shares per contract and by 76 shares on 10 contracts. Against that, ten short contracts carry a 1,000-share assignment that is undetermined until the instruction cut-off: an unresolved 1,000-share position exposed to a 1.00 overnight gap is 1,000.00 of profit or loss, while the entire gamma exposure being hedged is 10*100*0.381042 = 381.04 of delta per point. The assignment ambiguity is 2.6 times the exposure the hedge is managing
  • The assignment uncertainty is larger than the hedging problem. The hedge error is measured in tens of shares; the assignment error is measured in whole multipliers, and it is binary.
  • A short at-the-money option at expiry is the only common position where the correct hedge cannot be computed, because it depends on an exercise decision that has not been made yet.
  • Closing the position rather than hedging it removes the uncertainty entirely, and its cost is one bid-ask spread on a contract whose spread is at its widest relative to its price. That trade-off is the whole of pin-risk management and it is arithmetic, not judgement.

Greeks of a box spread and of a synthetic: zero at every order

A box spread has no exposure to the underlying or to volatility at any order, because it is a bond. A synthetic long has a delta of exactly one and no gamma or vega. Both are useful precisely because their Greeks are known constants rather than model outputs.

FieldValue
FormulaBox(K1,K2) = C(K1) - C(K2) + P(K2) - P(K1) = (K2 - K1)*exp(-r*T); Synthetic long at K = C(K) - P(K) = S*exp(-q*T) - K*exp(-r*T)
Box delta, gamma, vegaAll exactly zero, since the value does not contain S or sigma
Box thetaplus r times the box value, because the discount unwinds. Per day, r*Value/365
Box rhominus T times the box value, the rho of a zero-coupon bond
Synthetic long GreeksDelta exp(-q*T), gamma 0, vega 0, theta minus r*K*exp(-r*T) plus q*S*exp(-q*T), rho K*T*exp(-r*T)
WorkedReference inputs used throughout this section: S = 100, r = 0.04, q = 0, sigma = 0.20, T = 0.25. These are inputs chosen to make the arithmetic checkable, not observations of any market. A 100/110 box built from the four model values: 4.485236 minus 1.140397 plus 10.045879 minus 3.490220 = 9.900498 per share, 990.05 per contract, and independently 10*exp(-0.01) = 9.900498. Position delta, gamma and vega all computed to 0.00 to eight decimals. Position theta = 0.04*990.05/365 = plus 0.1085 per day. The synthetic long at K = 100: 4.485236 minus 3.490220 = 0.995017, delta 100*(0.559618 plus 0.440382) = 100.00 share-equivalents exactly, gamma 0.0000, vega 0.0000
  • A box that shows any gamma or vega in a risk system has a leg mispriced, a wrong strike, or a stale mark. It is the fastest single check on a valuation feed.
  • The synthetic long delta of exactly one hundred share-equivalents per contract holds at every sigma and every moneyness. Any deviation is q, not error.
  • Box theta is positive and equals interest, which is the only sense in which a box decays. Describing it as a theta position confuses a financing accrual with option decay.

Reference data. Reviewed 2026-08-27. Machine-readable: /greeks.json. Corpus manifest: /llms.txt.

Published and maintained by · [email protected]. A reference published by the wallstreet.wiki network. Every figure is stated as a formula and recomputed from it, every convention names the authority that sets it, and corrections are versioned and dated. About this reference.

Reference information only. Not investment advice, not a recommendation, and not a solicitation. Options involve substantial risk of loss. Contract terms, margin requirements, and exchange rules change; confirm against the current OCC and exchange rulebooks and your broker's house requirements before trading.