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. | |
Public Member Functions inherited from MarketImpl | |
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 |
Public Member Functions inherited from Market | |
Market (const bool handlePseudoCurrencies) | |
Protected Attributes | |
Real | numeraire_ |
std::string | label_ |
Additional Inherited Members | |
Static Public Attributes inherited from Market | |
static const string | defaultConfiguration |
static const string | inCcyConfiguration |
Protected Member Functions inherited from MarketImpl | |
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.