Local Volatility Monte Carlo Pricing After an Index Level Shift
Summary
The document asks how to reprice an S&P 500 put under a local volatility model after the index level jumps, including whether the initial volatility should change and whether the existing local volatility surface remains appropriate throughout the Monte Carlo simulation. The example starts with an out-of-the-money put and considers an upward index move, but provides no additional market inputs or computed price.
The response cautions that matching a vendor’s scenario price may be difficult because the vendor may use a different volatility surface, calibration, local volatility implementation, or scenario convention. It distinguishes a live implied volatility surface from a surface intended for local volatility, notes that the vendor’s scenario engine may not use Monte Carlo, and points to choices such as keeping moneyness or strike fixed during a shift. The discussion gives troubleshooting considerations rather than a full repricing procedure; vendor methods and settings may differ, and the answer does not establish which convention applies in the specific case.
Key ideas
- Changing the index level can change the option’s position on the local volatility surface, so the scenario convention matters.
- A vendor’s scenario price may differ because its surface, calibration, or local volatility implementation differs from the model being simulated.
- The surface used for local volatility may differ from a live implied volatility surface.
- A fair comparison requires matching the pricing method and scenario assumptions, not just the starting index value.
- The answer does not specify the vendor’s exact scenario treatment or provide a numerical repricing method.
Tags
Full text
# Local Volatility Monte Carlo option price - different starting index level # Local Volatility Monte Carlo option price - different starting index level I constructed the local volatility surface of S&P 500 from implied vols and was able to price the options accurately using Monte-Carlo. Let's say I priced a 80% of S0 put option with S0 = 4000. How do I approach the MonteCarlo pricing of this 80% put option if my S moves to 4100 instantaneously? My question is I want to know the price of the option if index moves 100 points? (No other information is available). In my montecarlo simulation i just changed the starting level but does the starting vol for the first time step also changes? Can I use the same local vol surface in all my time steps ? I couldn't match the price of Bloomberg (OVME scenarios tab) if my S shifts 100 points? ## Answer by AKdemy (score 2) https://quant.stackexchange.com/a/64044 There is in my opinion no way you will match OVME (without extreme effort and attention to detail). - OVME is not MC. If you want to compare like for like, use DLIB. - The vol surface you use vs what BBG uses is almost certainly different. If you use BBG `moneyness` fields you will get the LIVE surface and not `BVOL` which is used in LV. The latter cannot be loaded in excel or via API without an additional subscription. If you built it yourself, it is highly unlikely you match the mixed lognormal approach of BBG. - Probably even LV implementation will be different in itself. BBG uses "simply" a grid and non parametric form according to the white paper (I have not read it recently, but that is certainly the case in FX and most likely in equity as well). - You will need to know (exactly) what BBG does in the scenario shift with local vol. I am not sure about OVME but MARS uses `SHOC`, which has a setting to compute scenarios as stick to moneyness or stick to strike. At the end of the day, if you are confident you have done it correctly and according to general market practice (or whatever paper you prefer), it does not matter so much if you match BBG or not.
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.