Logo
Reference manual - version ored_version
Public Member Functions | List of all members
TodaysMarket Class Reference

Today's Market. More...

#include <ored/marketdata/todaysmarket.hpp>

+ Inheritance diagram for TodaysMarket:

Public Member Functions

 TodaysMarket (const Date &asof, const boost::shared_ptr< TodaysMarketParameters > &params, const boost::shared_ptr< Loader > &loader, const boost::shared_ptr< CurveConfigurations > &curveConfigs, const bool continueOnError=false, const bool loadFixings=true, const bool lazyBuild=false, const boost::shared_ptr< ReferenceDataManager > &referenceData=nullptr, const bool preserveQuoteLinkage=false, const IborFallbackConfig &iborFallbackConfig=IborFallbackConfig::defaultConfig(), const bool buildCalibrationInfo=true, const bool handlePseudoCurrencies=true)
 Constructor taking pointers and allowing for a lazy build of the market objects. More...
 
boost::shared_ptr< TodaysMarketCalibrationInfocalibrationInfo () const
 
- Public Member Functions inherited from MarketImpl
 MarketImpl (const bool handlePseudoCurrencies)
 
Date asofDate () const override
 Get the asof Date.
 
Handle< YieldTermStructure > yieldCurve (const YieldCurveType &type, const string &ccy, const string &configuration=Market::defaultConfiguration) const override
 Yield Curves.
 
Handle< YieldTermStructure > discountCurveImpl (const string &ccy, const string &configuration=Market::defaultConfiguration) const override
 
Handle< YieldTermStructure > yieldCurve (const string &name, const string &configuration=Market::defaultConfiguration) const override
 
Handle< IborIndexiborIndex (const string &indexName, const string &configuration=Market::defaultConfiguration) const override
 
Handle< SwapIndex > swapIndex (const string &indexName, const string &configuration=Market::defaultConfiguration) const override
 
Handle< QuantLib::SwaptionVolatilityStructure > swaptionVol (const string &key, const string &configuration=Market::defaultConfiguration) const override
 Swaptions.
 
string shortSwapIndexBase (const string &key, const string &configuration=Market::defaultConfiguration) const override
 
string swapIndexBase (const string &key, const string &configuration=Market::defaultConfiguration) const override
 
Handle< QuantLib::SwaptionVolatilityStructure > yieldVol (const string &securityID, const string &configuration=Market::defaultConfiguration) const override
 Yield volatility.
 
QuantLib::Handle< QuantExt::FxIndexfxIndexImpl (const string &fxIndex, const string &configuration=Market::defaultConfiguration) const override
 FX.
 
Handle< Quote > fxRateImpl (const string &ccypair, const string &configuration=Market::defaultConfiguration) const override
 
Handle< Quote > fxSpotImpl (const string &ccypair, const string &configuration=Market::defaultConfiguration) const override
 
Handle< BlackVolTermStructurefxVolImpl (const string &ccypair, const string &configuration=Market::defaultConfiguration) const override
 
Handle< QuantExt::CreditCurvedefaultCurve (const string &, const string &configuration=Market::defaultConfiguration) const override
 Default Curves and Recovery Rates.
 
Handle< Quote > recoveryRate (const string &, const string &configuration=Market::defaultConfiguration) const override
 
Handle< QuantExt::CreditVolCurvecdsVol (const string &name, const string &configuration=Market::defaultConfiguration) const override
 CDS volatilities.
 
Handle< QuantExt::BaseCorrelationTermStructurebaseCorrelation (const string &name, const string &configuration=Market::defaultConfiguration) const override
 Base correlation structures.
 
Handle< OptionletVolatilityStructure > capFloorVol (const string &key, const string &configuration=Market::defaultConfiguration) const override
 CapFloor volatilities.
 
std::pair< string, QuantLib::Period > capFloorVolIndexBase (const string &key, const string &configuration=Market::defaultConfiguration) const override
 
Handle< QuantExt::YoYOptionletVolatilitySurface > yoyCapFloorVol (const string &name, const string &configuration=Market::defaultConfiguration) const override
 YoY Inflation CapFloor volatilities.
 
virtual Handle< ZeroInflationIndex > zeroInflationIndex (const string &indexName, const string &configuration=Market::defaultConfiguration) const override
 Inflation Indexes.
 
