Logo
Reference manual - version ored_version
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GaussianCamCG Class Reference
+ Inheritance diagram for GaussianCamCG:

Public Member Functions

 GaussianCamCG (const Handle< CrossAssetModel > &cam, const Size paths, const std::vector< std::string > &currencies, const std::vector< Handle< YieldTermStructure >> &curves, const std::vector< Handle< Quote >> &fxSpots, const std::vector< std::pair< std::string, QuantLib::ext::shared_ptr< InterestRateIndex >>> &irIndices, const std::vector< std::pair< std::string, QuantLib::ext::shared_ptr< ZeroInflationIndex >>> &infIndices, const std::vector< std::string > &indices, const std::vector< std::string > &indexCurrencies, const std::set< Date > &simulationDates, const Size timeStepsPerYear=1, const IborFallbackConfig &iborFallbackConfig=IborFallbackConfig::defaultConfig(), const std::vector< Size > &projectedStateProcessIndices={}, const std::vector< std::string > &conditionalExpectationModelStates={}, const bool sloppySimDates=false)
 
Type type () const override
 
const Date & referenceDate () const override
 
std::size_t npv (const std::size_t amount, const Date &obsdate, const std::size_t filter, const boost::optional< long > &memSlot, const std::size_t addRegressor1, const std::size_t addRegressor2) const override
 
std::size_t fwdCompAvg (const bool isAvg, const std::string &indexInput, const Date &obsdate, const Date &start, const Date &end, const Real spread, const Real gearing, const Integer lookback, const Natural rateCutoff, const Natural fixingDays, const bool includeSpread, const Real cap, const Real floor, const bool nakedOption, const bool localCapFloor) const override
 
QuantLib::Size size () const override
 
Real getDirectFxSpotT0 (const std::string &forCcy, const std::string &domCcy) const override
 
Real getDirectDiscountT0 (const Date &paydate, const std::string &currency) const override
 
- Public Member Functions inherited from ModelCGImpl
 ModelCGImpl (const DayCounter &dayCounter, const Size size, const std::vector< std::string > &currencies, const std::vector< std::pair< std::string, QuantLib::ext::shared_ptr< InterestRateIndex >>> &irIndices, const std::vector< std::pair< std::string, QuantLib::ext::shared_ptr< ZeroInflationIndex >>> &infIndices, const std::vector< std::string > &indices, const std::vector< std::string > &indexCurrencies, const std::set< Date > &simulationDates, const IborFallbackConfig &iborFallbackConfig)
 
const std::string & baseCcy () const override
 
std::size_t dt (const Date &d1, const Date &d2) const override
 
std::size_t pay (const std::size_t amount, const Date &obsdate, const Date &paydate, const std::string &currency) const override
 
std::size_t discount (const Date &obsdate, const Date &paydate, const std::string &currency) const override
 
std::size_t eval (const std::string &index, const Date &obsdate, const Date &fwddate, const bool returnMissingMissingAsNull=false, const bool ignoreTodaysFixing=false) const override
 
std::size_t fxSpotT0 (const std::string &forCcy, const std::string &domCcy) const override
 
std::size_t barrierProbability (const std::string &index, const Date &obsdate1, const Date &obsdate2, const std::size_t barrier, const bool above) const override
 
Real extractT0Result (const RandomVariable &value) const override
 
std::size_t cgVersion () const override
 
const std::vector< std::vector< std::size_t > > & randomVariates () const override
 
std::vector< std::pair< std::size_t, double > > modelParameters () const override
 
std::vector< std::pair< std::size_t, std::function< double(void)> > > & modelParameterFunctors () const override
 
- Public Member Functions inherited from ModelCG
 ModelCG (const QuantLib::Size n)
 
QuantLib::ext::shared_ptr< QuantExt::ComputationGraphcomputationGraph ()
 
virtual Size trainingSamples () const
 
virtual void toggleTrainingPaths () const
 
virtual void resetNPVMem ()
 
const std::map< std::string, boost::any > & additionalResults () const
 
void calculate () const override
 

Protected Member Functions

virtual std::size_t getFutureBarrierProb (const std::string &index, const Date &obsdate1, const Date &obsdate2, const std::size_t barrier, const bool above) const override
 
void performCalculations () const override
 
std::size_t getIndexValue (const Size indexNo, const Date &d, const Date &fwd=Null< Date >()) const override
 
std::size_t getIrIndexValue (const Size indexNo, const Date &d, const Date &fwd=Null< Date >()) const override
 
std::size_t getInfIndexValue (const Size indexNo, const Date &d, const Date &fwd=Null< Date >()) const override
 
std::size_t getDiscount (const Size idx, const Date &s, const Date &t) const override
 
std::size_t getNumeraire (const Date &s) const override
 
std::size_t getFxSpot (const Size idx) const override
 
- Protected Member Functions inherited from ModelCGImpl
std::size_t addModelParameter (const std::string &id, std::function< double(void)> f) const
 
void performCalculations () const override
 

Protected Attributes

const Handle< CrossAssetModelcam_
 
const std::vector< Handle< YieldTermStructure > > curves_
 
const std::vector< Handle< Quote > > fxSpots_
 
const Size timeStepsPerYear_
 
const std::vector< Size > projectedStateProcessIndices_
 
const bool sloppySimDates_
 
Date referenceDate_
 
std::set< Date > effectiveSimulationDates_
 
TimeGrid timeGrid_
 
std::vector< Size > positionInTimeGrid_
 
std::map< Date, std::vector< std::size_t > > underlyingPaths_
 
std::map< Date, std::vector< std::size_t > > irStates_
 
std::map< Date, std::vector< std::pair< std::size_t, std::size_t > > > infStates_
 
std::vector< Size > indexPositionInProcess_
 
std::vector< Size > infIndexPositionInProcess_
 
std::vector< Size > currencyPositionInProcess_
 
std::vector< Size > irIndexPositionInCam_
 
std::vector< Size > infIndexPositionInCam_
 
std::vector< Size > currencyPositionInCam_
 
std::vector< Size > eqIndexInCam_
 
bool conditionalExpectationUseIr_
 
bool conditionalExpectationUseInf_
 
bool conditionalExpectationUseAsset_
 
std::size_t underlyingPathsCgVersion_ = 0
 
const std::vector< QuantLib::Real > * injectedPathTimes_ = nullptr
 
const std::vector< std::vector< std::size_t > > * injectedPaths_ = nullptr
 
const std::vector< bool > * injectedPathIsRelevantTime_
 
bool injectedPathStickyCloseOutRun_
 
Size overwriteModelSize_ = Null<Size>()
 
- Protected Attributes inherited from ModelCGImpl
const DayCounter dayCounter_
 
const std::vector< std::string > currencies_
 
const std::vector< std::string > indexCurrencies_
 
const std::set< Date > simulationDates_
 
const IborFallbackConfig iborFallbackConfig_
 
std::vector< std::pair< IndexInfo, QuantLib::ext::shared_ptr< InterestRateIndex > > > irIndices_
 
std::vector< std::pair< IndexInfo, QuantLib::ext::shared_ptr< ZeroInflationIndex > > > infIndices_
 
std::vector< IndexInfoindices_
 
std::vector< std::vector< size_t > > randomVariates_
 
std::vector< std::pair< std::size_t, std::function< double(void)> > > modelParameters_
 
- Protected Attributes inherited from ModelCG
std::map< std::string, boost::any > additionalResults_
 
QuantLib::ext::shared_ptr< QuantExt::ComputationGraphg_
 

Additional Inherited Members

- Public Types inherited from ModelCG
enum class  Type { MC , FD }