Skip to content
All library documents

Interpreting Terminal Log-Return Variance in the Heston Model

Article Quant Q&A · Author: square_one

Summary

The document clarifies the difference between instantaneous variance in the Heston model and the variance of cumulative log returns over a fixed horizon. In the model, the variance process describes local log-return variance; it should not be read as the terminal variance of the asset’s log price divided by time. The equality between those quantities in a constant-volatility Black–Scholes setting does not carry over when variance changes over time.

The questioner reports a simulated terminal log-return variance and a terminal variance-process average, then compares them with the long-run variance parameter. The response suggests examining the average variance process across simulated paths at each time point to see its mean-reverting progression from the initial level toward the long-run level. The simulation provides an illustrative numerical example, not a general validation. The document does not derive a closed-form terminal log-price variance or specify how discretization choices affect the estimates.

Key ideas

  • The Heston variance process represents instantaneous variance of log returns.
  • Terminal log-return variance over a horizon is a different quantity from instantaneous variance.
  • Black–Scholes constant volatility can make these quantities appear equivalent after annualization.
  • Track the cross-path mean of variance at successive times to observe movement from its initial level toward its long-run level.
  • The simulation is illustrative and does not establish a general numerical result.

Tags

Full text
# Terminal Variance in the Heston Model


# Terminal Variance in the Heston Model












I am trying to understand the basics of financial models.

Random Walk as a model for asset prices.

We use gaussian random numbers to generate a Gaussian Random walk. The variance of the terminal value (cumulative sum of random steps) divided by the square root of the number of steps is $1$ due to central limit theorem.

$ S_0=0$ and $\displaystyle S_{n}=\sum _{j=1}^{n}Z_{j}$

$\displaystyle Var\left(\dfrac{S_n}{\sqrt{n}}\right)=1$

Black Scholes Model

Asset price follows a geometric brownian motion.

The variance of the terminal value ($\ln {\frac {S_{t}}{S_{0}}}$) is:

$\displaystyle \ln {\frac {S_{t}}{S_{0}}}=\left(\mu -{\frac {\sigma ^{2}}{2}}\,\right)t+\sigma W_{t}\,$

$\displaystyle Var\left(\ln {\frac {S_{t}}{S_{0}}}\right)=\left(\mu -{\frac {\sigma ^{2}}{2}}\,\right)^2t+\sigma^2t,$

The simulations also return values as expected from these closed form equations.

Heston Model

$\displaystyle dS_t=\mu S_t dt + \sqrt{v_t}S_t dW_{1,t} $

$\displaystyle dv_t=\kappa (\theta-v_t)dt + \sigma\sqrt{v_t} dW_{2,t} $

where $\mathbb{E}[dW_{1,t}dW_{2,t}]=\rho dt$

From what I understand, there is no closed form solution for $Var(S_t)$. Now, when I simulate

```
  clear;clc;

  s0=100;        % Initial stock price  
  mu=0;          % expected return  
  v0=0.05;       % Initialising value for variance  
  kappa=1.6;     % mean reversion rate AND 2*kappa*theta geq sigma^2  
  theta=0.1;     % long run variance  
  sigma=0.2;     % volatility of variance  
  rho = 0.0;     % Correlation between Stock and its Volatility Process  

  n_sim=10^4;    % count of simulations  
  n=1000;        % number of steps  

  dt=1/n;  
  ss=ones(n_sim,n)*s0;  
  vv=ones(n_sim,n)*v0;   
  for i=1:n_sim    % multiple simulated paths  
   z=randn(n,2);    % To generate two independent N(0,1) variables  
   for t=2:n        % single path generation   
    Z_v = z(:,1);     
    Z_s = rho*z(:,1)+sqrt(1-rho^2)*z(:,2);     
    % Discretize the log variance     
    vv(i,t)=vv(i,t-1)*exp((1/vv(i,t-1))*(kappa*(theta-vv(i,t-1))-(sigma^2/2))*dt+(sigma*sqrt(dt/vv(i,t-1))*Z_v(t)));     
    % Discretize the log stock price        
    ss(i,t)=ss(i,t-1)*exp((mu-(vv(i,t-1)/2))*dt+sqrt(vv(i,t-1)*dt)*Z_s(t));     
   end      
  end       
  x=log(ss(:,n)/s0);       
  vv1=vv(:,n);     
  mean_vv1=mean(vv1);  % comes out as 0.09    

  var_sn=var(x);       % comes out as 0.075
```

I get a value of $0.075$. What "meaning" do I draw from it ?

Its not anywhere near the long run variance ($\theta$) or $v_t|t=1$. When should the long run variance be achieved ?

Any pointers and suggestions would be helpful. Please Advise.

## Answer by Quantuple (score 5)

https://quant.stackexchange.com/a/37582

From the equations of the model it is clear that $v_t$ is the instantaneous variance of the log-returns, not the terminal annualised variance of the log-asset price.

Put differently, you are you confusing $$ v_t \approx \text{var}(\ln(S_{t+\delta t}/S_t))/\delta t $$ with $$\text{var}(\ln(S_t))/t$$ presumably because in the Black-Scholes framework these are both equal to $\sigma^2$.

If you want to look at something near $v_0$ or $\theta$ you should take the mean of the process $(v_t)_{t \geq 0}$ itself (vv in your above code) for different times $t$ and see how it starts from $v_0$ to gradually reach $\theta$.

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.