Greek Calculation for Local Volatility Model

Calculation of the Greeks in the local volatility model is difficult because recalibrating the local volatility surface tends to result in high numerical error terms.

Greek Calculation for Local Volatility Model

Calculation of the Greeks in the local volatility model is difficult because recalibrating the local volatility surface tends to result in high numerical error terms. While this appears to be OK for first order Greeks, for higher order Greeks we are forced to make some approximations. Here is the full list of Greeks.

Delta – calculated by perturbing spot up and down by 0.1%, re-calibrating forwards and local vols, and using central finite difference approximation

Vega – calculated by perturbing volatility up and down, recalibrating local volatility surface, and using central finite difference approximation

SkewVega – calculated by perturbing skew, recalibrating local volatility surface, and using finite difference approximation

HedgeRho – calculated by bumping the yield curve used for forwarding, recalculating the forwards but not recalibrating the local volatility surface. As such this is an approximation, which assumes that dLocalVol/dHedgeRho is small (see https://finpricing.com/lib/FiZeroBond.html)

DiscountRho – calculated immediately when the payoff has a single known payment date. Otherwise calculated by bumping the curve and recalculating the discount factors within the grid. Note that the local volatility surface is unaffected by the discount rho and does not require calibration.

Gamma – Unfortunately gamma calculated by finite difference with recalibration off the volatility surface is not sufficiently stable. We therefore use an approximation. First note that

If we assume that the skew is linear then the final term vanishes. Next assume that the delta can be approximated as

Returning to gamma, and ignoring the final term (as discussed), we can write

alternatively

For the Vega and v-Vega terms on the r.h.s. we use the local-Vega and [local] v-Vega calculated by perturbing the local volatility surface. The “partial” delta and gamma terms are calculated directly off the finite difference grid.

Theta – we calculate theta from gamma using the Black-Scholes result

V-Vega – approximated by “local” v-Vega, whereby we bump the calibrated local volatility surface up and down and use finite difference approximation

dDelta/dVol – delta is calculated as above, and then again after perturbing the local volatility surface. We therefore have dDelta/d[Local]Vol rather than the true dDelta/dVol

dGamma/dVol – gamma is calculated as above, and then again after perturbing the local volatility surface. We therefore have dGamma/d[Local]Vol rather than the true dGamma/dVol

Last updated