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

Classes

class  ModelParameter

Public Types

enum class  Type { MC , FD }

Public Member Functions

 ModelCG (const QuantLib::Size n)
QuantLib::ext::shared_ptr< QuantExt::ComputationGraph > computationGraph ()
virtual ModelCG::Type type () const =0
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 Real actualTimeFromReference (const Date &d) const =0
virtual const std::string & baseCcy () const =0
virtual const std::vector< std::string > & currencies () const =0
virtual std::size_t dt (const Date &d1, const Date &d2) const
virtual std::size_t pay (const std::size_t amount, const Date &obsdate, const Date &paydate, const std::string &currency) const =0
virtual std::size_t discount (const Date &obsdate, const Date &paydate, const std::string &currency) 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 eval (const std::string &index, const Date &obsdate, const Date &fwddate, const bool returnMissingFixingAsNull=false, const bool ignoreTodaysFixing=false) 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 std::size_t barrierProbability (const std::string &index, const Date &obsdate1, const Date &obsdate2, const std::size_t barrier, const bool above) const =0
virtual std::size_t fxSpotT0 (const std::string &forCcy, const std::string &domCcy) 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 std::size_t cgVersion () const =0
virtual const std::vector< std::vector< std::size_t > > & randomVariates () const =0
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 Attributes

std::map< std::string, QuantLib::ext::any > additionalResults_
QuantLib::ext::shared_ptr< QuantExt::ComputationGraph > g_
std::set< ModelCG::ModelParametermodelParameters_
std::set< ModelCG::ModelParametercachedParameters_