Heston Monte Carlo Convergence

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Heston Monte Carlo Convergence

Lapin
Hi,

I have implemented a Monte Carlo engine for Heston, but the convergence is not so good in my view.
I am pricing a 5Y european down in put option.
The calibration is almost perfect (less than 1bps in average), but the convergence of the simulation is quite poor.
 
As you can see in the following table, the price swings if I increase the number of steps by year.
 
Steps by year Price
4 14.90%
10 14.12%
20 14.13%
30 13.39%
50 13.58%
100 14.67%
200 14.17%
300 13.71%
350 13.87%
400 14.25%

Since it is European, the convergence should be quick and the result should not depend so much on the Time steps by year.
I have enclosed the calibrated parameters of Heston.
 
Name Heston
Spot 3730.65
Integration 64
V0 7.76%
Kappa 188.03%
Theta 9.19%
Sigma 65.26%
Rho -95.49%

 
Do you know why there is no stability there? Is there any trick to make it stable?
 
I have also a question regarding the antithetical variables.
Is there anything else to do to use it of just say QL to draw them?

Cheers
Reply | Threaded
Open this post in threaded view
|

Re: Heston Monte Carlo Convergence

Lapin
To the actual questions, I would like to ask if someone has the experience of control variate in QL framework?
I would like to code delta and gamma control variate to reduce the error, btu if someone has an example, it would be great...

Cheers

Yomi wrote
Hi,

I have implemented a Monte Carlo engine for Heston, but the convergence is not so good in my view.
I am pricing a 5Y european down in put option.
The calibration is almost perfect (less than 1bps in average), but the convergence of the simulation is quite poor.
 
As you can see in the following table, the price swings if I increase the number of steps by year.
 
Steps by year Price
4 14.90%
10 14.12%
20 14.13%
30 13.39%
50 13.58%
100 14.67%
200 14.17%
300 13.71%
350 13.87%
400 14.25%

Since it is European, the convergence should be quick and the result should not depend so much on the Time steps by year.
I have enclosed the calibrated parameters of Heston.
 
Name Heston
Spot 3730.65
Integration 64
V0 7.76%
Kappa 188.03%
Theta 9.19%
Sigma 65.26%
Rho -95.49%

 
Do you know why there is no stability there? Is there any trick to make it stable?
 
I have also a question regarding the antithetical variables.
Is there anything else to do to use it of just say QL to draw them?

Cheers
Reply | Threaded
Open this post in threaded view
|

Re: Heston Monte Carlo Convergence

Klaus Spanderen-2
In reply to this post by Lapin
Hi,

which discretization scheme are you using? I'd guess it is an Euler scheme.
Then the variance might become negative and the handling of this case becomes
important (especially if the Feller condition 2*\kappa*\theta > \sigma^2 is
not satisfied as given in your example). See e.g.
 Lord, R., R. Koekkoek and D. van Dijk (2006),
 "A Comparison of biased simulation schemes for stochastic volatility models",
 Working Paper, Tinbergen Institute

I've priced a plain vanilla 5y Put using the different schemes implemented in
the QuantLib (statistical error is less than 0.1):

Analytic: 14.85
Steps per Year   Price
Reflection:
4 18.1309
10 16.5496
20 15.7693
30 15.5687
50 15.2635
100 15.1317
200 14.8237
400 14.8705

Partial Truncation:
4 15.6779
10 15.0697
20 14.8666
30 14.8708
50 14.8177
100 14.8743

Full Truncation:
4 14.9263
10 14.8888
20 14.8053
30 14.8381
50 14.8021
100 14.8712

ExactVariance:
4 14.6654
10 14.7186
20 14.7609
30 14.8446
50 14.8757
100 14.8623

FullTrancation and ExactVariance are much better than the often mentioned
Reflection scheme.

The barrier monitoring will lead to an additional discretization error. I'm
using a brownian bridge to approximate the transistion probability between
two time steps.

cheers

On Friday 15 February 2008 18:04:40 Yomi wrote:

