MCVarianceSwapEngine Class Template Reference
[Forward option engines]

#include <ql/pricingengines/forward/mcvarianceswapengine.hpp>

Inheritance diagram for MCVarianceSwapEngine:

List of all members.


Detailed Description

template<class RNG = PseudoRandom, class S = Statistics>
class QuantLib::MCVarianceSwapEngine< RNG, S >

Variance-swap pricing engine using Monte Carlo simulation,.

as described in Demeterfi, Derman, Kamal & Zou, "A Guide to Volatility and Variance Swaps", 1999

Possible enhancements:
define tolerance of numerical integral and incorporate it in errorEstimate
Tests:
returned fair variances checked for consistency with implied volatility curve.

Public Types

typedef McSimulation
< SingleVariate, RNG, S >
::path_generator_type 
path_generator_type
typedef McSimulation
< SingleVariate, RNG, S >
::path_pricer_type 
path_pricer_type
typedef McSimulation
< SingleVariate, RNG, S >
::stats_type 
stats_type

Public Member Functions

 MCVarianceSwapEngine (Size timeSteps, Size timeStepsPerYear, bool brownianBridge, bool antitheticVariate, Size requiredSamples, Real requiredTolerance, Size maxSamples, BigNatural seed)
void calculate () const

Protected Member Functions

boost::shared_ptr
< path_pricer_type > 
pathPricer () const
TimeGrid timeGrid () const
boost::shared_ptr
< path_generator_type > 
pathGenerator () const

Protected Attributes

Size timeSteps_
Size timeStepsPerYear_
Size requiredSamples_
Size maxSamples_
Real requiredTolerance_
bool brownianBridge_
BigNatural seed_