|
|
typedef MCVanillaEngine< SingleVariate, RNG, S >::path_generator_type | path_generator_type |
|
typedef MCVanillaEngine< SingleVariate, RNG, S >::path_pricer_type | path_pricer_type |
|
typedef MCVanillaEngine< SingleVariate, RNG, S >::stats_type | stats_type |
|
typedef MonteCarloModel< SingleVariate, PseudoRandom, Statistics >::path_generator_type | path_generator_type |
|
typedef MonteCarloModel< SingleVariate, PseudoRandom, Statistics >::path_pricer_type | path_pricer_type |
|
typedef MonteCarloModel< SingleVariate, PseudoRandom, Statistics >::stats_type | stats_type |
|
typedef MonteCarloModel< SingleVariate, PseudoRandom, Statistics >::result_type | result_type |
|
|
| MCDigitalEngine (const ext::shared_ptr< GeneralizedBlackScholesProcess > &, Size timeSteps, Size timeStepsPerYear, bool brownianBridge, bool antitheticVariate, Size requiredSamples, Real requiredTolerance, Size maxSamples, BigNatural seed) |
|
void | calculate () const override |
|
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
|
|
| ext::shared_ptr< path_pricer_type > | pathPricer () const override |
|
| MCVanillaEngine (ext::shared_ptr< StochasticProcess >, Size timeSteps, Size timeStepsPerYear, bool brownianBridge, bool antitheticVariate, bool controlVariate, Size requiredSamples, Real requiredTolerance, Size maxSamples, BigNatural seed) |
| TimeGrid | timeGrid () const override |
| ext::shared_ptr< path_generator_type > | pathGenerator () const override |
| result_type | controlVariateValue () const override |
|
| McSimulation (bool antitheticVariate, bool controlVariate) |
|
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 |
template<class RNG = PseudoRandom, class S = Statistics>
class QuantLib::MCDigitalEngine< RNG, S >
Pricing engine for digital options using Monte Carlo simulation.
Uses the Brownian Bridge correction for the barrier found in Going to Extremes: Correcting Simulation Bias in Exotic Option Valuation - D.R. Beaglehole, P.H. Dybvig and G. Zhou Financial Analysts Journal; Jan/Feb 1997; 53, 1. pg. 62-68 and Simulating path-dependent options: A new approach - M. El Babsiri and G. Noel Journal of Derivatives; Winter 1998; 6, 2; pg. 65-83
- Tests
- the correctness of the returned value in case of cash-or-nothing at-hit digital payoff is tested by reproducing known good results.