Choosing Finite-Difference Bumps for Monte Carlo Option Greeks
Summary
The document discusses estimating exotic option Greeks by bumping model inputs and repricing in Monte Carlo, with central differences preferred for many sensitivities. The question is whether bumps expressed as percentages of spot or volatility are inappropriate compared with small absolute increments. An accepted answer says percentage-based bumps, such as a fraction of spot, are commonly used, and notes that practitioners may use different difference schemes for different Greeks.
The key limitation is Monte Carlo noise: bumps that are too small can make estimated sensitivities unstable, even when small bumps work well in closed-form Black–Scholes repricing. The answer recommends checking a complex pricing engine against vanilla options with known Black–Scholes prices and Greeks. It points to established references but offers no universal optimal bump size; the appropriate choice depends on the model, sensitivity, and simulation noise.
Key ideas
- Finite-difference Greeks are estimated by repricing after perturbing inputs such as spot or volatility.
- Percentage-based bumps are a commonly used choice and are not inherently invalid.
- Central differences are often used for delta-like sensitivities, while vega may use a forward difference.
- Very small bumps can amplify Monte Carlo numerical noise.
- Comparing vanilla prices and Greeks with Black–Scholes provides a useful engine check.
Tags
Full text
# Calculating greeks by finite difference in MC simulation # Calculating greeks by finite difference in MC simulation I am calculating greeks for exotic options with finite difference in a MC simulation, overall preferring central difference to forward difference. I compute the small changes in share price and volatility as a percentage of the original share price and volatility, say I add/deduct 0.5%-1.0% to the original value and run the simulations with this new value. For example: ``` S_up = S0 * (1 + delta_S) vola_up = sigma * (1 + delta_sigma) where delta_S and delta_sigma are percentages of 0.5% to 1% ``` With this method I tend to get quite close to the greeks stated by QuantLib. However out of curiosity I asked ChatGPT, Claude and Gemini and they all told me that this way of calculating greeks is wrong and that I should set an absolute and smaller amount rather than a percentage. When I tried to run simulations by adding/deducting a fixed amount (much smaller than the amount that I end up adding/deducting using a percentage), the resulting greeks are way off. My question: is the percentage method really wrong for a MC simulation? ## Answer by AKdemy (score 1, accepted) https://quant.stackexchange.com/a/80523 P. Glasserman. Monte Carlo Methods in Financial Engineering, 2010 as well as M. Henrard. Sensitivity computation. OpenGamma (July 2014) are commonly referenced sources when it comes to shift sizes. It's often suggested to use something like 1% of spot: shift=spot∗1%/2 For example, the below screenshot shows what Bloomberg's DLIB pricing engine uses by default . Vega is frequently computed with forward difference. Delta etc with central difference, as discussed in this answer. In general, when assessing any complex pricing engine, it is helpful to price vanilla options and compare to closed form Black Scholes for pricing and Greeks. If you bump and reprice black Scholes closed form, a small bump or large bump makes little difference (unless you reach the limits of machine precision), as shown here. With MC, you will run into numerical issues if the bump is too small. . https://quant.stackexchange.com/a/63663/54838 has some details and explains the distinction between Model and Market Greeks. It's best to ignore LLMs for good, otherwise you'll think SABR stands for the initials of the models creators, of which one is Mr. SABR himself, and another one Hirakazu Hagan.
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.