#include <ored/scripting/models/fdblackscholesbase.hpp>
Public Member Functions | |
FdBlackScholesBase (const Size stateGridPoints, 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 std::set< std::string > &payCcys_, 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, const std::string &calibration, const std::map< std::string, std::vector< Real > > &calibrationStrikes={}, const Real mesherEpsilon=1E-4, const Real mesherScaling=1.5, const Real mesherConcentration=0.1, const Size mesherMaxConcentratingPoints=9999, const bool staticMesher=false) | |
FdBlackScholesBase (const Size stateGridPoints, 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, const std::string &calibration, const std::vector< Real > &calibrationStrikes={}, const Real mesherEpsilon=1E-4, const Real mesherScaling=1.5, const Real mesherConcentration=0.1, const Size mesherMaxConcentratingPoints=9999, const bool staticMesher=false) | |
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 |
void | releaseMemory () override |
Real | extractT0Result (const RandomVariable &result) const override |
const std::string & | baseCcy () const override |
RandomVariable | pay (const RandomVariable &amount, const Date &obsdate, const Date &paydate, const std::string ¤cy) const override |
Public Member Functions inherited from ModelImpl | |
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 |
Public Member Functions inherited from Model | |
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 |
Protected Member Functions | |
void | performCalculations () 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 |
RandomVariable | getFutureBarrierProb (const std::string &index, const Date &obsdate1, const Date &obsdate2, const RandomVariable &barrier, const bool above) const override |
Matrix | getCorrelation () const |
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 |
Protected Member Functions inherited from Model | |
void | performCalculations () const override |
Protected Attributes | |
const std::vector< Handle< YieldTermStructure > > | curves_ |
const std::vector< Handle< Quote > > | fxSpots_ |
const std::set< std::string > | payCcys_ |
const Handle< BlackScholesModelWrapper > | model_ |
const std::map< std::pair< std::string, std::string >, Handle< QuantExt::CorrelationTermStructure > > | correlations_ |
const std::vector< Date > | simulationDates_ |
const std::string | calibration_ |
const std::map< std::string, std::vector< Real > > | calibrationStrikes_ |
const Real | mesherEpsilon_ |
const Real | mesherScaling_ |
const Real | mesherConcentration_ |
const Size | mesherMaxConcentratingPoints_ |
const bool | staticMesher_ |
bool | applyQuantoAdjustment_ = false |
Size | quantoSourceCcyIndex_ |
Size | quantoTargetCcyIndex_ |
Real | quantoCorrelationMultiplier_ |
std::vector< std::function< RandomVariable(const std::vector< const RandomVariable * > &)> > | basisFns_ |
Date | referenceDate_ |
std::set< Date > | effectiveSimulationDates_ |
TimeGrid | timeGrid_ |
std::vector< Size > | positionInTimeGrid_ |
QuantLib::ext::shared_ptr< FdmMesher > | mesher_ |
QuantLib::ext::shared_ptr< FdmLinearOpComposite > | operator_ |
QuantLib::ext::shared_ptr< FdmBackwardSolver > | solver_ |
RandomVariable | underlyingValues_ |
Protected Attributes inherited from ModelImpl | |
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_ |
Protected Attributes inherited from Model | |
std::map< std::string, boost::any > | additionalResults_ |
Additional Inherited Members | |
Public Types inherited from Model | |
enum class | Type { MC , FD } |
Definition at line 44 of file fdblackscholesbase.hpp.
FdBlackScholesBase | ( | const Size | stateGridPoints, |
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 std::set< std::string > & | payCcys_, | ||
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, | ||
const std::string & | calibration, | ||
const std::map< std::string, std::vector< Real > > & | calibrationStrikes = {} , |
||
const Real | mesherEpsilon = 1E-4 , |
||
const Real | mesherScaling = 1.5 , |
||
const Real | mesherConcentration = 0.1 , |
||
const Size | mesherMaxConcentratingPoints = 9999 , |
||
const bool | staticMesher = false |
||
) |
Definition at line 57 of file fdblackscholesbase.cpp.
FdBlackScholesBase | ( | const Size | stateGridPoints, |
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, | ||
const std::string & | calibration, | ||
const std::vector< Real > & | calibrationStrikes = {} , |
||
const Real | mesherEpsilon = 1E-4 , |
||
const Real | mesherScaling = 1.5 , |
||
const Real | mesherConcentration = 0.1 , |
||
const Size | mesherMaxConcentratingPoints = 9999 , |
||
const bool | staticMesher = false |
||
) |
Definition at line 44 of file fdblackscholesbase.cpp.
|
overridevirtual |
|
overridevirtual |
Implements Model.
Definition at line 168 of file fdblackscholesbase.cpp.
|
overridevirtual |
Implements Model.
Definition at line 398 of file fdblackscholesbase.cpp.
|
overridevirtual |
Implements Model.
Definition at line 356 of file fdblackscholesbase.cpp.
|
overridevirtual |
|
overridevirtual |
Implements Model.
Definition at line 462 of file fdblackscholesbase.cpp.
|
overridevirtual |
Implements Model.
Definition at line 508 of file fdblackscholesbase.cpp.
|
overridevirtual |
Implements Model.
Definition at line 486 of file fdblackscholesbase.cpp.
|
overrideprotected |
Definition at line 173 of file fdblackscholesbase.cpp.
|
overrideprotectedvirtual |
Implements ModelImpl.
Definition at line 302 of file fdblackscholesbase.cpp.
|
overrideprotectedvirtual |
Implements ModelImpl.
Definition at line 340 of file fdblackscholesbase.cpp.
|
overrideprotectedvirtual |
Implements ModelImpl.
Definition at line 349 of file fdblackscholesbase.cpp.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Implements ModelImpl.
Definition at line 389 of file fdblackscholesbase.cpp.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Implements ModelImpl.
Definition at line 456 of file fdblackscholesbase.cpp.
|
protected |
Definition at line 148 of file fdblackscholesbase.cpp.
|
protected |
Definition at line 109 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 110 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 111 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 112 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 113 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 114 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 115 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 116 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 117 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 117 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 117 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 118 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 119 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 122 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 123 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 123 of file fdblackscholesbase.hpp.
|
protected |
Definition at line 124 of file fdblackscholesbase.hpp.
|
mutableprotected |
Definition at line 127 of file fdblackscholesbase.hpp.
|
mutableprotected |
Definition at line 128 of file fdblackscholesbase.hpp.
|
mutableprotected |
Definition at line 129 of file fdblackscholesbase.hpp.
|
mutableprotected |
Definition at line 130 of file fdblackscholesbase.hpp.
|
mutableprotected |
Definition at line 131 of file fdblackscholesbase.hpp.
|
mutableprotected |
Definition at line 132 of file fdblackscholesbase.hpp.
|
mutableprotected |
Definition at line 133 of file fdblackscholesbase.hpp.
|
mutableprotected |
Definition at line 134 of file fdblackscholesbase.hpp.
|
mutableprotected |
Definition at line 135 of file fdblackscholesbase.hpp.