QuantLib: MCAmericanBasketEngine< RNG > Class Template Reference

A free/open-source library for quantitative finance Reference manual - version 1.20

Public Member Functions | Protected Member Functions | List of all members
MCAmericanBasketEngine< RNG > Class Template Reference
Pricing engines » Basket option engines

least-square Monte Carlo engine More...

`#include <ql/pricingengines/basket/mcamericanbasketengine.hpp>`

Inheritance diagram for MCAmericanBasketEngine< RNG >:
[legend]

## Public Member Functions
| MCAmericanBasketEngine (const ext::shared_ptr< StochasticProcessArray > &, Size timeSteps, Size timeStepsPerYear, bool brownianBridge, bool antitheticVariate, Size requiredSamples, Real requiredTolerance, Size maxSamples, BigNatural seed, Size nCalibrationSamples=Null< Size >(), Size polynomOrder=2, LsmBasisSystem::PolynomType polynomType=LsmBasisSystem::Monomial)
Public Member Functions inherited from MCLongstaffSchwartzEngine< BasketOption::engine, MultiVariate, PseudoRandom >
| MCLongstaffSchwartzEngine (const ext::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 >(), boost::optional< bool > brownianBridgeCalibration=boost::none, boost::optional< bool > antitheticVariateCalibration=boost::none, BigNatural seedCalibration=Null< Size >())
void | calculate () const
Public Member Functions inherited from GenericEngine< BasketOption::arguments, BasketOption::results >
PricingEngine::arguments * | getArguments () const
const PricingEngine::results * | getResults () const
void | reset ()
void | update ()
Public Member Functions inherited from PricingEngine
virtual arguments * | getArguments () const =0
virtual const results * | getResults () const =0
virtual void | calculate () const =0
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 ext::shared_ptr< Observable > &)
void | registerWithObservables (const ext::shared_ptr< Observer > &)
Size | unregisterWith (const ext::shared_ptr< Observable > &)
void | unregisterWithAll ()
virtual void | deepUpdate ()
Public Member Functions inherited from McSimulation< MultiVariate, PseudoRandom, Statistics >
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 () 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
ext::shared_ptr< LongstaffSchwartzPathPricer< MultiPath > > | lsmPathPricer () const
Protected Member Functions inherited from MCLongstaffSchwartzEngine< BasketOption::engine, MultiVariate, PseudoRandom >
virtual ext::shared_ptr< LongstaffSchwartzPathPricer< path_type > > | lsmPathPricer () const=0
TimeGrid | timeGrid () const
ext::shared_ptr< path_pricer_type > | pathPricer () const
ext::shared_ptr< path_generator_type > | pathGenerator () const
Protected Member Functions inherited from McSimulation< MultiVariate, PseudoRandom, Statistics >
| McSimulation (bool antitheticVariate, bool controlVariate)
virtual ext::shared_ptr< path_pricer_type > | controlPathPricer () const
virtual ext::shared_ptr< path_generator_type > | controlPathGenerator () const
virtual ext::shared_ptr< PricingEngine > | controlPricingEngine () const
virtual result_type | controlVariateValue () const

## Additional Inherited Members
Public Types inherited from MCLongstaffSchwartzEngine< BasketOption::engine, MultiVariate, PseudoRandom >
typedef MultiVariate< PseudoRandom >::path_type | path_type
typedef McSimulation< MultiVariate, PseudoRandom, Statistics >::stats_type | stats_type
typedef McSimulation< MultiVariate, PseudoRandom, Statistics >::path_pricer_type | path_pricer_type
typedef McSimulation< MultiVariate, PseudoRandom, Statistics >::path_generator_type | path_generator_type
typedef McSimulation< MultiVariate, PseudoRandom, Statistics >::path_generator_type | path_generator_type_calibration
Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator
Public Types inherited from McSimulation< MultiVariate, PseudoRandom, Statistics >
typedef MonteCarloModel< MultiVariate, PseudoRandom, Statistics >::path_generator_type | path_generator_type
typedef MonteCarloModel< MultiVariate, PseudoRandom, Statistics >::path_pricer_type | path_pricer_type
typedef MonteCarloModel< MultiVariate, PseudoRandom, Statistics >::stats_type | stats_type
typedef MonteCarloModel< MultiVariate, PseudoRandom, Statistics >::result_type | result_type
Static Protected Member Functions inherited from McSimulation< MultiVariate, PseudoRandom, Statistics >
static Real | maxError (const Sequence &sequence)
static Real | maxError (Real error)
Protected Attributes inherited from MCLongstaffSchwartzEngine< BasketOption::engine, MultiVariate, PseudoRandom >
ext::shared_ptr< StochasticProcess > | process_
const Size | timeSteps_
const Size | timeStepsPerYear_
const bool | brownianBridge_
const Size | requiredSamples_
const Real | requiredTolerance_
const Size | maxSamples_
const BigNatural | seed_
const Size | nCalibrationSamples_
const bool | brownianBridgeCalibration_
const bool | antitheticVariateCalibration_
const BigNatural | seedCalibration_
ext::shared_ptr< LongstaffSchwartzPathPricer< path_type > > | pathPricer_
ext::shared_ptr< MonteCarloModel< MultiVariate, PseudoRandom, Statistics > > | mcModelCalibration_
Protected Attributes inherited from GenericEngine< BasketOption::arguments, BasketOption::results >
BasketOption::arguments | arguments_
BasketOption::results | results_
Protected Attributes inherited from McSimulation< MultiVariate, PseudoRandom, Statistics >
ext::shared_ptr< MonteCarloModel< MultiVariate, PseudoRandom, Statistics > > | mcModel_
bool | antitheticVariate_
bool | controlVariate_

## Detailed Description

### template<class RNG = PseudoRandom>
class QuantLib::MCAmericanBasketEngine< RNG >

least-square Monte Carlo engine

Warning:
  This method is intrinsically weak for out-of-the-money options.