- QuantLib
- McSimulation
 
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 (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 < path_generator_type > | controlPathGenerator () const | 
| virtual boost::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 | |
| boost::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.