Public Member Functions | |
| McCamEquityForwardEngine (const Handle< EquityIndex2 > &equityIndex, const Handle< CrossAssetModel > &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 std::vector< Date > &simulationDates=std::vector< Date >(), const std::vector< Date > &stickyCloseOutDates=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 >(), const bool recalibrateOnStickyCloseOutDates=false, const bool reevaluateExerciseInStickyRun=false, const Size cfOnCpnMaxSimTimes=1, const Period &cfOnCpnAddSimTimesCutoff=Period(), const Size regressionMaxSimTimesIr=0, const Size regressionMaxSimTimesFx=0, const Size regressionMaxSimTimesEq=0, const VarGroupMode regressionVarGroupMode=VarGroupMode::Global) | |
| const Handle< CrossAssetModel > & | model () const |
| Public Member Functions inherited from McMultiLegBaseEngine | |
| McMultiLegBaseEngine (const Handle< CrossAssetModel > &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, const SobolRsg::DirectionIntegers directionIntegers, const std::vector< Handle< YieldTermStructure > > &discountCurves=std::vector< Handle< YieldTermStructure > >(), const std::vector< Date > &simulationDates=std::vector< Date >(), const std::vector< Date > &stickyCloseOutDates=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 >(), const bool recalibrateOnStickyCloseOutDates=false, const bool reevaluateExerciseInStickyRun=false, const Size cfOnCpnMaxSimTimes=1, const Period &cfOnCpnAddSimTimesCutoff=Period(), const Size regressionMaxSimTimesIr=0, const Size regressionMaxSimTimesFx=0, const Size regressionMaxSimTimesEq=0, const VarGroupMode regressionVarGroupMode=VarGroupMode::Global) | |
| virtual | ~McMultiLegBaseEngine () |
| Destructor. | |
| void | calculate () const |
| QuantLib::ext::shared_ptr< AmcCalculator > | amcCalculator () const |
| virtual RandomVariable | overwritePathValueUndDirty (double t, const RandomVariable &pathValueUndDirty, const std::set< Real > &exerciseXvaTimes, const std::vector< std::vector< QuantExt::RandomVariable > > &paths) const |
| virtual bool | useOverwritePathValueUndDirty () const |
| void | generatePathValues (const std::vector< Real > &simulationTimes, std::vector< std::vector< RandomVariable > > &pathValues) const |
| void | calculateModels (const std::set< Real > &simulationTimes, const std::set< Real > &exerciseXvaTimes, const std::set< Real > &exerciseTimes, const std::set< Real > &xvaTimes, const std::vector< CashflowInfo > &cashflowInfo, const std::vector< std::vector< RandomVariable > > &pathValues, const std::vector< std::vector< const RandomVariable * > > &pathValuesRef, std::vector< RegressionModel > ®ModelUndDirty, std::vector< RegressionModel > ®ModelUndExInto, std::vector< RegressionModel > ®ModelRebate, std::vector< RegressionModel > ®ModelContinuationValue, std::vector< RegressionModel > ®ModelOption, RandomVariable &pathValueUndDirty, RandomVariable &pathValueUndExInto, RandomVariable &pathValueOption) const |
| Real | time (const Date &d) const |
| CashflowInfo | createCashflowInfo (QuantLib::ext::shared_ptr< CashFlow > flow, const Currency &payCcy, bool payer, Size legNo, Size cfNo) const |
| Size | timeIndex (const Time t, const std::set< Real > &simulationTimes) const |
| RandomVariable | cashflowPathValue (const CashflowInfo &cf, const std::vector< std::vector< RandomVariable > > &pathValues, const std::set< Real > &simulationTimes) const |
Additional Inherited Members | |
| Public Types inherited from McMultiLegBaseEngine | |
| enum | RegressorModel { Simple , Lagged , LaggedIR , LaggedFX , LaggedEQ } |
| enum | VarGroupMode { Global , Trivial } |
| Public Attributes inherited from McMultiLegBaseEngine | |
| std::vector< Leg > | leg_ |
| std::vector< Currency > | currency_ |
| std::vector< bool > | payer_ |
| QuantLib::ext::shared_ptr< Exercise > | exercise_ |
| Settlement::Type | optionSettlement_ = Settlement::Physical |
| std::vector< QuantLib::Date > | cashSettlementDates_ |
| bool | exerciseIntoIncludeSameDayFlows_ = false |
| Handle< CrossAssetModel > | model_ |
| SequenceType | calibrationPathGenerator_ |
| SequenceType | pricingPathGenerator_ |
| Size | calibrationSamples_ |
| Size | pricingSamples_ |
| Size | calibrationSeed_ |
| Size | pricingSeed_ |
| Size | polynomOrder_ |
| LsmBasisSystem::PolynomialType | polynomType_ |
| SobolBrownianGenerator::Ordering | ordering_ |
| SobolRsg::DirectionIntegers | directionIntegers_ |
| std::vector< Handle< YieldTermStructure > > | discountCurves_ |
| std::vector< Date > | simulationDates_ |
| std::vector< Date > | stickyCloseOutDates_ |
| std::vector< Size > | externalModelIndices_ |
| bool | minimalObsDate_ |
| RegressorModel | regressorModel_ |
| Real | regressionVarianceCutoff_ |
| bool | recalibrateOnStickyCloseOutDates_ |
| bool | reevaluateExerciseInStickyRun_ |
| Size | cfOnCpnMaxSimTimes_ |
| Period | cfOnCpnAddSimTimesCutoff_ |
| Size | regressionMaxSimTimesIr_ |
| Size | regressionMaxSimTimesFx_ |
| Size | regressionMaxSimTimesEq_ |
| VarGroupMode | regressionVarGroupMode_ |
| bool | includeTodaysCashflows_ |
| bool | includeReferenceDateEvents_ |
| QuantLib::ext::shared_ptr< AmcCalculator > | amcCalculator_ |
| Real | resultUnderlyingNpv_ |
| Real | resultValue_ |
| Date | today_ |
| std::vector< LgmVectorised > | lgmVectorised_ |
| Static Public Attributes inherited from McMultiLegBaseEngine | |
| static constexpr Real | tinyTime = 1E-10 |