1
$\begingroup$

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.

$\endgroup$
5
$\begingroup$

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$.

| improve this answer | |
$\endgroup$

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.