#include <ored/scripting/models/fdgaussiancam.hpp>
Public Member Functions | |
FdGaussianCam (const Handle< CrossAssetModel > &cam, const std::string ¤cy, const Handle< YieldTermStructure > &curve, const std::vector< std::pair< std::string, QuantLib::ext::shared_ptr< InterestRateIndex > > > &irIndices, const std::set< Date > &simulationDates, const Size stateGridPoints=50, const Size timeStepsPerYear=24, const Real mesherEpsilon=1E-4, const IborFallbackConfig &iborFallbackConfig=IborFallbackConfig::defaultConfig()) | |
Type | type () const override |
const Date & | referenceDate () const override |
RandomVariable | npv (const RandomVariable &amount, const Date &obsdate, const Filter &filter, const boost::optional< long > &memSlot, const RandomVariable &addRegressor1, const RandomVariable &addRegressor2) const override |
RandomVariable | 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 override |
Real | extractT0Result (const RandomVariable &result) const override |
RandomVariable | pay (const RandomVariable &amount, const Date &obsdate, const Date &paydate, const std::string ¤cy) const override |
void | releaseMemory () override |
![]() | |
ModelImpl (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 |
Real | dt (const Date &d1, const Date &d2) const override |
RandomVariable | pay (const RandomVariable &amount, const Date &obsdate, const Date &paydate, const std::string ¤cy) const override |
RandomVariable | discount (const Date &obsdate, const Date &paydate, const std::string ¤cy) const override |
RandomVariable | eval (const std::string &index, const Date &obsdate, const Date &fwddate, const bool returnMissingMissingAsNull=false, const bool ignoreTodaysFixing=false) const override |
Real | fxSpotT0 (const std::string &forCcy, const std::string &domCcy) const override |
RandomVariable | barrierProbability (const std::string &index, const Date &obsdate1, const Date &obsdate2, const RandomVariable &barrier, const bool above) const override |
Real | extractT0Result (const RandomVariable &value) const override |
![]() | |
Model (const Size n) | |
virtual | ~Model () |
virtual Type | type () const =0 |
virtual 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 Real | dt (const Date &d1, const Date &d2) const |
Real | timeFromReference (const Date &d) const |
virtual RandomVariable | pay (const RandomVariable &amount, const Date &obsdate, const Date &paydate, const std::string ¤cy) const =0 |
virtual RandomVariable | discount (const Date &obsdate, const Date &paydate, const std::string ¤cy) const =0 |
virtual RandomVariable | npv (const RandomVariable &amount, const Date &obsdate, const Filter &filter, const boost::optional< long > &memSlot, const RandomVariable &addRegressor1, const RandomVariable &addRegressor2) const =0 |
virtual RandomVariable | eval (const std::string &index, const Date &obsdate, const Date &fwddate, const bool returnMissingFixingAsNull=false, const bool ignoreTodaysFixing=false) const =0 |
virtual RandomVariable | 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 RandomVariable | barrierProbability (const std::string &index, const Date &obsdate1, const Date &obsdate2, const RandomVariable &barrier, const bool above) const =0 |
virtual Real | fxSpotT0 (const std::string &forCcy, const std::string &domCcy) const =0 |
virtual Real | extractT0Result (const RandomVariable &value) const =0 |
virtual void | releaseMemory () |
virtual void | resetNPVMem () |
const std::map< std::string, boost::any > & | additionalResults () const |
Private Member Functions | |
void | performCalculations () const override |
RandomVariable | getFutureBarrierProb (const std::string &index, const Date &obsdate1, const Date &obsdate2, const RandomVariable &barrier, const bool above) const override |
RandomVariable | getIndexValue (const Size indexNo, const Date &d, const Date &fwd=Null< Date >()) const override |
RandomVariable | getIrIndexValue (const Size indexNo, const Date &d, const Date &fwd=Null< Date >()) const override |
RandomVariable | getInfIndexValue (const Size indexNo, const Date &d, const Date &fwd=Null< Date >()) const override |
RandomVariable | getDiscount (const Size idx, const Date &s, const Date &t) const override |
RandomVariable | getNumeraire (const Date &s) const override |
Real | getFxSpot (const Size idx) const override |
Private Attributes | |
Handle< CrossAssetModel > | cam_ |
std::string | currency_ |
Handle< YieldTermStructure > | curve_ |
std::set< Date > | simulationDates_ |
Size | stateGridPoints_ |
Size | timeStepsPerYear_ |
Real | mesherEpsilon_ |
IborFallbackConfig | iborFallbackConfig_ |
Date | referenceDate_ |
std::set< Date > | effectiveSimulationDates_ |
std::unique_ptr< LgmBackwardSolver > | solver_ |
std::map< std::tuple< Size, Date, Date >, RandomVariable > | irIndexValueCache_ |
Additional Inherited Members | |
![]() | |
enum class | Type { MC , FD } |
virtual RandomVariable | getIndexValue (const Size indexNo, const Date &d, const Date &fwd=Null< Date >()) const =0 |
virtual RandomVariable | getIrIndexValue (const Size indexNo, const Date &d, const Date &fwd=Null< Date >()) const =0 |
virtual RandomVariable | getInfIndexValue (const Size indexNo, const Date &d, const Date &fwd) const =0 |
virtual RandomVariable | getDiscount (const Size idx, const Date &s, const Date &t) const =0 |
virtual RandomVariable | getNumeraire (const Date &s) const =0 |
virtual Real | getFxSpot (const Size idx) const =0 |
virtual RandomVariable | getFutureBarrierProb (const std::string &index, const Date &obsdate1, const Date &obsdate2, const RandomVariable &barrier, const bool above) const =0 |
![]() | |
void | performCalculations () const override |
![]() | |
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::map< std::string, boost::any > | additionalResults_ |
Definition at line 39 of file fdgaussiancam.hpp.
FdGaussianCam | ( | const Handle< CrossAssetModel > & | cam, |
const std::string & | currency, | ||
const Handle< YieldTermStructure > & | curve, | ||
const std::vector< std::pair< std::string, QuantLib::ext::shared_ptr< InterestRateIndex > > > & | irIndices, | ||
const std::set< Date > & | simulationDates, | ||
const Size | stateGridPoints = 50 , |
||
const Size | timeStepsPerYear = 24 , |
||
const Real | mesherEpsilon = 1E-4 , |
||
const IborFallbackConfig & | iborFallbackConfig = IborFallbackConfig::defaultConfig() |
||
) |
Definition at line 43 of file fdgaussiancam.cpp.
|
overridevirtual |
|
overridevirtual |
Implements Model.
Definition at line 65 of file fdgaussiancam.cpp.
|
overridevirtual |
Implements Model.
Definition at line 191 of file fdgaussiancam.cpp.
|
overridevirtual |
Implements Model.
Definition at line 135 of file fdgaussiancam.cpp.
|
overridevirtual |
Implements Model.
Definition at line 222 of file fdgaussiancam.cpp.
|
overridevirtual |
Implements Model.
Definition at line 184 of file fdgaussiancam.cpp.
|
overridevirtual |
Reimplemented from Model.
Definition at line 70 of file fdgaussiancam.cpp.
|
overrideprivate |
Definition at line 72 of file fdgaussiancam.cpp.
|
overrideprivatevirtual |
Implements ModelImpl.
Definition at line 102 of file fdgaussiancam.cpp.
|
overrideprivatevirtual |
Implements ModelImpl.
Definition at line 107 of file fdgaussiancam.cpp.
|
overrideprivatevirtual |
Implements ModelImpl.
Definition at line 111 of file fdgaussiancam.cpp.
|
overrideprivatevirtual |
Implements ModelImpl.
Definition at line 131 of file fdgaussiancam.cpp.
|
overrideprivatevirtual |
Implements ModelImpl.
Definition at line 169 of file fdgaussiancam.cpp.
|
overrideprivatevirtual |
Implements ModelImpl.
Definition at line 174 of file fdgaussiancam.cpp.
|
overrideprivatevirtual |
Implements ModelImpl.
Definition at line 179 of file fdgaussiancam.cpp.
|
private |
Definition at line 80 of file fdgaussiancam.hpp.
|
private |
Definition at line 81 of file fdgaussiancam.hpp.
|
private |
Definition at line 82 of file fdgaussiancam.hpp.
|
private |
Definition at line 83 of file fdgaussiancam.hpp.
|
private |
Definition at line 84 of file fdgaussiancam.hpp.
|
private |
Definition at line 85 of file fdgaussiancam.hpp.
|
private |
Definition at line 86 of file fdgaussiancam.hpp.
|
private |
Definition at line 87 of file fdgaussiancam.hpp.
|
mutableprivate |
Definition at line 90 of file fdgaussiancam.hpp.
|
mutableprivate |
Definition at line 91 of file fdgaussiancam.hpp.
|
mutableprivate |
Definition at line 92 of file fdgaussiancam.hpp.
|
mutableprivate |
Definition at line 95 of file fdgaussiancam.hpp.