http://quantlib.414.s1.nabble.com/RandomSequenceGenerator-RNG-dimensionality-tp913p918.html
you want on the path generator you instantiated. The MonteCarloModel,
value. That depends on the derivative you want to price; you can see,
for example, <ql/pricingengines/vanilla/mceuropeanengine.hpp>. Looking
> Thanks for the suggestions! I have defined the random-sequence
> generator, and then PathGenerator; then the compilation passed.
>
> The whole problem is: I wish to do monte-carlo simulation on
> geometric-brownian-motion process. So I have defined
> GeometricBrownianMotion process and associated PathGenerator by using
> QuantLib, shown in the following code:
>
> // u01_rng
> srand( time(NULL) );
> Ranlux3UniformRng u01_rng( rand() );
>
> // u01_generator
> RandomSequenceGenerator<Ranlux3UniformRng> u01_generator(
> num_timeUnits, u01_rng
> );
>
> // gsg
> typedef
> InverseCumulativeRsg<RandomSequenceGenerator<Ranlux3UniformRng>,InverseCumulativeNormal> gbm_gsg_type;
> gbm_gsg_type gsg( u01_generator );
>
> // gbm_process
> boost::shared_ptr<StochasticProcess1D> gbm_process(
> new GeometricBrownianMotionProcess( S0, miu, sigma )
> );
>
> // gbm_generator_ptr
> boost::shared_ptr<PathGenerator<gbm_gsg_type> >
> gbm_generator_ptr(
> new PathGenerator<gbm_gsg_type>(
> gbm_process, dt, num_timeUnits, gsg, false
> )
> );
>
>
> I wish to apply MonteCarloModel to the above PathGenerator
> 'gbm_generator_ptr', to simulate multiple price paths. May I ask,
> what is the correct way to define 'MonteCarloModel' then? Thanks a
> lot!
>
> Regards,
>
> Hong Yu
>
>
>
> > Subject: RE: [Quantlib-users] RandomSequenceGenerator<RNG>:
> 'dimensionality'
> > From:
[hidden email]
> > To:
[hidden email]
> > CC:
[hidden email]
> > Date: Wed, 13 Jul 2011 11:39:21 +0200
> >
> >
> > You can define the sequence generator like you were trying to do
> > previously. In this case, the dimension you'll have to pass will be
> the
> > number of steps in the path, since that's how many random numbers
> you'll
> > need to generate each path.
> >
> > Luigi
> >
> >
> > On Wed, 2011-07-13 at 08:56 +0000, YuHong wrote:
> > >
> > > Thanks for the suggestion! So I'd rather present a more important
> > > question:
> > >
> > > ??? usg;
> > > InverseCumulativeRsg<USG,InverseCumulativeNormal> gsg( ?usg? );
> > >
> > > In the above code, I wish to define 'gsg', an instance of class
> > > InverseCumulativeRsg<USG, InverseCumulativeNorma>. 'gsg' will
> later
> > > be used in PathGenerator instance for
> GeometricBrownianMotionProcess
> > > simulation. The 'gsg' constructor needs parameter 'usg' of USG
> type,
> > > a uniformSequenceGenerator with class method 'dimension()'.
> > >
> > > May I ask, how to define the uniformSequenceGenerator 'usg' by
> using
> > > QuantLib? Thanks a lot!
> > >
> > > Regards,
> > >
> > > Hong Yu
> > >
> > >
> > >
> > > > Subject: Re: [Quantlib-users] RandomSequenceGenerator<RNG>:
> > > 'dimensionality'
> > > > From:
[hidden email]
> > > > To:
[hidden email]
> > > > CC:
[hidden email]
> > > > Date: Wed, 13 Jul 2011 10:37:07 +0200
> > > >
> > > > On Wed, 2011-07-13 at 08:01 +0000, YuHong wrote:
> > > > >
> > > > > I am trying to create a uniformly distributed random sequence
> > > > > generator via the following code:
> > > > >
> > > > > srand( time(NULL) );
> > > > > Ranlux3UniformRng u01_rng( rand() );
> > > > > RandomSequenceGenerator<Ranlux3UniformRng>
> > > > > u01_generator( ?dimensionality?, u01_rng );
> > > > >
> > > > > In the above code line-3, I need to specify the
> 'dimensionality'
> > > > > parameter. May I ask, what does the 'dimensionality' parameter
> > > mean,
> > > > > and how to determine the correct parameter value? Thanks a
> lot!
> > > >
> > > > The RandomSequenceGenerator is for generating tuples (the word
> > > > 'sequence' might be misleading there.) The dimensionality is the
> > > size
> > > > of each tuple you want to be generated. As Obi-Wan Kenobi once
> said,
> > > > these are not the droids you're looking for.
> > > >
> > > > In your case, you can just use the Ranlux3UniformRng you
> > > instantiated
> > > > and call next() repeatedly.
> > > >
> > > > Luigi
> > > >
> > > >
> > > > --
> > > >
> > > > Brady's First Law of Problem Solving:
> > > > When confronted by a difficult problem, you can solve it more
> > > > easily by reducing it to the question, "How would the Lone
> > > > Ranger have handled this?"
> > > >
> > > >
> > >
> >
> > --
> >
> > Everything that can be invented has been invented.
> > -- Charles Duell, Director of U.S. Patent Office, 1899
> >
> >
>
Glendower: I can call spirits from the vasty deep.