> Hi,
>
> I have implemented a Monte Carlo engine for Heston, but the convergence is
> not so good in my view.
> I am pricing a 5Y european down in put option.
> The calibration is almost perfect (less than 1bps in average), but the
> convergence of the simulation is quite poor.
>
> As you can see in the following table, the price swings if I increase the
> number of steps by year.
>
> Steps by year Price
> 4 14.90%
> 10 14.12%
> 20 14.13%
> 30 13.39%
> 50 13.58%
> 100 14.67%
> 200 14.17%
> 300 13.71%
> 350 13.87%
> 400 14.25%
>
> Since it is European, the convergence should be quick and the result should
> not depend so much on the Time steps by year.
> I have enclosed the calibrated parameters of Heston.
>
> Name Heston
> Spot 3730.65
> Integration 64
> V0 7.76%
> Kappa 188.03%
> Theta 9.19%
> Sigma 65.26%
> Rho -95.49%
>
>
> Do you know why there is no stability there? Is there any trick to make it
> stable?
>
> I have also a question regarding the antithetical variables.
> Is there anything else to do to use it of just say QL to draw them?
>
> Cheers



--
Klaus Spanderen
Ludwig Erhard Str. 12
48734 Reken (Germany)
EMail: [hidden email] (remove NOSPAM from the address)

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Heston Monte Carlo Convergence

Lapin
Hi Klaus,

Indeed since the Feller condition is not verified, the Volatility reaches a negative value.
I am now trying to add a constraint to verify the Feller condition, but heston does not calibrate anymore...

I will keep you posted anyway.

Cheers

Klaus Spanderen-2 wrote
Hi,

which discretization scheme are you using? I'd guess it is an Euler scheme.
Then the variance might become negative and the handling of this case becomes
important (especially if the Feller condition 2*\kappa*\theta > \sigma^2 is
not satisfied as given in your example). See e.g.
 Lord, R., R. Koekkoek and D. van Dijk (2006),
 "A Comparison of biased simulation schemes for stochastic volatility models",
 Working Paper, Tinbergen Institute

I've priced a plain vanilla 5y Put using the different schemes implemented in
the QuantLib (statistical error is less than 0.1):

Analytic: 14.85
Steps per Year   Price
Reflection:
4 18.1309
10 16.5496
20 15.7693
30 15.5687
50 15.2635
100 15.1317
200 14.8237
400 14.8705

Partial Truncation:
4 15.6779
10 15.0697
20 14.8666
30 14.8708
50 14.8177
100 14.8743

Full Truncation:
4 14.9263
10 14.8888
20 14.8053
30 14.8381
50 14.8021
100 14.8712

ExactVariance:
4 14.6654
10 14.7186
20 14.7609
30 14.8446
50 14.8757
100 14.8623

FullTrancation and ExactVariance are much better than the often mentioned
Reflection scheme.

The barrier monitoring will lead to an additional discretization error. I'm
using a brownian bridge to approximate the transistion probability between
two time steps.

cheers

On Friday 15 February 2008 18:04:40 Yomi wrote:
> Hi,
>
> I have implemented a Monte Carlo engine for Heston, but the convergence is
> not so good in my view.
> I am pricing a 5Y european down in put option.
> The calibration is almost perfect (less than 1bps in average), but the
> convergence of the simulation is quite poor.
>
> As you can see in the following table, the price swings if I increase the
> number of steps by year.
>
> Steps by year Price
> 4 14.90%
> 10 14.12%
> 20 14.13%
> 30 13.39%
> 50 13.58%
> 100 14.67%
> 200 14.17%
> 300 13.71%
> 350 13.87%
> 400 14.25%
>
> Since it is European, the convergence should be quick and the result should
> not depend so much on the Time steps by year.
> I have enclosed the calibrated parameters of Heston.
>
> Name Heston
> Spot 3730.65
> Integration 64
> V0 7.76%
> Kappa 188.03%
> Theta 9.19%
> Sigma 65.26%
> Rho -95.49%
>
>
> Do you know why there is no stability there? Is there any trick to make it
> stable?
>
> I have also a question regarding the antithetical variables.
> Is there anything else to do to use it of just say QL to draw them?
>
> Cheers



--
Klaus Spanderen
Ludwig Erhard Str. 12
48734 Reken (Germany)
EMail: klaus@NOSPAMspanderen.de (remove NOSPAM from the address)

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
QuantLib-users mailing list
QuantLib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/quantlib-users