#include <ored/scripting/models/modelcgimpl.hpp>
Public Member Functions | |
ModelCGImpl (const DayCounter &dayCounter, const Size size, const std::vector< std::string > ¤cies, 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 ¤cy) const override |
std::size_t | discount (const Date &obsdate, const Date &paydate, const std::string ¤cy) 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) | |
virtual | ~ModelCG () |
QuantLib::ext::shared_ptr< QuantExt::ComputationGraph > | computationGraph () |
virtual Type | type () const =0 |
virtual QuantLib::Size | size () const |
virtual Size | trainingSamples () const |
virtual void | toggleTrainingPaths () const |
virtual const Date & | referenceDate () const =0 |
virtual const std::string & | baseCcy () 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 ¤cy) const =0 |
virtual std::size_t | discount (const Date &obsdate, const Date &paydate, const std::string ¤cy) const =0 |
virtual 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 =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 | 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, boost::any > & | additionalResults () const |
virtual std::size_t | cgVersion () const =0 |
virtual const std::vector< std::vector< std::size_t > > & | randomVariates () const =0 |
virtual std::vector< std::pair< std::size_t, double > > | modelParameters () const =0 |
virtual std::vector< std::pair< std::size_t, std::function< double(void)> > > & | modelParameterFunctors () const =0 |
virtual Real | getDirectFxSpotT0 (const std::string &forCcy, const std::string &domCcy) const =0 |
virtual Real | getDirectDiscountT0 (const Date &paydate, const std::string ¤cy) const =0 |
void | calculate () const override |
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 | getNumeraire (const Date &s) 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 |
std::size_t | addModelParameter (const std::string &id, std::function< double(void)> f) const |
void | performCalculations () const override |
Protected Attributes | |
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< IndexInfo > | indices_ |
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::ComputationGraph > | g_ |
Private Member Functions | |
std::size_t | getInflationIndexFixing (const bool returnMissingFixingAsNull, const std::string &indexInput, const QuantLib::ext::shared_ptr< ZeroInflationIndex > &infIndex, const Size indexNo, const Date &limDate, const Date &obsdate, const Date &fwddate, const Date &baseDate) const |
Private Attributes | |
std::size_t | cgVersion_ = 0 |
QuantLib::Date | cgEvalDate_ = Date() |
Additional Inherited Members | |
Public Types inherited from ModelCG | |
enum class | Type { MC , FD } |
Definition at line 45 of file modelcgimpl.hpp.
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 | ||
) |
Definition at line 37 of file modelcgimpl.cpp.
|
overridevirtual |
|
overridevirtual |
Reimplemented from ModelCG.
Definition at line 103 of file modelcgimpl.cpp.
|
overridevirtual |
Implements ModelCG.
Definition at line 107 of file modelcgimpl.cpp.
|
overridevirtual |
Implements ModelCG.
Definition at line 153 of file modelcgimpl.cpp.
|
overridevirtual |
Implements ModelCG.
Definition at line 197 of file modelcgimpl.cpp.
|
overridevirtual |
Implements ModelCG.
Definition at line 369 of file modelcgimpl.cpp.
|
overridevirtual |
Implements ModelCG.
Definition at line 390 of file modelcgimpl.cpp.
|
overridevirtual |
Implements ModelCG.
Definition at line 441 of file modelcgimpl.cpp.
|
overridevirtual |
Implements ModelCG.
Definition at line 453 of file modelcgimpl.cpp.
|
overridevirtual |
Implements ModelCG.
Definition at line 458 of file modelcgimpl.cpp.
|
overridevirtual |
Implements ModelCG.
Definition at line 463 of file modelcgimpl.cpp.
|
overridevirtual |
Implements ModelCG.
Definition at line 472 of file modelcgimpl.cpp.
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protected |
|
overrideprotected |
Definition at line 443 of file modelcgimpl.cpp.
|
private |
Definition at line 171 of file modelcgimpl.cpp.
|
protected |
Definition at line 112 of file modelcgimpl.hpp.
|
protected |
Definition at line 113 of file modelcgimpl.hpp.
|
protected |
Definition at line 114 of file modelcgimpl.hpp.
|
protected |
Definition at line 115 of file modelcgimpl.hpp.
|
protected |
Definition at line 116 of file modelcgimpl.hpp.
|
protected |
Definition at line 118 of file modelcgimpl.hpp.
|
protected |
Definition at line 119 of file modelcgimpl.hpp.
|
protected |
Definition at line 120 of file modelcgimpl.hpp.
|
mutableprotected |
Definition at line 123 of file modelcgimpl.hpp.
|
mutableprotected |
Definition at line 124 of file modelcgimpl.hpp.
|
mutableprivate |
Definition at line 133 of file modelcgimpl.hpp.
|
mutableprivate |
Definition at line 134 of file modelcgimpl.hpp.