#include <ored/scripting/models/blackscholescgbase.hpp>
Public Member Functions | |
BlackScholesCGBase (const Size paths, const std::vector< std::string > ¤cies, 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 Handle< BlackScholesModelWrapper > &model, const std::map< std::pair< std::string, std::string >, Handle< QuantExt::CorrelationTermStructure > > &correlations, const std::set< Date > &simulationDates, const IborFallbackConfig &iborFallbackConfig) | |
BlackScholesCGBase (const Size paths, const std::string ¤cy, const Handle< YieldTermStructure > &curve, const std::string &index, const std::string &indexCurrency, const Handle< BlackScholesModelWrapper > &model, const std::set< Date > &simulationDates, const IborFallbackConfig &iborFallbackConfig) | |
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 |
Real | getDirectFxSpotT0 (const std::string &forCcy, const std::string &domCcy) const override |
Real | getDirectDiscountT0 (const Date &paydate, const std::string ¤cy) const override |
![]() | |
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 |
![]() | |
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 | |
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 |
![]() | |
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 std::vector< Handle< YieldTermStructure > > | curves_ |
const std::vector< Handle< Quote > > | fxSpots_ |
const Handle< BlackScholesModelWrapper > | model_ |
const std::map< std::pair< std::string, std::string >, Handle< QuantExt::CorrelationTermStructure > > | correlations_ |
const std::vector< Date > | simulationDates_ |
Date | referenceDate_ |
std::set< Date > | effectiveSimulationDates_ |
TimeGrid | timeGrid_ |
std::vector< Size > | positionInTimeGrid_ |
std::map< Date, std::vector< std::size_t > > | underlyingPaths_ |
std::size_t | underlyingPathsCgVersion_ = 0 |
![]() | |
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_ |
![]() | |
std::map< std::string, boost::any > | additionalResults_ |
QuantLib::ext::shared_ptr< QuantExt::ComputationGraph > | g_ |
Additional Inherited Members | |
![]() | |
enum class | Type { MC , FD } |
Definition at line 40 of file blackscholescgbase.hpp.
BlackScholesCGBase | ( | 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 Handle< BlackScholesModelWrapper > & | model, | ||
const std::map< std::pair< std::string, std::string >, Handle< QuantExt::CorrelationTermStructure > > & | correlations, | ||
const std::set< Date > & | simulationDates, | ||
const IborFallbackConfig & | iborFallbackConfig | ||
) |
Definition at line 49 of file blackscholescgbase.cpp.
BlackScholesCGBase | ( | const Size | paths, |
const std::string & | currency, | ||
const Handle< YieldTermStructure > & | curve, | ||
const std::string & | index, | ||
const std::string & | indexCurrency, | ||
const Handle< BlackScholesModelWrapper > & | model, | ||
const std::set< Date > & | simulationDates, | ||
const IborFallbackConfig & | iborFallbackConfig | ||
) |
Definition at line 41 of file blackscholescgbase.cpp.
|
overridevirtual |
|
overridevirtual |
Implements ModelCG.
Definition at line 88 of file blackscholescgbase.cpp.
|
overridevirtual |
Implements ModelCG.
Definition at line 260 of file blackscholescgbase.cpp.
|
overridevirtual |
Implements ModelCG.
Definition at line 185 of file blackscholescgbase.cpp.
|
overridevirtual |
Implements ModelCG.
Definition at line 238 of file blackscholescgbase.cpp.
|
overridevirtual |
Implements ModelCG.
Definition at line 253 of file blackscholescgbase.cpp.
|
overrideprotected |
Definition at line 93 of file blackscholescgbase.cpp.
|
overrideprotectedvirtual |
Implements ModelCGImpl.
Definition at line 127 of file blackscholescgbase.cpp.
|
overrideprotectedvirtual |
Implements ModelCGImpl.
Definition at line 155 of file blackscholescgbase.cpp.
|
overrideprotectedvirtual |
Implements ModelCGImpl.
Definition at line 166 of file blackscholescgbase.cpp.
|
overrideprotectedvirtual |
Implements ModelCGImpl.
Definition at line 216 of file blackscholescgbase.cpp.
|
overrideprotectedvirtual |
Implements ModelCGImpl.
Definition at line 225 of file blackscholescgbase.cpp.
|
overrideprotectedvirtual |
Implements ModelCGImpl.
Definition at line 232 of file blackscholescgbase.cpp.
|
protected |
Definition at line 94 of file blackscholescgbase.hpp.
|
protected |
Definition at line 95 of file blackscholescgbase.hpp.
|
protected |
Definition at line 96 of file blackscholescgbase.hpp.
|
protected |
Definition at line 97 of file blackscholescgbase.hpp.
|
protected |
Definition at line 98 of file blackscholescgbase.hpp.
|
mutableprotected |
Definition at line 101 of file blackscholescgbase.hpp.
|
mutableprotected |
Definition at line 102 of file blackscholescgbase.hpp.
|
mutableprotected |
Definition at line 103 of file blackscholescgbase.hpp.
|
mutableprotected |
Definition at line 104 of file blackscholescgbase.hpp.
|
mutableprotected |
Definition at line 107 of file blackscholescgbase.hpp.
|
mutableprotected |
Definition at line 108 of file blackscholescgbase.hpp.