Skip to content
All library documents

Choosing Finite Difference Steps for Option Gamma

Article Quant Q&A · Author: galaxyan

Summary

The document discusses estimating option gamma with a central second difference and choosing the underlying price shock, h. The estimate is an approximation, so h should not be reverse-engineered to force agreement with a market gamma. A small step is a reasonable starting point, but the appropriate choice depends on the smoothness and numerical stability of the pricing model.

For validation, compare the finite difference estimate with gamma calculated analytically under Black-Scholes, then reduce h progressively and check whether the estimate converges. The response also highlights that repricing after an underlying move may require changing dependent inputs, such as implied volatility, rather than holding every parameter fixed. A separate answer notes that noisy present values can make very small shocks unstable, so a somewhat larger step or evidence from hedging performance may be more useful. The document offers guidance rather than a universal optimal step size, and leaves the precise shock choice model- and asset-dependent.

Key ideas

  • A central second difference approximates gamma and does not equal it exactly for finite h.
  • Validate the implementation against analytical Black-Scholes gamma and examine convergence as h shrinks.
  • Numerical noise in model valuations can make a very small shock unreliable.
  • Decide which inputs change when the underlying is shocked, especially implied volatility.
  • The useful step size depends on the asset, model smoothness, and intended application.

Tags

Full text
# calculate gamma value using finite difference method


# calculate gamma value using finite difference method












I try to use the finite difference method to get the approximately gamma value, but there is an issue I can't solve.

First, I set $h$ to 1 basis point of underlying asset value, but the result is not right; then I use market value of gamma find $h$ to compare it with my original setting. I found the different value of underlying assets give different h. For example, to get market gamma, 500 underlying asset should set h to 0.35 basis point of underlying value and 20 underlying asset should set h to 0.58 basis point of underlying value.

How to set the step size(h) for the finite difference method? I wonder if there is a $h$ to optimal result.

The formula I used:

```
   f(x)'' = (f(x+h)-2*f(x)+f(x-h ))/h^2
```

## Answer by vanguard2k (score 4, accepted)

https://quant.stackexchange.com/a/12610

The problem with your formula is the equation sign $=$. The second order finite difference is only an approximation to the true gamma:

$$ f^{\prime \prime}(x) \approx \frac{f(x+h)-2f(x)+f(x-h)}{h^2}. $$ $h$ can not be a result. Ideally, it should be small (whatever that means), so your original choice of $1\text{bp}$ seems appropriate for this approximation.

To test the approximation, I would calculate the theoretical option Gammma from the BS-Model, then the approximation for smaller and smaller values of $h$. If it converges, the implementation is correct. Then, you can worry about other, more subtle, things.

Probabtly one of the more subtle points in this context is the notation. It is unclear what is meant by $f(x+h)$. For a simple approximation of a smooth functions derivative, everything is clear. Since we know that with a price increase, at least the implied volatility will change as well (as the moneyness of the option changes). Departing from the black-scholes-framework for some it might be more appropriate to calculate something like this:

$$ f^{\prime \prime}(x) \approx \frac{f_{\text{up}}(x+h)-2f(x)+f_{\text{down}}(x-h)}{h^2}. $$ where $f_{\text{up}}$ and $f_{\text{down}}$ are different from $f$. Simply because the other parameters of the pricing function implicitly depend on the (changed) stock price.

## Answer by Helin (score 2)

https://quant.stackexchange.com/a/12613

I'd say that the shock size depends on the situation/asset. If your model produces somewhat noisy PVs, it is advisable to use a slightly larger $h$ to avoid numerical issues. You may also want to base your decision on empirical hedging performance. This may or may not help, but most bond index providers (Citi/Barclays) use a shock size of 25bp when reporting effective durations & convexities.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.