I am valuing vanilla call options using FDM with Crank Nicolson discretization and Rannacher smoothing (mind you, I am having the same issue on MC) and I am getting unstable delta, gamma and theta. I am computing risks by simple bump and revalue using 1 day theta and 1% central gamma and delta.

By unstable I mean that I see oscillation in my risks when:

  • I use a different bump value (e.g. 2 day theta or 2% delta/gamma)
  • Making my grid finer by scaling down $dt$ and $dS$

My option values are always within ~ 40bps of the B-S value at my coarsest grid values ($dS = 0.005S_{0}$, $dt = 0.025$) but I keep getting my risks, especially gamma and theta, off by up to 40%. They do converge when I use an extremely fine grid, but by that point the computation is prohibitively slow.

I am using natural cubic spline for interpolation in strike and linear interpolation in time in total variance on my surface $w(t,K) := t\space\sigma_{Imp}^{2}(t, K)$. I have tried taking $\frac{\partial w}{\partial K}$, $\frac{\partial^{2} w}{\partial K^{2}}$ and $\frac{\partial w}{\partial t}$ both analytically from the interpolation method or by using finite differences and linearly interpolating between nodes on the LV surface. I am of course using the version of Dupire's formula that uses these derivatives.

My interpolation on $w(t, K)$ does admit arbitrage. In fact, I have noticed that surfaces that have more arbitrage give me worse values.

Why am I getting unstable risks? Would a parametrized no-arbitrage IV surface help here? Do I have to do some smoothing on my LV surface? Should I instead impose a shape on my LV surface (e.g. bicubic spline) and solve for the node points as an optimization problem? What is standard practice?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.