Skip to content
All library documents

Pricing a Forward-Start Option with Heston Monte Carlo

Article Quant Q&A · Author: Dovie Chu

Summary

The document considers Monte Carlo valuation of a forward-start call under the Heston stochastic volatility model. Its payoff depends on the ratio of the asset price at the later date to its price at the reset date, so the strike is effectively set by the asset level at the reset. One proposed estimator averages this payoff directly across simulated paths using a quadratic-exponential variance scheme.

A second estimator conditions on the simulated state at the reset date and averages ordinary Heston call prices for the remaining period, using unit spot and strike and each path's reset-date variance. The questioner reports that the two estimates differ, although they are expected to agree. The response says they should match and points to a reference implementation, but supplies no diagnosis, derivation, or comparison results. As presented, the text therefore frames a useful conditional Monte Carlo idea but does not resolve implementation issues such as time indexing, model inputs, or numerical error.

Key ideas

  • A forward-start call payoff depends on the asset price ratio between two future dates.
  • Direct Monte Carlo estimates the payoff by averaging simulated path outcomes.
  • Conditional valuation averages reset-date option values using the simulated variance state.
  • The document expects both estimators to agree but does not explain the reported discrepancy.
  • No derivation or numerical comparison is included in the response.

Tags

Full text
# Question about pricing forward start option with Heston Monte Carlo


# 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!

## Answer by Lech (score 1)

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

They should be the same. Compare against this python code, Mathematical Modeling and Computation in Finance

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.