28#include <ql/instruments/swap.hpp>
32class McLgmSwapEngine :
public GenericEngine<QuantLib::Swap::arguments, QuantLib::Swap::results>,
36 const SequenceType pricingPathGenerator,
const Size calibrationSamples,
const Size pricingSamples,
37 const Size calibrationSeed,
const Size pricingSeed,
const Size polynomOrder,
38 const LsmBasisSystem::PolynomialType polynomType,
39 const SobolBrownianGenerator::Ordering ordering = SobolBrownianGenerator::Steps,
40 const SobolRsg::DirectionIntegers directionIntegers = SobolRsg::JoeKuoD7,
41 const Handle<YieldTermStructure>& discountCurve = Handle<YieldTermStructure>(),
42 const std::vector<Date> simulationDates = std::vector<Date>(),
43 const std::vector<Size> externalModelIndices = std::vector<Size>(),
45 const Real regressionVarianceCutoff = Null<Real>())
50 calibrationPathGenerator, pricingPathGenerator, calibrationSamples, pricingSamples,
51 calibrationSeed, pricingSeed, polynomOrder, polynomType, ordering, directionIntegers,
52 {discountCurve}, simulationDates, externalModelIndices, minimalObsDate, regressorModel,
53 regressionVarianceCutoff) {
FX Black Scholes parametrizations.
McLgmSwapEngine(const QuantLib::ext::shared_ptr< LinearGaussMarkovModel > &model, const SequenceType calibrationPathGenerator, const SequenceType pricingPathGenerator, const Size calibrationSamples, const Size pricingSamples, const Size calibrationSeed, const Size pricingSeed, const Size polynomOrder, const LsmBasisSystem::PolynomialType polynomType, const SobolBrownianGenerator::Ordering ordering=SobolBrownianGenerator::Steps, const SobolRsg::DirectionIntegers directionIntegers=SobolRsg::JoeKuoD7, const Handle< YieldTermStructure > &discountCurve=Handle< YieldTermStructure >(), const std::vector< Date > simulationDates=std::vector< Date >(), const std::vector< Size > externalModelIndices=std::vector< Size >(), const bool minimalObsDate=true, const RegressorModel regressorModel=RegressorModel::Simple, const Real regressionVarianceCutoff=Null< Real >())
void calculate() const override
base MC engine for multileg (option) instruments