|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
American Monte Carlo engine. More...
#include <mcamericanengine.hpp>
Inheritance diagram for MCAmericanEngine< RNG, S, RNG_Calibration >:
Collaboration diagram for MCAmericanEngine< RNG, S, RNG_Calibration >:Public Member Functions | |
| MCAmericanEngine (const ext::shared_ptr< GeneralizedBlackScholesProcess > &process, Size timeSteps, Size timeStepsPerYear, bool antitheticVariate, bool controlVariate, Size requiredSamples, Real requiredTolerance, Size maxSamples, BigNatural seed, Size polynomialOrder, LsmBasisSystem::PolynomialType polynomialType, Size nCalibrationSamples=Null< Size >(), const ext::optional< bool > &antitheticVariateCalibration=ext::nullopt, BigNatural seedCalibration=Null< Size >()) | |
| void | calculate () const override |
Public Member Functions inherited from MCLongstaffSchwartzEngine< GenericEngine, MC, RNG, S, RNG_Calibration > | |
| MCLongstaffSchwartzEngine (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 >(), ext::optional< bool > brownianBridgeCalibration=ext::nullopt, ext::optional< bool > antitheticVariateCalibration=ext::nullopt, BigNatural seedCalibration=Null< Size >()) | |
| void | calculate () const override |
Public Member Functions inherited from GenericEngine< ArgumentsType, ResultsType > | |
| PricingEngine::arguments * | getArguments () const override |
| const PricingEngine::results * | getResults () const override |
| void | reset () override |
| void | update () override |
Public Member Functions inherited from PricingEngine | |
| ~PricingEngine () override=default | |
| virtual arguments * | getArguments () const =0 |
| virtual const results * | getResults () const =0 |
| virtual void | reset ()=0 |
| virtual void | calculate () const =0 |
Public Member Functions inherited from Observable | |
| Observable ()=default | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) |
| Observable (Observable &&)=delete | |
| Observable & | operator= (Observable &&)=delete |
| virtual | ~Observable ()=default |
| void | notifyObservers () |
Public Member Functions inherited from Observer | |
| Observer ()=default | |
| Observer (const Observer &) | |
| Observer & | operator= (const Observer &) |
| virtual | ~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 | update ()=0 |
| virtual void | deepUpdate () |
Public Member Functions inherited from McSimulation< MC, RNG, S > | |
| virtual | ~McSimulation ()=default |
| result_type | value (Real tolerance, Size maxSamples=QL_MAX_INTEGER, Size minSamples=1023) const |
| add samples until the required absolute tolerance is reached More... | |
| result_type | valueWithSamples (Size samples) const |
| simulate a fixed number of samples More... | |
| result_type | errorEstimate () const |
| error estimated using the samples simulated so far More... | |
| const stats_type & | sampleAccumulator () const |
| access to the sample accumulator for richer statistics More... | |
| void | calculate (Real requiredTolerance, Size requiredSamples, Size maxSamples) const |
| basic calculate method provided to inherited pricing engines More... | |
Protected Member Functions | |
| ext::shared_ptr< LongstaffSchwartzPathPricer< Path > > | lsmPathPricer () const override |
| Real | controlVariateValue () const override |
| ext::shared_ptr< PricingEngine > | controlPricingEngine () const override |
| ext::shared_ptr< PathPricer< Path > > | controlPathPricer () const override |
Protected Member Functions inherited from MCLongstaffSchwartzEngine< GenericEngine, MC, RNG, S, RNG_Calibration > | |
| virtual ext::shared_ptr< LongstaffSchwartzPathPricer< path_type > > | lsmPathPricer () const =0 |
| TimeGrid | timeGrid () const override |
| ext::shared_ptr< path_pricer_type > | pathPricer () const override |
| ext::shared_ptr< path_generator_type > | pathGenerator () const override |
Protected Member Functions inherited from McSimulation< MC, RNG, S > | |
| McSimulation (bool antitheticVariate, bool controlVariate) | |
| virtual ext::shared_ptr< path_pricer_type > | pathPricer () const =0 |
| virtual ext::shared_ptr< path_generator_type > | pathGenerator () const =0 |
| virtual TimeGrid | timeGrid () const =0 |
| 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 |
Private Attributes | |
| const Size | polynomialOrder_ |
| const LsmBasisSystem::PolynomialType | polynomialType_ |
American Monte Carlo engine.
References:
Definition at line 52 of file mcamericanengine.hpp.
| MCAmericanEngine | ( | const ext::shared_ptr< GeneralizedBlackScholesProcess > & | process, |
| Size | timeSteps, | ||
| Size | timeStepsPerYear, | ||
| bool | antitheticVariate, | ||
| bool | controlVariate, | ||
| Size | requiredSamples, | ||
| Real | requiredTolerance, | ||
| Size | maxSamples, | ||
| BigNatural | seed, | ||
| Size | polynomialOrder, | ||
| LsmBasisSystem::PolynomialType | polynomialType, | ||
| Size | nCalibrationSamples = Null<Size>(), |
||
| const ext::optional< bool > & | antitheticVariateCalibration = ext::nullopt, |
||
| BigNatural | seedCalibration = Null<Size>() |
||
| ) |
Definition at line 142 of file mcamericanengine.hpp.
|
overridevirtual |
Reimplemented from MCLongstaffSchwartzEngine< GenericEngine, MC, RNG, S, RNG_Calibration >.
Definition at line 175 of file mcamericanengine.hpp.
|
overrideprotectedvirtual |
Implements MCLongstaffSchwartzEngine< GenericEngine, MC, RNG, S, RNG_Calibration >.
Definition at line 187 of file mcamericanengine.hpp.
|
overrideprotectedvirtual |
Reimplemented from McSimulation< MC, RNG, S >.
Definition at line 246 of file mcamericanengine.hpp.
|
overrideprotectedvirtual |
Reimplemented from McSimulation< MC, RNG, S >.
Definition at line 234 of file mcamericanengine.hpp.
|
overrideprotectedvirtual |
Reimplemented from McSimulation< MC, RNG, S >.
Definition at line 213 of file mcamericanengine.hpp.
|
private |
Definition at line 81 of file mcamericanengine.hpp.
|
private |
Definition at line 82 of file mcamericanengine.hpp.