R: Doubt in Montecarlo generation of paths

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

R: Doubt in Montecarlo generation of paths

Berardi Luca
R: [Quantlib-users] Doubt in Montecarlo generation of paths

Ciao Luigi,

it would indeed be useful to simulate the log of the asset if we are interested in equity prices. However what if I'd like to simulate a generic diffusion process? For example I could be interested in simulating the instantaneous interest rate for pricing complex fixed income derivatives...

In this case I wonder whether it is necessary (or useful) to simulate the series of log-returns. In such a case, I should:

1) define a model for the risk-free rate r(t) (let's say CIR for example) and write down the corresponding SDE (stoch. diff. equation);

2) define Y(t) = log (r(t)/r(0)) (log return of the asset) and by means of an Ito differentiation write down the SDE for Y(t) separating the drift and diffusion components;

3) use this last drift and diffusion coefficients for simulating Y(t) and then
4) exponentiate Y(t) to get r(t)/r(0), which is what I need to put in the path that should be evaluated in the payoff function

Wouldn't it be simpler to directly simulate r(t), instead (given that we have already the drift and diffusion coefficients already available in the SquareRootProcess class)?

Am I missing something?

Luca





-----Messaggio originale-----
Da: Luigi Ballabio [[hidden email]]
Inviato: mercoledì 7 aprile 2004 12:18
A: Berardi Luca
Cc: [hidden email]
Oggetto: Re: [Quantlib-users] Doubt in Montecarlo generation of paths



Ciao Luca,

On 2004.04.07 11:38, Berardi Luca wrote:
> I was looking at the code for setting up a generic Montecarlo
> simulation, in particular the PathGenerator class.
> There is something I could not really understand in the method next. 
> Looking at the section of code (where the brownian bridge is not
> used):
>
>             for (Size i=0; i<next_.value.size(); i++) {
>                 t = timeGrid_[i+1];
>                 dt = timeGrid_.dt(i);
>                 next_.value.drift()[i] = dt *
>                     diffProcess_->drift(t, asset_);
>                 next_.value.diffusion()[i] = sequence_.value[i] *
>                     QL_SQRT(diffProcess_->variance(t, asset_, dt));
>                 asset_ *= QL_EXP(next_.value.drift()[i] +
>                                  next_.value.diffusion()[i]);
>             }
>
> It not clear to me why asset_ is re-assigned as: asset_ *=
> QL_EXP(...).
> We are numerically integrating a diffusion process given by:
>
> d asset_ = drift(t, asset_)*dt + diffusion(t,asset_)*dW

No. We're integrating

d log(asset_) =  drift(t, asset_)*dt + diffusion(t,asset_)*dW

hence the exponential

> asset_ *=
>     QL_EXP(next_.value.drift()[i] + next_.value.diffusion()[i]);

(which by the way, can be written more concisely as

> asset_ *= QL_EXP(next_.value[i]);

if you're not concerned in separating the two components.)

Bye,
        Luigi


DISCLAIMER: Privileged/Confidential Information may be contained in this message and in any of its attachments (the "message"). If you are not the addressee indicated in this message (or responsible for delivery of the message to such person), you may not copy or deliver this message to anyone. In such case, you should destroy this message and kindly notify the sender by reply e-mail. The contents of this message shall be understood as neither given nor endorsed by Banca Profilo S.p.A., nor Profilo SGR S.p.A., nor Profilo Asset Management SGR S.p.A., nor Profilo Academy S.p.A.. Banca Profilo S.p.A., Profilo SGR S.p.A., Profilo Asset Management SGR S.p.A., Profilo Academy S.p.A. do not accept liability for corruption, interception or amendment, if any, or the consequences thereof.

Il presente messaggio e/o i suoi allegati (di seguito il "messaggio") possono contenere informazioni privilegiate e/o confidenziali. Se non siete i destinatari indicati nel messaggio (o persona incaricata di inoltrare il messaggio al/i destinatario/i), non potete copiare o inoltrare il messaggio ad altri e siete invitati a distruggerlo dandone informazione al mittente a mezzo e-mail. Il contenuto del presente messaggio non deve essere considerato come trasmesso o autorizzato nè da Banca Profilo S.p.A., nè da Profilo SGR S.p.A., nè da Profilo Asset Management SGR S.p.A., nè da Profilo Academy S.p.A.. Nè Banca Profilo S.p.A., nè Profilo SGR S.p.A., nè Profilo Asset Management SGR S.p.A., nè Profilo Academy S.p.A. si assumono alcuna responsabilità per eventuali intercettazioni, modifiche o danneggiamenti del presente messaggio e-mail e per le eventuali conseguenze.