Posted by
Klaus Spanderen-2 on
URL: http://quantlib.414.s1.nabble.com/Heston-multiasset-tp7414p7415.html
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