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