Logo
Reference manual - version ored_version
ModelCGImpl Class Referenceabstract
Inheritance diagram for ModelCGImpl:

Public Member Functions

 ModelCGImpl (const ModelCG::Type type, 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 QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig)
Real actualTimeFromReference (const Date &d) const override
const std::string & baseCcy () const override
const std::vector< std::string > & currencies () 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
ModelCG::Type type () const override
std::size_t cgVersion () const override
const std::vector< std::vector< std::size_t > > & randomVariates () const override
Public Member Functions inherited from ModelCG
 ModelCG (const QuantLib::Size n)
QuantLib::ext::shared_ptr< QuantExt::ComputationGraph > computationGraph ()
virtual QuantLib::Size size () const
virtual Size trainingSamples () const
virtual void toggleTrainingPaths () const
virtual void useStickyCloseOutDates (const bool b) const
virtual const Date & referenceDate () const =0
virtual std::size_t npv (const std::size_t amount, const Date &obsdate, const std::size_t filter, const std::optional< long > &memSlot, const std::set< std::size_t > addRegressors, const std::optional< std::set< std::size_t > > &overwriteRegressors) const =0
virtual std::set< std::size_t > npvRegressors (const Date &obsdate, const std::optional< std::set< std::string > > &relevantCurrencies) const =0
virtual std::size_t numeraire (const Date &s) const =0
virtual std::size_t fwdCompAvg (const bool isAvg, const std::string &index, 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 =0
virtual Real extractT0Result (const QuantExt::RandomVariable &value) const =0
virtual void resetNPVMem ()
const std::map< std::string, QuantLib::ext::any > & additionalResults () const
virtual Real getDirectFxSpotT0 (const std::string &forCcy, const std::string &domCcy) const =0
virtual Real getDirectDiscountT0 (const Date &paydate, const std::string &currency) const =0
void calculate () const override
std::set< ModelCG::ModelParameter > & modelParameters () const
std::set< ModelCG::ModelParameter > & cachedParameters () const
std::size_t addModelParameter (const ModelCG::ModelParameter &p, const std::function< double(void)> &f) const
std::tuple< QuantLib::Date, QuantLib::Date, std::size_t, std::size_t > getInterpolationWeights (const QuantLib::Date &d, const std::set< Date > &knownDates) const
std::tuple< std::size_t, std::size_t, std::size_t, std::size_t > getInterpolationWeights (const double t, const QuantLib::TimeGrid &knownTimes) const

Protected Member Functions

virtual std::size_t getIndexValue (const Size indexNo, const Date &d, const Date &fwd=Null< Date >()) const =0
virtual std::size_t getIrIndexValue (const Size indexNo, const Date &d, const Date &fwd=Null< Date >()) const =0
virtual std::size_t getInfIndexValue (const Size indexNo, const Date &d, const Date &fwd) const =0
virtual std::size_t getDiscount (const Size idx, const Date &s, const Date &t) const =0
virtual std::size_t getFxSpot (const Size idx) const =0
virtual std::size_t getFutureBarrierProb (const std::string &index, const Date &obsdate1, const Date &obsdate2, const std::size_t barrier, const bool above) const =0
void performCalculations () const override

Protected Attributes

ModelCG::Type type_
DayCounter dayCounter_
std::vector< std::string > currencies_
std::vector< std::string > indexCurrencies_
std::set< Date > simulationDates_
QuantLib::ext::shared_ptr< IborFallbackConfigiborFallbackConfig_
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_
Protected Attributes inherited from ModelCG
std::map< std::string, QuantLib::ext::any > additionalResults_
QuantLib::ext::shared_ptr< QuantExt::ComputationGraph > g_
std::set< ModelCG::ModelParametermodelParameters_
std::set< ModelCG::ModelParametercachedParameters_

Additional Inherited Members

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

Member Function Documentation

◆ actualTimeFromReference()

Real actualTimeFromReference ( const Date & d) const
overridevirtual

Implements ModelCG.

◆ baseCcy()

const std::string & baseCcy ( ) const
overridevirtual

Implements ModelCG.

◆ currencies()

const std::vector< std::string > & currencies ( ) const
overridevirtual

Implements ModelCG.

◆ dt()

std::size_t dt ( const Date & d1,
const Date & d2 ) const
overridevirtual

Reimplemented from ModelCG.

◆ pay()

std::size_t pay ( const std::size_t amount,
const Date & obsdate,
const Date & paydate,
const std::string & currency ) const
overridevirtual

Implements ModelCG.

◆ discount()

std::size_t discount ( const Date & obsdate,
const Date & paydate,
const std::string & currency ) const
overridevirtual

Implements ModelCG.

◆ eval()

std::size_t eval ( const std::string & index,
const Date & obsdate,
const Date & fwddate,
const bool returnMissingMissingAsNull = false,
const bool ignoreTodaysFixing = false ) const
overridevirtual

Implements ModelCG.

◆ fxSpotT0()

std::size_t fxSpotT0 ( const std::string & forCcy,
const std::string & domCcy ) const
overridevirtual

Implements ModelCG.

◆ barrierProbability()

std::size_t barrierProbability ( const std::string & index,
const Date & obsdate1,
const Date & obsdate2,
const std::size_t barrier,
const bool above ) const
overridevirtual

Implements ModelCG.

◆ type()

ModelCG::Type type ( ) const
overridevirtual

Implements ModelCG.

◆ cgVersion()

std::size_t cgVersion ( ) const
overridevirtual

Implements ModelCG.

◆ randomVariates()

const std::vector< std::vector< std::size_t > > & randomVariates ( ) const
overridevirtual

Implements ModelCG.