virtual Handle< YoYInflationIndexyoyInflationIndex (const string &indexName, const string &configuration=Market::defaultConfiguration) const override
 
virtual Handle< CPIVolatilitySurfacecpiInflationCapFloorVolatilitySurface (const string &indexName, const string &configuration=Market::defaultConfiguration) const override
 Inflation Cap Floor Volatility Surfaces.
 
Handle< Quote > equitySpot (const string &eqName, const string &configuration=Market::defaultConfiguration) const override
 Equity curves.
 
Handle< QuantExt::EquityIndex2equityCurve (const string &eqName, const string &configuration=Market::defaultConfiguration) const override
 
Handle< YieldTermStructure > equityDividendCurve (const string &eqName, const string &configuration=Market::defaultConfiguration) const override
 
Handle< BlackVolTermStructureequityVol (const string &eqName, const string &configuration=Market::defaultConfiguration) const override
 Equity volatilities.
 
Handle< YieldTermStructure > equityForecastCurve (const string &eqName, const string &configuration=Market::defaultConfiguration) const override
 Equity forecasting curves.
 
Handle< Quote > securitySpread (const string &securityID, const string &configuration=Market::defaultConfiguration) const override
 Bond Spreads.
 
Handle< QuantExt::InflationIndexObserverbaseCpis (const string &index, const string &configuration=Market::defaultConfiguration) const
 Cpi Base Quotes.
 
QuantLib::Handle< QuantExt::PriceTermStructurecommodityPriceCurve (const string &commodityName, const string &configuration=Market::defaultConfiguration) const override
 Commodity curves.
 
QuantLib::Handle< QuantExt::CommodityIndexcommodityIndex (const std::string &commodityName, const std::string &configuration=Market::defaultConfiguration) const override
 Commodity index.
 
QuantLib::Handle< QuantLib::BlackVolTermStructure > commodityVolatility (const string &commodityName, const string &configuration=Market::defaultConfiguration) const override
 Commodity volatility.
 
Handle< QuantExt::CorrelationTermStructurecorrelationCurve (const string &index1, const string &index2, const string &configuration=Market::defaultConfiguration) const override
 Correlation curves.
 
QuantLib::Handle< Quote > cpr (const string &securityID, const string &configuration=Market::defaultConfiguration) const override
 
 MarketImpl (const MarketImpl &)=delete
 
MarketImploperator= (const MarketImpl &)=delete
 
void refresh (const string &configuration=Market::defaultConfiguration) override
 Send an explicit update() call to all term structures.
 
- Public Member Functions inherited from Market
 Market (const bool handlePseudoCurrencies)
 Constructor.
 
virtual ~Market ()
 Destructor.
 
Handle< YieldTermStructure > discountCurve (const string &ccy, const string &configuration=Market::defaultConfiguration) const
 
QuantLib::Handle< QuantExt::FxIndexfxIndex (const string &fxIndex, const string &configuration=Market::defaultConfiguration) const
 
Handle< Quote > fxRate (const string &ccypair, const string &configuration=Market::defaultConfiguration) const
 
Handle< Quote > fxSpot (const string &ccypair, const string &configuration=Market::defaultConfiguration) const
 
Handle< BlackVolTermStructurefxVol (const string &ccypair, const string &configuration=Market::defaultConfiguration) const
 
string commodityCurveLookup (const string &pm) const
 
bool handlePseudoCurrencies () const
 

Additional Inherited Members

- Static Public Attributes inherited from Market
static const string defaultConfiguration
 Default configuration label.
 
static const string inCcyConfiguration
 InCcy configuration label.
 
- Protected Member Functions inherited from MarketImpl
void addSwapIndex (const string &swapindex, const string &discountIndex, const string &configuration=Market::defaultConfiguration) const
 add a swap index to the market
 
- Protected Attributes inherited from MarketImpl
Date asof_
 
boost::shared_ptr< FXTriangulationfx_
 
map< tuple< string, YieldCurveType, string >, Handle< YieldTermStructure > > yieldCurves_
 
map< pair< string, string >, Handle< IborIndex > > iborIndices_
 
map< pair< string, string >, Handle< SwapIndex > > swapIndices_
 
