McSimulation Class Template Reference
#include <ql/PricingEngines/mcsimulation.hpp>
Inheritance diagram for McSimulation:

Detailed Description
template<class MC, class S = Statistics>
class QuantLib::McSimulation< MC, S >
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.
Public Types | |
|
typedef MonteCarloModel< MC, S >::path_generator_type | path_generator_type |
|
typedef MonteCarloModel< MC, S >::path_pricer_type | path_pricer_type |
|
typedef MonteCarloModel< MC, S >::stats_type | stats_type |
Public Member Functions | |
| Real | value (Real tolerance, Size maxSamples=QL_MAX_INTEGER, Size minSamples=1023) const |
| add samples until the required absolute tolerance is reached | |
| Real | valueWithSamples (Size samples) const |
| simulate a fixed number of samples | |
| Real | 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 | |
| McSimulation (bool antitheticVariate, bool controlVariate) | |
|
virtual boost::shared_ptr< path_pricer_type > | pathPricer () const=0 |
|
virtual boost::shared_ptr< path_generator_type > | pathGenerator () const=0 |
| virtual TimeGrid | timeGrid () const=0 |
|
virtual boost::shared_ptr< path_pricer_type > | controlPathPricer () const |
|
virtual boost::shared_ptr< PricingEngine > | controlPricingEngine () const |
| virtual Real | controlVariateValue () const |
Protected Attributes | |
|
boost::shared_ptr< MonteCarloModel< MC, S > > | mcModel_ |
| bool | antitheticVariate_ |
| bool | controlVariate_ |