Monte Carlo pricing engine for discrete arithmetic average price Asian. More...
#include <ql/pricingengines/asian/mc_discr_arith_av_price.hpp>
Public Member Functions | |
MCDiscreteArithmeticAPEngine (const ext::shared_ptr< GeneralizedBlackScholesProcess > &process, bool brownianBridge, bool antitheticVariate, bool controlVariate, Size requiredSamples, Real requiredTolerance, Size maxSamples, BigNatural seed) | |
![]() | |
MCDiscreteAveragingAsianEngine (const ext::shared_ptr< GeneralizedBlackScholesProcess > &process, bool brownianBridge, bool antitheticVariate, bool controlVariate, Size requiredSamples, Real requiredTolerance, Size maxSamples, BigNatural seed) | |
void | calculate () const |
![]() | |
PricingEngine::arguments * | getArguments () const |
const PricingEngine::results * | getResults () const |
void | reset () |
void | update () |
![]() | |
virtual arguments * | getArguments () const =0 |
virtual const results * | getResults () const =0 |
virtual void | calculate () const =0 |
![]() | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
void | notifyObservers () |
![]() | |
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 () |
![]() | |
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< path_pricer_type > | pathPricer () const |
ext::shared_ptr< path_pricer_type > | controlPathPricer () const |
ext::shared_ptr< PricingEngine > | controlPricingEngine () const |
![]() | |
TimeGrid | timeGrid () const |
ext::shared_ptr< path_generator_type > | pathGenerator () const |
Real | controlVariateValue () const |
![]() | |
McSimulation (bool antitheticVariate, bool controlVariate) | |
virtual ext::shared_ptr< path_pricer_type > | pathPricer () 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 |
Additional Inherited Members | |
![]() | |
static Real | maxError (const Sequence &sequence) |
static Real | maxError (Real error) |
![]() | |
ext::shared_ptr< GeneralizedBlackScholesProcess > | process_ |
Size | requiredSamples_ |
Size | maxSamples_ |
Real | requiredTolerance_ |
bool | brownianBridge_ |
BigNatural | seed_ |
![]() | |
DiscreteAveragingAsianOption::arguments | arguments_ |
DiscreteAveragingAsianOption::results | results_ |
![]() | |
ext::shared_ptr< MonteCarloModel< SingleVariate, PseudoRandom, Statistics > > | mcModel_ |
bool | antitheticVariate_ |
bool | controlVariate_ |
Monte Carlo pricing engine for discrete arithmetic average price Asian.
Monte Carlo pricing engine for discrete arithmetic average price Asian options. It can use MCDiscreteGeometricAPEngine (Monte Carlo discrete arithmetic average price engine) and AnalyticDiscreteGeometricAveragePriceAsianEngine (analytic discrete arithmetic average price engine) for control variation.