Logo
Reference manual - version ored_version
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
FdBlackScholesBase Class Reference
+ Inheritance diagram for FdBlackScholesBase:

Public Member Functions

 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, boost::shared_ptr< InterestRateIndex >>> &irIndices, const std::vector< std::pair< std::string, boost::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 &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)
 
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 &currency) const override
 
- Public Member Functions inherited from ModelImpl
 ModelImpl (const DayCounter &dayCounter, const Size size, const std::vector< std::string > &currencies, const std::vector< std::pair< std::string, boost::shared_ptr< InterestRateIndex >>> &irIndices, const std::vector< std::pair< std::string, boost::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 &currency) const override
 
RandomVariable discount (const Date &obsdate, const Date &paydate, const std::string &currency) 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 Size size () const
 
virtual Size trainingSamples () const
 
virtual void toggleTrainingPaths () const
 
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
 
- 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< BlackScholesModelWrappermodel_
 
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_
 
boost::shared_ptr< FdmMesher > mesher_
 
boost::shared_ptr< FdmLinearOpCompositeoperator_
 
boost::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, boost::shared_ptr< InterestRateIndex > > > irIndices_
 
std::vector< std::pair< IndexInfo, boost::shared_ptr< ZeroInflationIndex > > > infIndices_
 
std::vector< IndexInfoindices_
 
- 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 }