map< pair< string, string >, Handle< QuantLib::SwaptionVolatilityStructure > > swaptionCurves_
 
map< pair< string, string >, pair< string, string > > swaptionIndexBases_
 
map< pair< string, string >, Handle< QuantLib::SwaptionVolatilityStructure > > yieldVolCurves_
 
map< pair< string, string >, Handle< BlackVolTermStructure > > fxVols_
 
map< pair< string, string >, Handle< QuantExt::CreditCurve > > defaultCurves_
 
map< pair< string, string >, Handle< QuantExt::CreditVolCurve > > cdsVols_
 
map< pair< string, string >, Handle< QuantExt::BaseCorrelationTermStructure > > baseCorrelations_
 
map< pair< string, string >, Handle< Quote > > recoveryRates_
 
map< pair< string, string >, Handle< OptionletVolatilityStructure > > capFloorCurves_
 
map< pair< string, string >, std::pair< string, QuantLib::Period > > capFloorIndexBase_
 
map< pair< string, string >, Handle< YoYOptionletVolatilitySurface > > yoyCapFloorVolSurfaces_
 
map< pair< string, string >, Handle< ZeroInflationIndex > > zeroInflationIndices_
 
map< pair< string, string >, Handle< YoYInflationIndex > > yoyInflationIndices_
 
map< pair< string, string >, Handle< CPIVolatilitySurface > > cpiInflationCapFloorVolatilitySurfaces_
 
map< pair< string, string >, Handle< Quote > > equitySpots_
 
map< pair< string, string >, Handle< BlackVolTermStructure > > equityVols_
 
map< pair< string, string >, Handle< Quote > > securitySpreads_
 
map< pair< string, string >, Handle< QuantExt::InflationIndexObserver > > baseCpis_
 
map< tuple< string, string, string >, Handle< QuantExt::CorrelationTermStructure > > correlationCurves_
 
map< pair< string, string >, QuantLib::Handle< QuantExt::CommodityIndex > > commodityIndices_
 
map< pair< string, string >, QuantLib::Handle< QuantLib::BlackVolTermStructure > > commodityVols_
 
map< pair< string, string >, QuantLib::Handle< QuantExt::EquityIndex2 > > equityCurves_
 
map< pair< string, string >, Handle< Quote > > cprs_
 
map< string, std::set< boost::shared_ptr< TermStructure > > > refreshTs_
 
- Protected Attributes inherited from Market
bool handlePseudoCurrencies_ = false
 

Detailed Description

Today's Market.

Today's Market differs from MarketImpl in that it actually loads market data and builds term structure objects.

We label this object Today's Market in contrast to the Simulation Market which can differ in composition and granularity. The Simulation Market is initialised using a Today's Market object.

Today's market's purpose is t0 pricing, the Simulation Market's purpose is pricing under future scenarios.

Constructor & Destructor Documentation

◆ TodaysMarket()

TodaysMarket ( const Date &  asof,
const boost::shared_ptr< TodaysMarketParameters > &  params,
const boost::shared_ptr< Loader > &  loader,
const boost::shared_ptr< CurveConfigurations > &  curveConfigs,
const bool  continueOnError = false,
const bool  loadFixings = true,
const bool  lazyBuild = false,
const boost::shared_ptr< ReferenceDataManager > &  referenceData = nullptr,
const bool  preserveQuoteLinkage = false,
const IborFallbackConfig iborFallbackConfig = IborFallbackConfig::defaultConfig(),
const bool  buildCalibrationInfo = true,
const bool  handlePseudoCurrencies = true 
)

Constructor taking pointers and allowing for a lazy build of the market objects.

Parameters
asofValuation date
paramsDescription of the market composition
loaderMarket data loader
curveConfigsDescription of curve compositions
continueOnErrorContinue even if build errors occur
loadFixingsOptional Load Fixings
lazyBuildIf yes, build market objects lazily
referenceDataOptional reference data manager, needed to build fitted bond curves
preserveQuoteLinkageIf true, preserve link to loader quotes, this might heavily interfere with XVA simulations!
iborFallbackConfigthe ibor fallback config
buildCalibrationInfobuild calibration info?
handlePseudoCurrenciessupport pseudo currencies