Longstaff-Schwarz Monte Carlo engine for early exercise options. More...
#include <ql/experimental/mcbasket/mclongstaffschwartzpathengine.hpp>
 Inheritance diagram for MCLongstaffSchwartzPathEngine< GenericEngine, MC, RNG, S >:
 Inheritance diagram for MCLongstaffSchwartzPathEngine< GenericEngine, MC, RNG, S >:| 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 Types inherited from Observer | |
| typedef std::set< boost::shared_ptr< Observable > > | set_type | 
| typedef set_type::iterator | iterator | 
|  Public Types inherited from McSimulation< MC, RNG, S > | |
| typedef MonteCarloModel< MC, RNG, S >::path_generator_type | path_generator_type | 
| typedef MonteCarloModel< MC, RNG, S >::path_pricer_type | path_pricer_type | 
| typedef MonteCarloModel< MC, RNG, S >::stats_type | stats_type | 
| typedef MonteCarloModel< MC, RNG, S >::result_type | result_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 | 
|  Public Member Functions inherited from GenericEngine< ArgumentsType, ResultsType > | |
| PricingEngine::arguments * | getArguments () const | 
| const PricingEngine::results * | getResults () const | 
| void | reset () | 
| void | update () | 
|  Public Member Functions inherited from Observable | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) | 
| void | notifyObservers () | 
|  Public Member Functions inherited from Observer | |
| Observer (const Observer &) | |
| Observer & | operator= (const Observer &) | 
| std::pair< iterator, bool > | registerWith (const boost::shared_ptr< Observable > &) | 
| void | registerWithObservables (const boost::shared_ptr< Observer > &) | 
| Size | unregisterWith (const boost::shared_ptr< Observable > &) | 
| void | unregisterWithAll () | 
| virtual void | deepUpdate () | 
|  Public Member Functions inherited from McSimulation< MC, RNG, S > | |
| result_type | value (Real tolerance, Size maxSamples=QL_MAX_INTEGER, Size minSamples=1023) const | 
| add samples until the required absolute tolerance is reached | |
| result_type | valueWithSamples (Size samples) const | 
| simulate a fixed number of samples | |
| result_type | errorEstimate () const | 
| error estimated using the samples simulated so far | |
| const stats_type & | sampleAccumulator (void) const | 
| access to the sample accumulator for richer statistics | |
| void | calculate (Real requiredTolerance, Size requiredSamples, Size maxSamples) const | 
| basic calculate method provided to inherited pricing engines | |
| 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 Member Functions inherited from McSimulation< MC, RNG, S > | |
| McSimulation (bool antitheticVariate, bool controlVariate) | |
| virtual boost::shared_ptr< path_pricer_type > | controlPathPricer () const | 
| virtual boost::shared_ptr< path_generator_type > | controlPathGenerator () const | 
| virtual boost::shared_ptr< PricingEngine > | controlPricingEngine () const | 
| virtual result_type | controlVariateValue () 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_ | 
|  Protected Attributes inherited from GenericEngine< ArgumentsType, ResultsType > | |
| ArgumentsType | arguments_ | 
| ResultsType | results_ | 
|  Protected Attributes inherited from McSimulation< MC, RNG, S > | |
| boost::shared_ptr< MonteCarloModel< MC, RNG, S > > | mcModel_ | 
| bool | antitheticVariate_ | 
| bool | controlVariate_ | 
| Additional Inherited Members | |
|  Static Protected Member Functions inherited from McSimulation< MC, RNG, S > | |
| template<class Sequence > | |
| static Real | maxError (const Sequence &sequence) | 
| static Real | maxError (Real error) | 
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