# Question about pricing forward start option with Heston Monte Carlo

I'm trying to price a forward start option with payoff $$\Big(\dfrac{S_{T_2}}{S_{T_1}}-1\Big)^+$$ with Heston Monte Carlo.

Heston Model: $$dS_t = rS_tdt + \sqrt{v_t}S_tdW_t^1$$ $$dv_t = \kappa(m-v_t) + \alpha\sqrt{v_t}dW_t^2$$ The Heston parameter I use is: $$\{v_0=0.01,\kappa=1,m=0.01,\alpha=1.5,\rho=-0.6\}$$.

I have implemented the QE scheme to do the simulation and get $$N$$ simulated paths ($$M$$ time step): $$S_k^i$$ and $$v_k^i$$ ($$i=1...N$$, $$k=1...M$$).

Assuming $$r=q=0$$, the obvious way to calculate the price is: $$p = AVG_{i=1...N}\Big[\Big(\dfrac{S_{k(T_2)}^i}{S_{k(T_1)}^i}-1\Big)^+\Big]$$

However, this is another way I can understand this question:

\begin{align*} p &= E\Big[\Big(\dfrac{S_{T_2}}{S_{T_1}}-1\Big)^+ \Big|\mathbb{F}_0\Big]\\ &= E\Big[E\Big[\Big(\dfrac{S_{T_2}}{S_{T_1}}-1\Big)^+ \Big|\mathbb{F}_{T_1}\Big]\Big|\mathbb{F}_0\Big]\\ &= AVG_{i=1...N}\Big[ HestonCall(S_0=1,K=1,T=(T_2-T_1),hestonparam=\{v_0=v^{i}_{k(T_1)},...\}) \Big] \end{align*} where $$'...'$$ means the other Heston parameters remain unchanged.

Based on my understanding, these two methods should give the same result. However, they are not.

There must be something wrong with the way I come up with the second method, but I completely got stuck here. Could anyone help to point out which part is wrong? Thanks a lot!

• They should indeed give the same results 'asymptotically' (when the number of simulations tends towards the infinity). But the second method is more accurate: when you condition on $F_{t_1}$ and use the (semi-)analytic price of a call under BS, it would be the MC equivalent of running a nested MC simulation starting from that point. Of course when you say "same results" it should be understood in the MC estimator sense: the results should converge to the same value within the standard MC error of each procedure: did you track the results + their confidence intervals? Aug 26, 2021 at 7:49
• Thanks for your reply! I double check my code carefully and there is indeed an error causing this. They can match very well now! Aug 26, 2021 at 21:29