Simulation Market. More...
#include <orea/simulation/simmarket.hpp>
Public Member Functions | |
SimMarket (const bool handlePseudoCurrencies) | |
virtual void | update (const Date &d) |
Generate or retrieve market scenario, update market, notify termstructures and update fixings. | |
virtual void | preUpdate ()=0 |
Observable settings depending on selected mode, before we update the market. | |
virtual void | updateDate (const Date &)=0 |
Update to the given date. | |
virtual void | updateScenario (const Date &)=0 |
Retrieve next market scenario and apply this, but don't update date. | |
virtual void | postUpdate (const Date &d, bool withFixings)=0 |
Observable reset depending on selected mode, instrument updates. | |
virtual void | updateAsd (const Date &)=0 |
Update aggregation scenario data. | |
Real | numeraire () |
Return current numeraire value. | |
const std::string & | label () |
Return current scenario label, if any. | |
virtual void | reset ()=0 |
Reset sim market to initial state. | |
virtual const QuantLib::ext::shared_ptr< FixingManager > & | fixingManager () const =0 |
Get the fixing manager. | |
![]() | |
Date | asofDate () const override |
Handle< YieldTermStructure > | yieldCurve (const YieldCurveType &type, const string &ccy, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantLib::SwaptionVolatilityStructure > | swaptionVol (const string &key, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantLib::SwaptionVolatilityStructure > | yieldVol (const string &securityID, const string &configuration=Market::defaultConfiguration) const override |
QuantLib::Handle< QuantExt::FxIndex > | fxIndexImpl (const string &fxIndex, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantExt::CreditCurve > | defaultCurve (const string &, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantExt::CreditVolCurve > | cdsVol (const string &name, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantExt::BaseCorrelationTermStructure > | baseCorrelation (const string &name, const string &configuration=Market::defaultConfiguration) const override |
Handle< OptionletVolatilityStructure > | capFloorVol (const string &key, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantExt::YoYOptionletVolatilitySurface > | yoyCapFloorVol (const string &name, const string &configuration=Market::defaultConfiguration) const override |
virtual Handle< ZeroInflationIndex > | zeroInflationIndex (const string &indexName, const string &configuration=Market::defaultConfiguration) const override |
virtual Handle< CPIVolatilitySurface > | cpiInflationCapFloorVolatilitySurface (const string &indexName, const string &configuration=Market::defaultConfiguration) const override |
Handle< Quote > | equitySpot (const string &eqName, const string &configuration=Market::defaultConfiguration) const override |
Handle< BlackVolTermStructure > | equityVol (const string &eqName, const string &configuration=Market::defaultConfiguration) const override |
Handle< YieldTermStructure > | equityForecastCurve (const string &eqName, const string &configuration=Market::defaultConfiguration) const override |
Handle< Quote > | securitySpread (const string &securityID, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantExt::InflationIndexObserver > | baseCpis (const string &index, const string &configuration=Market::defaultConfiguration) const |
QuantLib::Handle< QuantExt::PriceTermStructure > | commodityPriceCurve (const string &commodityName, const string &configuration=Market::defaultConfiguration) const override |
QuantLib::Handle< QuantExt::CommodityIndex > | commodityIndex (const std::string &commodityName, const std::string &configuration=Market::defaultConfiguration) const override |
QuantLib::Handle< QuantLib::BlackVolTermStructure > | commodityVolatility (const string &commodityName, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantExt::CorrelationTermStructure > | correlationCurve (const string &index1, const string &index2, const string &configuration=Market::defaultConfiguration) const override |
void | refresh (const string &configuration=Market::defaultConfiguration) override |
Date | asofDate () const override |
Handle< YieldTermStructure > | yieldCurve (const YieldCurveType &type, const string &ccy, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantLib::SwaptionVolatilityStructure > | swaptionVol (const string &key, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantLib::SwaptionVolatilityStructure > | yieldVol (const string &securityID, const string &configuration=Market::defaultConfiguration) const override |
QuantLib::Handle< QuantExt::FxIndex > | fxIndexImpl (const string &fxIndex, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantExt::CreditCurve > | defaultCurve (const string &, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantExt::CreditVolCurve > | cdsVol (const string &name, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantExt::BaseCorrelationTermStructure > | baseCorrelation (const string &name, const string &configuration=Market::defaultConfiguration) const override |
Handle< OptionletVolatilityStructure > | capFloorVol (const string &key, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantExt::YoYOptionletVolatilitySurface > | yoyCapFloorVol (const string &name, const string &configuration=Market::defaultConfiguration) const override |
virtual Handle< ZeroInflationIndex > | zeroInflationIndex (const string &indexName, const string &configuration=Market::defaultConfiguration) const override |
virtual Handle< CPIVolatilitySurface > | cpiInflationCapFloorVolatilitySurface (const string &indexName, const string &configuration=Market::defaultConfiguration) const override |
Handle< Quote > | equitySpot (const string &eqName, const string &configuration=Market::defaultConfiguration) const override |
Handle< BlackVolTermStructure > | equityVol (const string &eqName, const string &configuration=Market::defaultConfiguration) const override |
Handle< YieldTermStructure > | equityForecastCurve (const string &eqName, const string &configuration=Market::defaultConfiguration) const override |
Handle< Quote > | securitySpread (const string &securityID, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantExt::InflationIndexObserver > | baseCpis (const string &index, const string &configuration=Market::defaultConfiguration) const |
QuantLib::Handle< QuantExt::PriceTermStructure > | commodityPriceCurve (const string &commodityName, const string &configuration=Market::defaultConfiguration) const override |
QuantLib::Handle< QuantExt::CommodityIndex > | commodityIndex (const std::string &commodityName, const std::string &configuration=Market::defaultConfiguration) const override |
QuantLib::Handle< QuantLib::BlackVolTermStructure > | commodityVolatility (const string &commodityName, const string &configuration=Market::defaultConfiguration) const override |
Handle< QuantExt::CorrelationTermStructure > | correlationCurve (const string &index1, const string &index2, const string &configuration=Market::defaultConfiguration) const override |
![]() | |
Market (const bool handlePseudoCurrencies) | |
Protected Attributes | |
Real | numeraire_ |
std::string | label_ |
Additional Inherited Members | |
![]() | |
static const string | defaultConfiguration |
static const string | inCcyConfiguration |
![]() | |
virtual void | require (const MarketObject o, const string &name, const string &configuration, const bool forceBuild=false) const |
void | addSwapIndex (const string &swapindex, const string &discountIndex, const string &configuration=Market::defaultConfiguration) const |
Simulation Market.
A Simulation Market is a MarketImpl which is used for pricing under scenarios. It has an update method which is used to generate or retrieve a new market scenario, to apply the scenario to its term structures and to notify all termstructures and instruments of this change so that the instruments are recalculated with the NPV call.