Question on GeometricBrownianMotionProcess

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

Question on GeometricBrownianMotionProcess

Samuel Quinodoz

Dear QuantLib-users,

 

I have started using QuantLib around three weeks ago, so my question is maybe a bit basic, but I can’t find a reasonable answer by myself.

 

I want to use a GeometricBrownianMotionProcess to simulate paths for a Monte Carlo simulation. However, I could not get correct answers so I decided to compare the paths obtained with this class and those obtained with the more general BlackScholesMertonProcess. Again, I could not get the same answers (from the same realizations of the random generator).

 

I had a deeper look in the code (and in the documentation) and I can see that the evolve method is the way to construct paths (from MultiPathGenerator) from a process. Then, I get lost in the evolve method of the GeometricBrownianMotionProcess class. Where is the exponential function hidden? I can’t understand why this evolve corresponds to the geometric Brownian motion. Is there a transformation to apply after having called evolve?

 

All the answers are highly appreciated!

 

Best regards,

 

Samuel Quinodoz


------------------------------------------------------------------------------
LogMeIn Central: Instant, anywhere, Remote PC access and management.
Stay in control, update software, and manage PCs from one command center
Diagnose problems and improve visibility into emerging IT issues
Automate, monitor and manage. Do more in less time with Central
http://p.sf.net/sfu/logmein12331_d2d
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Question on GeometricBrownianMotionProcess

mathusard
Hi,

I actually had the same surprise when I looked closer at the evolve method of GeometricBrownianMotionProcess, i.e it outcomes the log of the value of the GBM process for each time step and I would have naturally expected to get the true value of the process.

Is there any fundamental reason for that? I might be missing a point here...

Kind regards,
Mathieu

Samuel Quinodoz wrote
Dear QuantLib-users,

I have started using QuantLib around three weeks ago, so my question is maybe a bit basic, but I can't find a reasonable answer by myself.

I want to use a GeometricBrownianMotionProcess to simulate paths for a Monte Carlo simulation. However, I could not get correct answers so I decided to compare the paths obtained with this class and those obtained with the more general BlackScholesMertonProcess. Again, I could not get the same answers (from the same realizations of the random generator).

I had a deeper look in the code (and in the documentation) and I can see that the evolve method is the way to construct paths (from MultiPathGenerator) from a process. Then, I get lost in the evolve method of the GeometricBrownianMotionProcess class. Where is the exponential function hidden? I can't understand why this evolve corresponds to the geometric Brownian motion. Is there a transformation to apply after having called evolve?

All the answers are highly appreciated!

Best regards,

Samuel Quinodoz

------------------------------------------------------------------------------
LogMeIn Central: Instant, anywhere, Remote PC access and management.
Stay in control, update software, and manage PCs from one command center
Diagnose problems and improve visibility into emerging IT issues
Automate, monitor and manage. Do more in less time with Central
http://p.sf.net/sfu/logmein12331_d2d
_______________________________________________
QuantLib-users mailing list
QuantLib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Question on GeometricBrownianMotionProcess

Luigi Ballabio
In reply to this post by Samuel Quinodoz
Hi,
    I'm not sure I get the question.  GeometricBrownianMotionProcess
doesn't use logs; it uses the true value of the underlying (and
accordingly, the mu it's taking should not be corrected with Ito's
lemma; that is, for Black-Scholes it should be r-q without the
0.5*sigma^2 term).  evolve() just adds the drift and diffusion term to
the underlying value.

Instead, logarithms are used in the GeneralizedBlackScholesProcess,
and this causes some inconsistency between its methods.  drift() and
diffusion() return the drift and diffusion terms for the log of the
underlying; instead, evolve() returns the new true value for the
underlying (the exponentiation happens in the apply() method, which is
called by evolve().  This might cause the differences you're seeing.

Later,
    Luigi


On Tue, Nov 20, 2012 at 3:36 PM, mathusard <[hidden email]> wrote:

>
> Hi,
>
> I actually had the same surprise when I looked closer at the evolve method
> of GeometricBrownianMotionProcess, i.e it outcomes the log of the value of
> the GBM process for each time step and I would have naturally expected to
> get the true value of the process.
>
> Is there any fundamental reason for that? I might be missing a point here...
>
> Kind regards,
> Mathieu
>
>
> Samuel Quinodoz wrote:
>>
>> Dear QuantLib-users,
>>
>> I have started using QuantLib around three weeks ago, so my question is
>> maybe a bit basic, but I can't find a reasonable answer by myself.
>>
>> I want to use a GeometricBrownianMotionProcess to simulate paths for a
>> Monte Carlo simulation. However, I could not get correct answers so I
>> decided to compare the paths obtained with this class and those obtained
>> with the more general BlackScholesMertonProcess. Again, I could not get
>> the same answers (from the same realizations of the random generator).
>>
>> I had a deeper look in the code (and in the documentation) and I can see
>> that the evolve method is the way to construct paths (from
>> MultiPathGenerator) from a process. Then, I get lost in the evolve method
>> of the GeometricBrownianMotionProcess class. Where is the exponential
>> function hidden? I can't understand why this evolve corresponds to the
>> geometric Brownian motion. Is there a transformation to apply after having
>> called evolve?
>>
>> All the answers are highly appreciated!
>>
>> Best regards,
>>
>> Samuel Quinodoz
>>
>> ------------------------------------------------------------------------------
>> LogMeIn Central: Instant, anywhere, Remote PC access and management.
>> Stay in control, update software, and manage PCs from one command center
>> Diagnose problems and improve visibility into emerging IT issues
>> Automate, monitor and manage. Do more in less time with Central
>> http://p.sf.net/sfu/logmein12331_d2d
>> _______________________________________________
>> QuantLib-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>>
>>
>
> --
> View this message in context: http://old.nabble.com/Question-on-GeometricBrownianMotionProcess-tp34633802p34701943.html
> Sent from the quantlib-users mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> Monitor your physical, virtual and cloud infrastructure from a single
> web console. Get in-depth insight into apps, servers, databases, vmware,
> SAP, cloud infrastructure, etc. Download 30-day Free Trial.
> Pricing starts from $795 for 25 servers or applications!
> http://p.sf.net/sfu/zoho_dev2dev_nov
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users