Logo
Reference manual - version ored_version
TodaysMarket Class Reference

Today's Market. More...

#include <ored/marketdata/todaysmarket.hpp>

Inheritance diagram for TodaysMarket:

Public Member Functions

 TodaysMarket (const Date &asof, const QuantLib::ext::shared_ptr< TodaysMarketParameters > &params, const QuantLib::ext::shared_ptr< Loader > &loader, const QuantLib::ext::shared_ptr< CurveConfigurations > &curveConfigs, const bool continueOnError=false, const bool loadFixings=true, const bool lazyBuild=false, const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceData=nullptr, const bool preserveQuoteLinkage=false, const QuantLib::ext::shared_ptr< ore::data::IborFallbackConfig > &iborFallbackConfig=QuantLib::ext::make_shared< ore::data::IborFallbackConfig >(ore::data::IborFallbackConfig::defaultConfig()), const bool buildCalibrationInfo=true, const bool handlePseudoCurrencies=true)
 Constructor taking pointers and allowing for a lazy build of the market objects.
QuantLib::ext::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< IborIndex > iborIndex (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::FxIndex > fxIndexImpl (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< BlackVolTermStructure > fxVolImpl (const string &ccypair, const string &configuration=Market::defaultConfiguration) const override
Handle< QuantExt::CreditCurve > defaultCurve (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::CreditVolCurve > cdsVol (const string &name, const string &configuration=Market::defaultConfiguration) const override
 CDS volatilities.
Handle< QuantExt::BaseCorrelationTermStructure > baseCorrelation (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< YoYInflationIndex > yoyInflationIndex (const string &indexName, const string &configuration=Market::defaultConfiguration) const override
virtual Handle< QuantLib::CPIVolatilitySurface > cpiInflationCapFloorVolatilitySurface (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::EquityIndex2 > equityCurve (const string &eqName, const string &configuration=Market::defaultConfiguration) const override
Handle< YieldTermStructure > equityDividendCurve (const string &eqName, const string &configuration=Market::defaultConfiguration) const override
Handle< BlackVolTermStructure > equityVol (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
 Security Spreads.
Handle< Quote > conversionFactor (const string &, const string &configuration=Market::defaultConfiguration) const override
Handle< Quote > securityPrice (const string &, const string &configuration=Market::defaultConfiguration) const override
Handle< QuantExt::InflationIndexObserver > baseCpis (const string &index, const string &configuration=Market::defaultConfiguration) const
 Cpi Base Quotes.
QuantLib::Handle< QuantExt::PriceTermStructure > commodityPriceCurve (const string &commodityName, const string &configuration=Market::defaultConfiguration) const override
 Commodity curves.
QuantLib::Handle< QuantExt::CommodityIndex > commodityIndex (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::CorrelationTermStructure > correlationCurve (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
MarketImpl & operator= (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::FxIndex > fxIndex (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< BlackVolTermStructure > fxVol (const string &ccypair, const string &configuration=Market::defaultConfiguration) const
string commodityCurveLookup (const string &pm) const
bool handlePseudoCurrencies () const

Additional Inherited Members

static const string defaultConfiguration
 Default configuration label.
static const string inCcyConfiguration
 InCcy configuration label.
void addSwapIndex (const string &swapindex, const string &discountIndex, const string &configuration=Market::defaultConfiguration) const
 add a swap index to the market
Date asof_
QuantLib::ext::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< QuantLib::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< Quote > > conversionFactors_
map< pair< string, string >, Handle< Quote > > securityPrices_
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< QuantLib::ext::shared_ptr< TermStructure > > > refreshTs_
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 QuantLib::ext::shared_ptr< TodaysMarketParameters > & params,
const QuantLib::ext::shared_ptr< Loader > & loader,
const QuantLib::ext::shared_ptr< CurveConfigurations > & curveConfigs,
const bool continueOnError = false,
const bool loadFixings = true,
const bool lazyBuild = false,
const QuantLib::ext::shared_ptr< ReferenceDataManager > & referenceData = nullptr,
const bool preserveQuoteLinkage = false,
const QuantLib::ext::shared_ptr< ore::data::IborFallbackConfig > & iborFallbackConfig = QuantLib::ext::make_shared< ore::data::IborFallbackConfig >(ore::data::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