MCLongstaffSchwartzPathEngine< GenericEngine, MC, RNG, S > Class Template Reference

Longstaff-Schwarz Monte Carlo engine for early exercise options. More...

#include <ql/experimental/mcbasket/mclongstaffschwartzpathengine.hpp>

Inheritance diagram for MCLongstaffSchwartzPathEngine< GenericEngine, MC, RNG, S >:

List of all members.

Public Types

typedef MC< RNG >::path_type path_type
typedef McSimulation< MC, RNG,
S >::stats_type 
stats_type
typedef McSimulation< MC, RNG,
S >::path_pricer_type 
path_pricer_type
typedef McSimulation< MC, RNG,
S >::path_generator_type 
path_generator_type

Public Member Functions

 MCLongstaffSchwartzPathEngine (const boost::shared_ptr< StochasticProcess > &process, Size timeSteps, Size timeStepsPerYear, bool brownianBridge, bool antitheticVariate, bool controlVariate, Size requiredSamples, Real requiredTolerance, Size maxSamples, BigNatural seed, Size nCalibrationSamples=Null< Size >())
void calculate () const

Protected Member Functions

virtual boost::shared_ptr
< LongstaffSchwartzMultiPathPricer
lsmPathPricer () const =0
TimeGrid timeGrid () const
boost::shared_ptr
< path_pricer_type > 
pathPricer () const
boost::shared_ptr
< path_generator_type > 
pathGenerator () const

Protected Attributes

boost::shared_ptr
< StochasticProcess
process_
const Size timeSteps_
const Size timeStepsPerYear_
const bool brownianBridge_
const Size requiredSamples_
const Real requiredTolerance_
const Size maxSamples_
const Size seed_
const Size nCalibrationSamples_
boost::shared_ptr
< LongstaffSchwartzMultiPathPricer
pathPricer_

Detailed Description

template<class GenericEngine, template< class > class MC, class RNG, class S = Statistics>
class QuantLib::MCLongstaffSchwartzPathEngine< GenericEngine, MC, RNG, S >

Longstaff-Schwarz Monte Carlo engine for early exercise options.

References:

Francis Longstaff, Eduardo Schwartz, 2001. Valuing American Options by Simulation: A Simple Least-Squares Approach, The Review of Financial Studies, Volume 14, No. 1, 113-147

Tests:
the correctness of the returned value is tested by reproducing results available in web/literature