MCLongstaffSchwartzEngine Class Template Reference

#include <ql/pricingengines/mclongstaffschwartzengine.hpp>

Inheritance diagram for MCLongstaffSchwartzEngine:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class GenericEngine, template< class > class MC, class RNG, class S = Statistics>
class QuantLib::MCLongstaffSchwartzEngine< GenericEngine, MC, RNG, S >

Longstaff-Schwarz Monte Carlo engine for early exercise options.

References:

Francis Longstaff, Eduardo Schwartz, 2001. Valuing American Options by Simulation: A Simple Least-Squares Approach, The Review of Financial Studies, Volume 14, No. 1, 113-147

Tests:
the correctness of the returned value is tested by reproducing results available in web/literature


Public Types

typedef MC< RNG >::path_type path_type
typedef McSimulation< MC,
RNG, S >::stats_type 
stats_type
typedef McSimulation< MC,
RNG, S >::path_pricer_type 
path_pricer_type
typedef McSimulation< MC,
RNG, S >::path_generator_type 
path_generator_type

Public Member Functions

 MCLongstaffSchwartzEngine (Size timeSteps, Size timeStepsPerYear, bool brownianBridge, bool antitheticVariate, bool controlVariate, Size requiredSamples, Real requiredTolerance, Size maxSamples, BigNatural seed, Size nCalibrationSamples=Null< Size >())
void calculate () const

Protected Member Functions

virtual boost::shared_ptr<
LongstaffSchwartzPathPricer<
path_type > > 
lsmPathPricer () const=0
TimeGrid timeGrid () const
boost::shared_ptr< path_pricer_type > pathPricer () const
boost::shared_ptr< path_generator_type > pathGenerator () const

Protected Attributes

const Size timeSteps_
const Size timeStepsPerYear_
const bool brownianBridge_
const Size requiredSamples_
const Real requiredTolerance_
const Size maxSamples_
const Size seed_
const Size nCalibrationSamples_
boost::shared_ptr< LongstaffSchwartzPathPricer<
path_type > > 
pathPricer_