Serving the Quantitative Finance Community

 
User avatar
Forde
Topic Author
Posts: 1
Joined: November 27th, 2002, 7:45 pm

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 2nd, 2004, 5:30 pm

does anyone have the details of the trick for speeding up Monte Carlo valuation of Vanillas under stoc vol by 1st conditioning on vol sample path + then plugging Sqrt(culminative variance/T) into BS (with adjusted initial Stock price if correlation isn't zero)Essentially extension of Hull+White 87 paper to non-zero correlation
 
User avatar
mj
Posts: 12
Joined: December 20th, 2001, 12:32 pm

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 2nd, 2004, 5:35 pm

it's pretty easy and i think it's in lewis's book
 
User avatar
Gusak
Posts: 0
Joined: April 4th, 2003, 1:22 pm

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 3rd, 2004, 2:17 pm

The paper is called Calculating Prices and Sensitivities for Path-Independent Derivative Securities in Multifactor Modelsby Gregory A. Willard but I can not upload the file, might try later in the evening, ok?
 
User avatar
Forde
Topic Author
Posts: 1
Joined: November 27th, 2002, 7:45 pm

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 3rd, 2004, 5:30 pm

thx guys, I think u have to zip stuff up to upload, or just mail to martin.forde@bris.ac.ukjust didn't have Lewis' book on me, + the code I wrote was giving the wrong answers when rho<>0Best Wishes
 
User avatar
tourkine
Posts: 0
Joined: July 14th, 2002, 3:00 am

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 3rd, 2004, 6:30 pm

Gusak,The article looks very interesting. Could you please send it to tourkine@yahoo.com?Many thanksAlexei
 
User avatar
Gusak
Posts: 0
Joined: April 4th, 2003, 1:22 pm

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 3rd, 2004, 9:08 pm

have just sent it to both of you guys.let me know if it have not reached you for some reason.
 
User avatar
Forde
Topic Author
Posts: 1
Joined: November 27th, 2002, 7:45 pm

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 5th, 2004, 7:31 pm

Hi here's a short C++ code fragment that uses exactly the same numbers as Willards paper, but it gives the wrong answers when rho<>0 . 1st one to spot the error gets the kudos, it's been driving me nuts for 3 daysBestfor(int i=1;i<=3000;i++) { v[0]=.01; temp=0; VolSqrd=0; for(int j=0;j<=63;j++){ U = rg.Random(); R = pow( -2 * log(U), 0.5); theta_ = 2 * Pi * rg.Random(); Z2 = R * cos(theta_); dW2[j] = Z2 * sqrdt; v[j+1]=max(v[j]+kappa*(theta-v[j])*dt+sigma*pow(v[j],.5)*dW2[j],0); VolSqrd=VolSqrd+v[j+1]*dt; temp=temp+rho*pow(v[j+1],.5)*dW2[j]; } double zeta=0; zeta=S0*exp(-.5*rho*rho*VolSqrd+temp); Payout=VAN(true,zeta,Strike,Expiry,0,0, pow(VolSqrd*(1-rho*rho)/Expiry,.5)); sum=sum+Payout;}
 
User avatar
Money
Posts: 2
Joined: September 6th, 2002, 4:00 pm

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 5th, 2004, 11:54 pm

What is lewis's book ? may i have the full name + author ?i am also interested in the code...
 
User avatar
Forde
Topic Author
Posts: 1
Joined: November 27th, 2002, 7:45 pm

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 6th, 2004, 6:55 am

check outhttp://ideas.repec.org/s/vsv/svbook.html
 
User avatar
Forde
Topic Author
Posts: 1
Joined: November 27th, 2002, 7:45 pm

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 6th, 2004, 2:01 pm

fixed the code, although if I use this code for the special case of pricing a call with K=0, so that Willard's MC estimate of its price is now just equal to the "adjusted" stock price zeta, the MC estimate for rho positive is nearly always slightly less than it should be? maybe it depends on how u numericaly approximate stochastic integrals of type int sqrt(v_t) dW2_t
 
User avatar
Forde
Topic Author
Posts: 1
Joined: November 27th, 2002, 7:45 pm

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 6th, 2004, 2:07 pm

apologies, there was a typo in code
 
User avatar
zzbool
Posts: 4
Joined: June 13th, 2003, 5:36 pm

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 7th, 2004, 8:50 am

Where's the typo ? Could you point it out ?
 
User avatar
Forde
Topic Author
Posts: 1
Joined: November 27th, 2002, 7:45 pm

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 7th, 2004, 2:29 pm

here's amended code:#include "math.h"#include "stdio.h"#include <stdlib.h>#include "randomc.h"#include "mersenne.cpp"#include "van.h"#include "phi.h"#include "Norm_dist.h"#include "max.h"#include <time.h> #include <iostream.h> int main(){int32 seed = time(0); TRandomMersenne rg(seed); double kappa;double theta;double sigma;double rho;double theta_;kappa=2;theta=.01;sigma=.1;rho=0.05;double S0;S0=90;double K;K=1;double Expiry=.5;int NumSteps=256;double dt=Expiry/NumSteps;double Pi=3.1415926535897;double sqrdt;sqrdt=pow(dt,.5);double* v;v=new double[1000];double* dW2;dW2=new double[1000];double R;double Z2;double U;double VolSqrd=0.0;double temp=0;double Payout;double Strike=100;double sum=0;for(int i=1;i<=25000;i++) { v[0]=.01; temp=0; VolSqrd=0; for(int j=0;j<=NumSteps-1;j++){ U = rg.Random(); R = pow( -2 * log(U), 0.5); theta_ = 2 * Pi * rg.Random(); Z2 = R * cos(theta_); dW2[j] = Z2 * sqrdt; v[j+1]=max(v[j]+kappa*(theta-v[j])*dt+sigma*pow(v[j],.5)*dW2[j],0); VolSqrd=VolSqrd+v[j]*dt; temp=temp+rho*pow(v[j],.5)*dW2[j]-.5*rho*rho*v[j]*dt; } double zeta=0; zeta=S0*exp(temp); Payout=VAN(true,zeta,Strike,Expiry,0,0, pow(VolSqrd*(1-rho*rho)/Expiry,.5)); //Payout=zeta; sum=sum+Payout; printf (" %8.4f ", sum/(i)); cout << i << endl;}return 0;}
 
User avatar
sammus
Posts: 9
Joined: November 11th, 2003, 6:21 am

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 8th, 2004, 8:05 pm

Forde, did you use zero interest rate?
 
User avatar
Forde
Topic Author
Posts: 1
Joined: November 27th, 2002, 7:45 pm

Fast Monte Carlo for Vanillas under correlated Stoc Vol

September 9th, 2004, 10:42 am

It's all done using say 1yr FORWARD prices not Spot prices as inputs, so I don't have to worry abou interest rates, because I'm only dealing with Vanillas