MCVarianceSwapEngine Class Template Reference
[Forward option engines]

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

Inheritance diagram for MCVarianceSwapEngine:

Inheritance graph
[legend]
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

Todo:
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_