MCAmericanEngine< RNG, S > Class Template Reference
Pricing engines » Vanilla option engines

American Monte Carlo engine. More...

`#include <ql/pricingengines/vanilla/mcamericanengine.hpp>`

Inheritance diagram for MCAmericanEngine< RNG, S >:
[legend]

## Public Member Functions

| MCAmericanEngine (const boost::shared_ptr< GeneralizedBlackScholesProcess > &process, Size timeSteps, Size timeStepsPerYear, bool antitheticVariate, bool controlVariate, Size requiredSamples, Real requiredTolerance, Size maxSamples, BigNatural seed, Size polynomOrder, LsmBasisSystem::PolynomType polynomType, Size nCalibrationSamples=Null< Size >())
void | calculate () const
Public Member Functions inherited from MCLongstaffSchwartzEngine< VanillaOption::engine, SingleVariate, RNG, S >
| MCLongstaffSchwartzEngine (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 McSimulation< SingleVariate, 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

boost::shared_ptr< LongstaffSchwartzPathPricer< Path > > | lsmPathPricer () const
Real | controlVariateValue () const
boost::shared_ptr< PricingEngine > | controlPricingEngine () const
boost::shared_ptr< PathPricer< Path > > | controlPathPricer () const
Protected Member Functions inherited from MCLongstaffSchwartzEngine< VanillaOption::engine, SingleVariate, RNG, S >
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< SingleVariate, RNG, S >
| McSimulation (bool antitheticVariate, bool controlVariate)
virtual boost::shared_ptr< path_generator_type > | controlPathGenerator () const

## Additional Inherited Members

Public Types inherited from MCLongstaffSchwartzEngine< VanillaOption::engine, SingleVariate, RNG, S >
typedef SingleVariate< RNG >::path_type | path_type
typedef McSimulation< SingleVariate, RNG, S >::stats_type | stats_type
typedef McSimulation< SingleVariate, RNG, S >::path_pricer_type | path_pricer_type
typedef McSimulation< SingleVariate, RNG, S >::path_generator_type | path_generator_type
Public Types inherited from McSimulation< SingleVariate, RNG, S >
typedef MonteCarloModel< SingleVariate, RNG, S >::path_generator_type | path_generator_type
typedef MonteCarloModel< SingleVariate, RNG, S >::path_pricer_type | path_pricer_type
typedef MonteCarloModel< SingleVariate, RNG, S >::stats_type | stats_type
typedef MonteCarloModel< SingleVariate, RNG, S >::result_type | result_type
Static Protected Member Functions inherited from McSimulation< SingleVariate, RNG, S >
static Real | maxError (const Sequence &sequence)
static Real | maxError (Real error)
Protected Attributes inherited from MCLongstaffSchwartzEngine< VanillaOption::engine, SingleVariate, RNG, S >
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< LongstaffSchwartzPathPricer< path_type > > | pathPricer_
Protected Attributes inherited from McSimulation< SingleVariate, RNG, S >
boost::shared_ptr< MonteCarloModel< SingleVariate, RNG, S > > | mcModel_
bool | antitheticVariate_
bool | controlVariate_

## Detailed Description

### template<class RNG = PseudoRandom, class S = Statistics>
class QuantLib::MCAmericanEngine< RNG, S >

American Monte Carlo engine.

References:

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