Posted by
Giorgio Pazmandi on
Feb 14, 2006; 3:34am
URL: http://quantlib.414.s1.nabble.com/Problem-by-pricing-quanto-asian-basket-options-with-MC-simulation-multipath-tp4466p4470.html
>Pricing quanto options this way is fairly standard. You just add
>fxvol * eqvol * corr to the yield on the equity, and then treat it as
>a domestic stock. The original paper is:
>
>Reiner, Eric (1992). Quanto mechanics, Risk, 5 (10), 59-63.
>
>But you can find desriptions in plenty of textbooks, e.g.
>Baxter&Rennie or recent editions of Hull.
>
> - Ed
Thank you for the references, with this pricing method we got the correct
results :-)
Test#3: 8.24 +/- 0.09 (reference value is 8.22 +/- 0.08)
Test#4: 9.24 +/- 0.10 (reference value is 9.24 +/- 0.09)
Giorgio
PS1: Here is the detail of how we corrected the test function:
To get this result we modified the code considering just 2 assets and using
a "modified" yield (the correlation matrix used in the simulation is
consequently just 2x2 and has only the correlations beetwen the assets):
// Asset1
Handle<Quote> x0_2(boost::shared_ptr<Quote>(new SimpleQuote(75.0)));
Handle<YieldTermStructure> r_2(flatRate(0.051, Actual360()));
Handle<YieldTermStructure> q_2(flatRate(0.031, Actual360()));
Handle<BlackVolTermStructure> sigma_2(flatVol(0.20, Actual360()));
// Asset2
Real correlationTerm = 0.4 * 0.15 * 0.15; // correlation * volAsset2 *
volExRate
Handle<Quote> x0_3(boost::shared_ptr<Quote>(new SimpleQuote(100.0)));
Handle<YieldTermStructure> r_3(flatRate(0.035 - correlationTerm ,
Actual360()));
Handle<YieldTermStructure> q_3(flatRate(0.02, Actual360()));
Handle<BlackVolTermStructure> sigma_3(flatVol(0.15, Actual360()));
// The 2 stocastic processes
std::vector<boost::shared_ptr<StochasticProcess1D> > processes(2);
processes[0] = boost::shared_ptr<StochasticProcess1D>(
new
BlackScholesProcess(x0_2,q_2,r_2,sigma_2));
processes[1] = boost::shared_ptr<StochasticProcess1D>(
new
BlackScholesProcess(x0_3,q_3,r_3,sigma_3));
// Correlation matrix for the simulation
Matrix correlation(2,2);
correlation[0][0] = 1.00; correlation[0][1] = 0.30;
correlation[1][0] = 0.30; correlation[1][1] = 1.00;
PS2: If somebody in the list is interested in the mathematical details i
have found a document online:
http://www.math.nyu.edu/faculty/kohn/cont-time-finance/section3.ps