In Chapter 12 of his excellent book Stochastic Volatility Modeling, Lorenzo Bergomi discusses the topic of local-stochastic volatility models (LSV).
As most of you are probably aware of, the idea is to get the best of both worlds out of
Local volatility (LV).
- [Pro] perfect fit of vanilla hedges
- [Con] non-parametric model so no control on break-even levels that become dependent on how the market evolves, making it tricky to manage exotics' books from the sell-side perspective.
- [Pro] parameters can be tuned to achieve comfortable break-even levels with respect to the dynamics of implied volatilities and their covariance with the spot price (Volga/Vanna costs).
- [Con] limited number of parameters such that it is impossible to perfectly fit the prices of the vanilla hedges (replication error at inception).
- Tuning the parameters of the SV layer to achieve sound break-even levels (that is, comfortable from traders' perspective i.e. meeting their intuition and/or what they observe in the market) which could be regarded as specifying the dynamics part of the model
- Then, calibrating the local volatility component to perfectly recover the current picture of the vanilla market which could be regarded as specifying the statics aspect. Although the existence of a local volatility component for a given SV layer is an open problem, let's leave this out for the moment.
$$ \left( \nu_T(t), \rho_T(t), R_T(t) \right) $$
I was wondering, did anyone try to calibrate such a mixed LSV model (e.g. a Bergomi Two-Factor stochastic layer with local volatility component like the toy model he uses in his book) while imposing a dynamics
$$ \left( \hat{\nu}_T(t), \hat{\rho}_T(t), \hat{R}_T(t) \right)$$
inferred from historical time series? If so, how did you proceed, how did it work out for you and what are the lessons learnt?
I personally tried this using rolling window estimators (as suggested in the book) but when I backtest my calibration procedure over a full trading year I definitely end up with days where I cannot fit the target dynamics (the LV component however always guarantees a perfect fit to the vanilla market regardless). That being said, I indeed manage to reproduce all the results he illustrates in his book, but these are based on synthetic data.
Any feedback or pointers on your hands on experiments would be more than welcome. Thanks a lot!
[Remark] Clearly the 3 quantities discussed before are tied since denoting the ATMF volatility for maturity T at time t by $$\sigma_T(t)$$ and the ATMF skew
$$\mathcal{S}_T(t) := \left. \frac{\partial \sigma_T(t)}{\partial \ln K} \right\vert_{K = F(t,T)}$$
with F(t,T) the forward price for delivery at T as seen at time t, then by definition we have
\begin{align}
\nu_T^2(t) &= \lim_{dt \to 0} \frac{\Bbb{E}_t\left[(d\sigma_T(t))^2\right]}{\sigma^2_T(t) dt} \\
\rho_T(t) &= \lim_{dt \to 0} \frac{\Bbb{E}_t\left[ d \ln S_t d \sigma_T(t) \right]}{\sqrt{ \Bbb{E}_t \left[ (d\ln S_t)^2 \right] \Bbb{E}_t \left[ (d\sigma_T(t))^2 \right] }} \\
R_T(t) &= \lim_{dt \to 0} \frac{1}{\mathcal{S}_T(t)} \frac{\Bbb{E}_t[ d \ln S_t d\sigma_T(t) ]}{\Bbb{E}_t[(d\ln S_t)^2]} \\
&= \frac{\sigma_T(t)}{\sigma_{LV}^{mkt}(t, S_t)}\frac{1}{\mathcal{S}_T(t)} \nu_T(t) \rho_T(t) \tag{1} \\
&= \frac{\sigma_T(t)}{\sigma_t(t)}\frac{1}{\mathcal{S}_T(t)} \nu_T(t) \rho_T(t) \tag{2}
\end{align}
where (1) makes use of the fact that the mixed model is calibrated to the vanilla market (Gyongy's theorem) along with the previous definitions, and (2) makes use of the relationship typing Dupire local volatilities to implied volatilities as dt tends towards 0.