base class for Monte Carlo engines More...
#include <ql/pricingengines/mcsimulation.hpp>
Public Types | |
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 | |
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 | |
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 |
Static Protected Member Functions | |
template<class Sequence > | |
static Real | maxError (const Sequence &sequence) |
static Real | maxError (Real error) |
Protected Attributes | |
ext::shared_ptr< MonteCarloModel< MC, RNG, S > > | mcModel_ |
bool | antitheticVariate_ |
bool | controlVariate_ |
base class for Monte Carlo engines
Eventually this class might offer greeks methods. Deriving a class from McSimulation gives an easy way to write a Monte Carlo engine.
See McVanillaEngine as an example.