Stochastic Volatility Model

Reference: Python for Finance by Yves Hilpisch, O'Reilly Media, Chapter 10, Stochastics

Multidimensional Stochastic Processes

Features of the implied volatility surface such as volatility smile and skew indicate that implied volatility varies with respect to strike price and expiry. Is it also a function of the underlying price?

The Heston SV model assumes that the variance is a random process that exhibits:

Geometric Brownian motion SDE:

$dS_t = rS_tdt + \sqrt{v_t} S_t dZ_t^1$, where $v_t = \sigma_t^2 $

$ S_t = S_{t-dt} exp [ (r- v_t/2)dt + \sqrt{v_t} \sqrt{dt} z_t^1 ] $

AR1 process for the variance of the process:

$dv_t = k_v(\theta_v-v_t)dt + \sigma_v \sqrt{v_t} dZ_t^2$, where $\theta$ is the long-term mean of the variance process.

$dZ_t^1dZ_t^2 = \rho dt$

I have read but not verified that the condition $ k_v \theta_v > \sigma^2_v/2 $ ensures positivity of the variance process.

To account for the correlation between two stochastic processes, we need to perform the Choleski decomposition of the correlation matrix. A hermitic(...) positive-definite matrix $A = LL^*$, the product of two triangular matrices. If $A$ is symmetric (which is true iff $A$ is real), the factorization may be written $A = LL^T$.

We generate two sets of correlated random numbers, then we use the Euler scheme to take into account the correlation.

Expected compounded average return

$CAGR = (S_T/S_0)^{1/T}-1 \approx \frac{log(S_T/S_0)}{T}$

Appendix: Real Values

The asymptotic properties of the SV model, necessary for the Bird's eye view calibration, are less straight-forward than for the previous models.

Is there a way to obtain $\rho$ directly from the original price series, instead of the rolling series? I need to brush up the theory. For now:

However, $\theta$ is NOT simply the variance of the price process. I am not even sure if there is a closed-form formula for it (there probably is). Can we find both theta and k from the coefficients of the AR(1) equation for stochastic volatility?

$v_t = k\theta + (1-k)v_{t-1}+\epsilon_t$

Unfortuantely, the instantaneous variance of the price process is not obesrvable. I have no better idea than to aproximate it by rolling variance. Another caveat for this estimation is that the error term $\epsilon$ is heteroscedastic, it rises proportionately with the instantaneous standard deviation of the process.

$\theta^\star = \min_\theta \sum_i \|y_i-f(x_i,\theta)\|^2 = \min_\theta g(\theta)$

$f(\theta)= Realized S_T$

$g =\|y - f(\theta)\|^2$

The Fmin minimization leads to poor results (all the parameters are close to zero). I need to use the "earth moving" minimization of the distance between two stochastic processes (TO DO).