Heston multiasset

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

Heston multiasset

PinkLizard
Hi all,

I'm a new guest..

I'm working on Heston model.  I'd like to know how quantlib manage heston multiassets or how can one implement it.

In an object logic, we just have the process for the single underlyings each one with specified correlation between price-vol.
So one has to incorporate the correlation between two assets returns vol-vol, price-vol.

Think about 2 underlyings.
1)To specify the dynamic of asset 1 I throw a random "object" w1=(w_price1  w_vol1), where corr(w_price1  w_vol_1)=rho1.
2)For the 2nd asset  I throw an other random "object" w1=(w_price2  w_vol2), where corr(w_price2  w_vol_2)=rho2.

Now the points where I'm in difficult.
Let's define a product "x" between random "object" to be a matrix in this way:
w1 x w_2= w1=(w_price1*w_price_2      w_price_1*w_vol_2;
                       w_price_1*w_vol_2       w_vol1 *w_vol2).
where * is the standard produtc.
 
                   
3) The main idea, following black scholes framework, is that now:
corr(w_1,w2)= matrix_rho= =(corr(w_price1*w_price_2)      corr(w_price_1*w_vol_2);
                                        corr(w_price_1*w_vol_2)       corr(w_vol1 *w_vol2)).


To generate such random "objects" w_1 e w_2 with that correlation matrix,I throw two indipendent
random "object" z_1 and z_2 and then set:

w_1 = z1
w2 = sqrt(1-rhomatrix^2)Z2+rho_matrix Z1.

The engine isn't correct cause with that definition of product we haven't that corr(Z2,Z2)=corr(Z1,Z1)=identity_matrix.

Any solution or suggestion?
 
Reply | Threaded
Open this post in threaded view
|

Re: Heston multiasset

Klaus Spanderen-2
Hi


> I'm working on Heston model.  I'd like to know how quantlib manage heston
> multiassets or how can one implement it.

At the time being QL does not support a multi asset Heston Model.
First thing that is needed is a valid (positive semidefinite) correlation
matrix for the N assets processes plus N variance processes. The asset-asset
correlations aren't the problem, also the correlation \rho_i between the i'th
asset and the corresponding variance process. The rest can not be observed in
the market (unless e.g. you want to use an 2n-dim Kalman filter;-). Therefore
you have to come up with a valid assumption for these correlation pairs. I'd
use standard disretization schema like Euler for the equity processes
and "FullTruncation" for the variance processes. to generate the correlated
random numbers use the pseudo square root of your correlation matrix.

A "feature" of the multi asset Heston model is that the terminal correlation
between two assets might be significantly lower than the correlation in the
matrix.

regards
Klaus

>
> In an object logic, we just have the process for the single underlyings
> each one with specified correlation between price-vol.
> So one has to incorporate the correlation between two assets returns
> vol-vol, price-vol.
>
> Think about 2 underlyings.
> 1)To specify the dynamic of asset 1 I throw a random "object" w1=(w_price1
> w_vol1), where corr(w_price1  w_vol_1)=rho1.
> 2)For the 2nd asset  I throw an other random "object" w1=(w_price2
> w_vol2), where corr(w_price2  w_vol_2)=rho2.
>
> Now the points where I'm in difficult.
> Let's define a product "x" between random "object" to be a matrix in this
> way:
> w1 x w_2= w1=(w_price1*w_price_2      w_price_1*w_vol_2;
>                        w_price_1*w_vol_2       w_vol1 *w_vol2).
> where * is the standard produtc.
>
>
> 3) The main idea, following black scholes framework, is that now:
> corr(w_1,w2)= matrix_rho= =(corr(w_price1*w_price_2)
> corr(w_price_1*w_vol_2);
>                                         corr(w_price_1*w_vol_2)
> corr(w_vol1 *w_vol2)).
>
>
> To generate such random "objects" w_1 e w_2 with that correlation matrix,I
> throw two indipendent
> random "object" z_1 and z_2 and then set:
>
> w_1 = z1
> w2 = sqrt(1-rhomatrix^2)Z2+rho_matrix Z1.
>
> The engine isn't correct cause with that definition of product we haven't
> that corr(Z2,Z2)=corr(Z1,Z1)=identity_matrix.
>
> Any solution or suggestion?



------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users