Finite Difference Pricing with an SVI Local Volatility Surface
Summary
The document discusses implementing a finite difference pricing model for equity index options using local volatility derived from a fitted SVI volatility surface. The question is how to align the surface’s log-forward-moneyness coordinate with the pricing grid, and how to account for interest rates and dividends that vary across maturities.
In an update, the author proposes a coordinate centered on the forward price, using the spot price divided by spot grown at the rate minus dividend yield. This appears to align the local volatility and finite difference grids and remove the explicit cost-of-carry term from the displayed transformed equation. The author asks whether that also avoids handling changing rates and yields, except perhaps in boundary conditions for path-dependent derivatives. No answer or numerical validation is included, so the proposed transformation and its implications remain unconfirmed. The document does not specify a full discretization scheme, boundary treatment, or accuracy comparison.
Key ideas
- The SVI surface is expressed in log-moneyness relative to the forward, while a pricing grid may use a different coordinate.
- A forward-centered log-price transformation is proposed to align the local volatility and finite difference grids.
- The transformed equation shown omits the explicit cost-of-carry term.
- The author questions how maturity-varying rates and dividends should enter pricing and boundary conditions.
- The proposed implementation is not validated in the document.
Tags
Full text
# Finite Difference with SVI Vol Model
# Finite Difference with SVI Vol Model
I am attempting to implement a local vol pricing model in finite difference for equity index options.
I have followed Gatheral's Lectures and fitted an SVI Model bringing me to the following local vol equation with VL being relatively straight forward to compute using a grid.
My problem currently is twofold
- y = log(K/FT) but I am using the normal (I think?) finite difference grid with log(K) transformation so the grids don't match up. What is typically done in practice? Do I have to interpolate w & y for each point in my finite difference grid?
- Cost of carry is not constant across tenors as is typically the case. I have not been able to find any reference for finite difference where r & q are not assumed to be constant. I am assuming this is important given that the vol surface is forward dependent? Do I simply use piece-wise constant forward rates in between tenors?
Can someone explain how this is usually implemented or point me towards a practical reference source?
***** update *****
After working on this a bit more. I took a different transformation
$$\ X=\ln(\frac{S}{S_0 e^{(r-q)T}}) $$
giving me
$$\ 0=rC+\frac{∂C}{∂T}-\frac{1}{2} σ^2 \frac{∂C}{∂X}+\frac{1}{2} σ^2 \frac{∂^2 C}{∂X^2} $$
which seems to be the right approach for 1. Both VL and finite difference grids are now consistent and in the forward space. I also noticed that the cost of carry term is gone. I am thinking this means that I no longer have to worry about about non constant r & q except for path dependent derivatives (in which case it should be dealt with in the boundary condition?)
I am hoping someone with more experience in the matter can validate this approachShown 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.