#include <ored/scripting/models/blackscholesbase.hpp>
Public Member Functions | |
BlackScholesBase (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 McParams &mcParams, const std::set< Date > &simulationDates, const IborFallbackConfig &iborFallbackConfig) | |
BlackScholesBase (const Size paths, const std::string ¤cy, const Handle< YieldTermStructure > &curve, const std::string &index, const std::string &indexCurrency, const Handle< BlackScholesModelWrapper > &model, const Model::McParams &mcParams, const std::set< Date > &simulationDates, const IborFallbackConfig &iborFallbackConfig) | |
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 |
void | resetNPVMem () override |
void | toggleTrainingPaths () const override |
Size | trainingSamples () const override |
Size | size () 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 |
Matrix | getCorrelation () const |
Protected Member Functions inherited from ModelImpl | |
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 Handle< BlackScholesModelWrapper > | model_ |
const std::map< std::pair< std::string, std::string >, Handle< QuantExt::CorrelationTermStructure > > | correlations_ |
const McParams | mcParams_ |
const std::vector< Date > | simulationDates_ |
Date | referenceDate_ |
std::set< Date > | effectiveSimulationDates_ |
TimeGrid | timeGrid_ |
std::vector< Size > | positionInTimeGrid_ |
std::map< Date, std::vector< RandomVariable > > | underlyingPaths_ |
std::map< Date, std::vector< RandomVariable > > | underlyingPathsTraining_ |
bool | inTrainingPhase_ = false |
std::map< long, std::tuple< Array, Size, Matrix > > | storedRegressionModel_ |
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 39 of file blackscholesbase.hpp.
BlackScholesBase | ( | 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 McParams & | mcParams, | ||
const std::set< Date > & | simulationDates, | ||
const IborFallbackConfig & | iborFallbackConfig | ||
) |
Definition at line 47 of file blackscholesbase.cpp.
BlackScholesBase | ( | const Size | paths, |
const std::string & | currency, | ||
const Handle< YieldTermStructure > & | curve, | ||
const std::string & | index, | ||
const std::string & | indexCurrency, | ||
const Handle< BlackScholesModelWrapper > & | model, | ||
const Model::McParams & | mcParams, | ||
const std::set< Date > & | simulationDates, | ||
const IborFallbackConfig & | iborFallbackConfig | ||
) |
Definition at line 39 of file blackscholesbase.cpp.
|
overridevirtual |
|
overridevirtual |
Implements Model.
Definition at line 107 of file blackscholesbase.cpp.
|
overridevirtual |
Implements Model.
Definition at line 227 of file blackscholesbase.cpp.
|
overridevirtual |
Implements Model.
Definition at line 187 of file blackscholesbase.cpp.
|
overridevirtual |
Reimplemented from Model.
Definition at line 337 of file blackscholesbase.cpp.
|
overridevirtual |
Reimplemented from Model.
Definition at line 342 of file blackscholesbase.cpp.
|
overridevirtual |
Reimplemented from Model.
Definition at line 344 of file blackscholesbase.cpp.
|
overridevirtual |
Reimplemented from Model.
Definition at line 349 of file blackscholesbase.cpp.
|
overridevirtual |
Reimplemented from Model.
Definition at line 351 of file blackscholesbase.cpp.
|
overrideprotected |
Definition at line 112 of file blackscholesbase.cpp.
|
overrideprotectedvirtual |
Implements ModelImpl.
Definition at line 138 of file blackscholesbase.cpp.
|
overrideprotectedvirtual |
Implements ModelImpl.
Definition at line 161 of file blackscholesbase.cpp.
|
overrideprotectedvirtual |
Implements ModelImpl.
Definition at line 170 of file blackscholesbase.cpp.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Implements ModelImpl.
Definition at line 221 of file blackscholesbase.cpp.
|
overrideprotectedvirtual |
|
protected |
Definition at line 87 of file blackscholesbase.cpp.
|
protected |
Definition at line 98 of file blackscholesbase.hpp.
|
protected |
Definition at line 99 of file blackscholesbase.hpp.
|
protected |
Definition at line 100 of file blackscholesbase.hpp.
|
protected |
Definition at line 101 of file blackscholesbase.hpp.
|
protected |
Definition at line 102 of file blackscholesbase.hpp.
|
protected |
Definition at line 103 of file blackscholesbase.hpp.
|
mutableprotected |
Definition at line 106 of file blackscholesbase.hpp.
|
mutableprotected |
Definition at line 107 of file blackscholesbase.hpp.
|
mutableprotected |
Definition at line 108 of file blackscholesbase.hpp.
|
mutableprotected |
Definition at line 109 of file blackscholesbase.hpp.
|
mutableprotected |
Definition at line 110 of file blackscholesbase.hpp.
|
mutableprotected |
Definition at line 111 of file blackscholesbase.hpp.
|
mutableprotected |
Definition at line 112 of file blackscholesbase.hpp.
|
mutableprotected |
Definition at line 115 of file blackscholesbase.hpp.