Choosing Finite-Difference Bumps for Monte Carlo Vega
Summary
The document explains how to estimate option Vega by bumping volatility and repricing, with examples involving multi-leg baskets and calendar spreads. Vega is a local sensitivity, so a one percentage point volatility move is a finite shock rather than a universal definition of the Greek. A forward difference reprices after an upward bump, while a central difference compares prices after upward and downward bumps; the latter generally has lower truncation error, though implementations often use a one-sided volatility shift.
For Monte Carlo estimates, bump size must balance finite-difference bias against simulation noise: very small shifts can produce price changes obscured by sampling error, while large shifts may poorly approximate a local derivative. The appropriate size depends on the model and simulation count. The discussion also distinguishes market Vega, obtained by bumping a volatility surface with calibration choices, from model Vega, obtained by changing model parameters. It recommends checking estimates against closed-form or external benchmarks where available.
Key ideas
- Vega is a local derivative, and a one percentage point volatility bump is a finite shock convention.
- A central difference uses prices on both sides of the base volatility, while a forward difference uses an upward bump.
- Monte Carlo noise and finite-difference truncation error jointly determine a useful bump size.
- Market Vega and model Vega differ in which inputs are perturbed and whether calibration is repeated.
Tags
Full text
# Finite Differences Vega calculation - confirmation on proper approach
# Finite Differences Vega calculation - confirmation on proper approach
I have a MC simulation that uses finite differences to calculate the Greeks. It's for baskets and calendar spreads mostly.
Now the logical (to me anyway) approach to calculate Vega is to increase the input volatility by 1% (annual vol) for each leg (leg1 Vega: leg1 vol + 1%, leg2 Vega: leg2 vol + 1%, etc.), reprice, then subtract the initial price, leg by leg. Result = $ change from a 1% volatility increase on each leg of the option.
Today, my boss told me I should be using a much smaller number than 1% (as a FD shock). I responded: but isn't Vega supposed to show you the change in option value with a 1% increase in volatility (annualized)? Did I miss something here? Please if there are other methods, or I am completely wrong in my approach, I really need to know. And if my method is satisfactory, please confirm as well.
Note on my background: I came from a market risk role, and transfered into derivatives pricing. Not the other way around, so my understanding of the meaning of Vega is the way it is understood in market risk. It may very well be looked at differently from a financial engineering perspective, but that is news to me.
Thanks for your time.
## Answer by AKdemy (score 2, accepted)
https://quant.stackexchange.com/a/69775
Did you try using your tool for vanilla options (a single underlying)? Technically, Black Scholes Greeks are for infinitesimally small changes (not 1%).
That said, making shifts too small is dangerous - especially with numerical methods because you can get into an area where your standard error will be bigger than the change in shift in vol.
This answer shows the two main ways to compute greeks with bump and reprice:
- $[P(v+d/2) - P(v-d/2)]/d$ central difference -> bump up and down
- $[P(v+d) - P(v)]/d$ forward difference -> only shifting up
The former is the most frequently used for Delta and Gamma. The latter is what most systems (I came across) use for calculating vega; mostly done with an absolute one-sided shift of 0.0050 = 0.5% = 50 bps.
In complex models, you can compute Greeks in many other ways:
- market greeks: bump market (vol surface) and reprice (you can either recalibrate or not)
- model greeks: bump model parameters (e.g. LV surface) and reprice
If you use (probably the most sensible approach) a “bump market, recalibrate and reprice technique, you should ideally get close to closed-form expressions.
Depending on your access to other prices, you could compare your model to existing tools (e.g. Bloomberg DLIB), where you can actually manually decide what the shift in your Greeks should be (with default sizes of 1% for delta and 0.5% for vega in equities).
## Answer by Sebastian (score 1)
https://quant.stackexchange.com/a/69778
When using numerical differentiation based on a Monte-Carlo estimator you encounter two sources of error.
- Monte-Carlo Error which is of order $\mathcal{O}(1/\sqrt{N})$ for a simulation of size $N$,
- Numerical difference error. The forward difference has error of order $\mathcal{O}(h)$. The central difference is better with order $\mathcal{O}(h^2)$ for bump size $h>0$.
You should check which bump size $h>0$ gives you the best trade-off between those two error sources. Depending on the method you are using and the number of simulated scenarios 1% can be just right, two small or to big.
Additional i would recommend checking it would be beneficial to compute directional derivatives based on identifiable principle components. In your case that could be for example as follows: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.