QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
|
Heston MC pricing engine for discrete geometric average price Asian. More...
#include <ql/pricingengines/asian/mc_discr_geom_av_price_heston.hpp>
Public Types | |
typedef MCDiscreteAveragingAsianEngineBase< MultiVariate, RNG, S >::path_generator_type | path_generator_type |
typedef MCDiscreteAveragingAsianEngineBase< MultiVariate, RNG, S >::path_pricer_type | path_pricer_type |
typedef MCDiscreteAveragingAsianEngineBase< MultiVariate, RNG, S >::stats_type | stats_type |
Public Types inherited from MCDiscreteAveragingAsianEngineBase< MC, RNG, S > | |
typedef McSimulation< MC, RNG, S >::path_generator_type | path_generator_type |
typedef McSimulation< MC, RNG, S >::path_pricer_type | path_pricer_type |
typedef McSimulation< MC, RNG, S >::stats_type | stats_type |
Public Types inherited from Observer | |
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 | |
MCDiscreteGeometricAPHestonEngine (const ext::shared_ptr< P > &process, bool antitheticVariate, Size requiredSamples, Real requiredTolerance, Size maxSamples, BigNatural seed, Size timeSteps=Null< Size >(), Size timeStepsPerYear=Null< Size >()) | |
Public Member Functions inherited from MCDiscreteAveragingAsianEngineBase< MC, RNG, S > | |
MCDiscreteAveragingAsianEngineBase (ext::shared_ptr< StochasticProcess > process, bool brownianBridge, bool antitheticVariate, bool controlVariate, Size requiredSamples, Real requiredTolerance, Size maxSamples, BigNatural seed, Size timeSteps=Null< Size >(), Size timeStepsPerYear=Null< Size >()) | |
void | calculate () const override |
Public Member Functions inherited from GenericEngine< DiscreteAveragingAsianOption::arguments, DiscreteAveragingAsianOption::results > | |
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 () | |
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< path_pricer_type > | pathPricer () const override |
Protected Member Functions inherited from MCDiscreteAveragingAsianEngineBase< MC, RNG, S > | |
TimeGrid | timeGrid () const override |
ext::shared_ptr< path_generator_type > | pathGenerator () const override |
Real | controlVariateValue () 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 |
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) |
Protected Attributes inherited from MCDiscreteAveragingAsianEngineBase< MC, RNG, S > | |
ext::shared_ptr< StochasticProcess > | process_ |
Size | requiredSamples_ |
Size | maxSamples_ |
Size | timeSteps_ |
Size | timeStepsPerYear_ |
Real | requiredTolerance_ |
bool | brownianBridge_ |
BigNatural | seed_ |
Protected Attributes inherited from GenericEngine< DiscreteAveragingAsianOption::arguments, DiscreteAveragingAsianOption::results > | |
DiscreteAveragingAsianOption::arguments | arguments_ |
DiscreteAveragingAsianOption::results | results_ |
Protected Attributes inherited from McSimulation< MC, RNG, S > | |
ext::shared_ptr< MonteCarloModel< MC, RNG, S > > | mcModel_ |
bool | antitheticVariate_ |
bool | controlVariate_ |
Heston MC pricing engine for discrete geometric average price Asian.
By default, the MC discretization will use 1 time step per fixing date, but this can be controlled via timeSteps or timeStepsPerYear parameter, which will provide additional timesteps. The grid tries to space as evenly as it can and does not guarantee to match an exact number of steps, the precise grid used can be found in results_.additionalResults["TimeGrid"]
Definition at line 48 of file mc_discr_geom_av_price_heston.hpp.
typedef MCDiscreteAveragingAsianEngineBase<MultiVariate,RNG,S>::path_generator_type path_generator_type |
Definition at line 51 of file mc_discr_geom_av_price_heston.hpp.
typedef MCDiscreteAveragingAsianEngineBase<MultiVariate,RNG,S>::path_pricer_type path_pricer_type |
Definition at line 52 of file mc_discr_geom_av_price_heston.hpp.
typedef MCDiscreteAveragingAsianEngineBase<MultiVariate,RNG,S>::stats_type stats_type |
Definition at line 53 of file mc_discr_geom_av_price_heston.hpp.
MCDiscreteGeometricAPHestonEngine | ( | const ext::shared_ptr< P > & | process, |
bool | antitheticVariate, | ||
Size | requiredSamples, | ||
Real | requiredTolerance, | ||
Size | maxSamples, | ||
BigNatural | seed, | ||
Size | timeSteps = Null<Size>() , |
||
Size | timeStepsPerYear = Null<Size>() |
||
) |
Definition at line 114 of file mc_discr_geom_av_price_heston.hpp.
|
overrideprotectedvirtual |
Implements McSimulation< MC, RNG, S >.
Definition at line 140 of file mc_discr_geom_av_price_heston.hpp.