69 Handle<IborIndex>
iborIndex(
const string& indexName,
71 Handle<SwapIndex>
swapIndex(
const string& indexName,
75 Handle<QuantLib::SwaptionVolatilityStructure>
82 Handle<QuantLib::SwaptionVolatilityStructure>
86 QuantLib::Handle<QuantExt::FxIndex>
88 Handle<Quote>
fxRateImpl(
const string& ccypair,
90 Handle<Quote>
fxSpotImpl(
const string& ccypair,
92 Handle<BlackVolTermStructure>
fxVolImpl(
const string& ccypair,
96 Handle<QuantExt::CreditCurve>
defaultCurve(
const string&,
101 Handle<QuantExt::CreditVolCurve>
cdsVol(
const string&
name,
105 Handle<QuantExt::BaseCorrelationTermStructure>
109 Handle<OptionletVolatilityStructure>
capFloorVol(
const string& key,
111 std::pair<string, QuantLib::Period>
115 Handle<QuantExt::YoYOptionletVolatilitySurface>
119 virtual Handle<ZeroInflationIndex>
121 virtual Handle<YoYInflationIndex>
125 virtual Handle<CPIVolatilitySurface>
131 Handle<QuantExt::EquityIndex2>
equityCurve(
const string& eqName,
138 Handle<BlackVolTermStructure>
equityVol(
const string& eqName,
150 Handle<QuantExt::InflationIndexObserver>
baseCpis(
const string& index,
154 QuantLib::Handle<QuantExt::PriceTermStructure>
158 QuantLib::Handle<QuantExt::CommodityIndex>
commodityIndex(
const std::string& commodityName,
162 QuantLib::Handle<QuantLib::BlackVolTermStructure>
167 Handle<QuantExt::CorrelationTermStructure>
172 QuantLib::Handle<Quote>
cpr(
const string& securityID,
202 const bool forceBuild =
false)
const {}
206 QuantLib::ext::shared_ptr<FXTriangulation>
fx_;
208 mutable map<tuple<string, YieldCurveType, string>, Handle<YieldTermStructure>>
yieldCurves_;
211 mutable map<pair<string, string>, Handle<QuantLib::SwaptionVolatilityStructure>>
swaptionCurves_;
213 mutable map<pair<string, string>, Handle<QuantLib::SwaptionVolatilityStructure>>
yieldVolCurves_;
214 mutable map<pair<string, string>, Handle<BlackVolTermStructure>>
fxVols_;
216 mutable map<pair<string, string>, Handle<QuantExt::CreditVolCurve>>
cdsVols_;
217 mutable map<pair<string, string>, Handle<QuantExt::BaseCorrelationTermStructure>>
baseCorrelations_;
219 mutable map<pair<string, string>, Handle<OptionletVolatilityStructure>>
capFloorCurves_;
226 mutable map<pair<string, string>, Handle<BlackVolTermStructure>>
equityVols_;
228 mutable map<pair<string, string>, Handle<QuantExt::InflationIndexObserver>>
baseCpis_;
229 mutable map<tuple<string, string, string>, Handle<QuantExt::CorrelationTermStructure>>
correlationCurves_;
230 mutable map<pair<string, string>, QuantLib::Handle<QuantExt::CommodityIndex>>
commodityIndices_;
231 mutable map<pair<string, string>, QuantLib::Handle<QuantLib::BlackVolTermStructure>>
commodityVols_;
232 mutable map<pair<string, string>, QuantLib::Handle<QuantExt::EquityIndex2>>
equityCurves_;
233 mutable map<pair<string, string>, Handle<Quote>>
cprs_;
236 void addSwapIndex(
const string& swapindex,
const string& discountIndex,
240 map<string, std::set<QuantLib::ext::shared_ptr<TermStructure>>>
refreshTs_;
Abstract base class for convention objects.
Repository for currency dependent market conventions.
QuantLib::Handle< QuantExt::FxIndex > fxIndex(const string &fxIndex, const string &configuration=Market::defaultConfiguration) const
static const string defaultConfiguration
Default configuration label.
bool handlePseudoCurrencies() const
QuantLib::Handle< QuantExt::CommodityIndex > commodityIndex(const std::string &commodityName, const std::string &configuration=Market::defaultConfiguration) const override
Commodity index.
map< pair< string, string >, Handle< OptionletVolatilityStructure > > capFloorCurves_
string shortSwapIndexBase(const string &key, const string &configuration=Market::defaultConfiguration) const override
MarketImpl(const MarketImpl &)=delete
string swapIndexBase(const string &key, const string &configuration=Market::defaultConfiguration) const override
Handle< Quote > securitySpread(const string &securityID, const string &configuration=Market::defaultConfiguration) const override
Bond Spreads.
Handle< QuantExt::BaseCorrelationTermStructure > baseCorrelation(const string &name, const string &configuration=Market::defaultConfiguration) const override
Base correlation structures.
Handle< QuantLib::SwaptionVolatilityStructure > swaptionVol(const string &key, const string &configuration=Market::defaultConfiguration) const override
Swaptions.
virtual Handle< ZeroInflationIndex > zeroInflationIndex(const string &indexName, const string &configuration=Market::defaultConfiguration) const override
Inflation Indexes.
Handle< QuantExt::EquityIndex2 > equityCurve(const string &eqName, const string &configuration=Market::defaultConfiguration) const override
map< tuple< string, string, string >, Handle< QuantExt::CorrelationTermStructure > > correlationCurves_
Handle< BlackVolTermStructure > equityVol(const string &eqName, const string &configuration=Market::defaultConfiguration) const override
Equity volatilities.
map< string, std::set< QuantLib::ext::shared_ptr< TermStructure > > > refreshTs_
Handle< QuantExt::InflationIndexObserver > baseCpis(const string &index, const string &configuration=Market::defaultConfiguration) const
Cpi Base Quotes.
Handle< YieldTermStructure > discountCurveImpl(const string &ccy, const string &configuration=Market::defaultConfiguration) const override
map< pair< string, string >, QuantLib::Handle< QuantExt::EquityIndex2 > > equityCurves_
Handle< Quote > fxSpotImpl(const string &ccypair, const string &configuration=Market::defaultConfiguration) const override
MarketImpl(const bool handlePseudoCurrencies)
Handle< BlackVolTermStructure > fxVolImpl(const string &ccypair, const string &configuration=Market::defaultConfiguration) const override
map< pair< string, string >, Handle< CPIVolatilitySurface > > cpiInflationCapFloorVolatilitySurfaces_
map< pair< string, string >, Handle< QuantExt::InflationIndexObserver > > baseCpis_
virtual Handle< CPIVolatilitySurface > cpiInflationCapFloorVolatilitySurface(const string &indexName, const string &configuration=Market::defaultConfiguration) const override
Inflation Cap Floor Volatility Surfaces.
Handle< QuantExt::CreditVolCurve > cdsVol(const string &name, const string &configuration=Market::defaultConfiguration) const override
CDS volatilities.
map< pair< string, string >, Handle< BlackVolTermStructure > > fxVols_
QuantLib::ext::shared_ptr< FXTriangulation > fx_
Date asofDate() const override
Get the asof Date.
map< tuple< string, YieldCurveType, string >, Handle< YieldTermStructure > > yieldCurves_
map< pair< string, string >, QuantLib::Handle< QuantExt::CommodityIndex > > commodityIndices_
map< pair< string, string >, Handle< QuantExt::CreditCurve > > defaultCurves_
Handle< YieldTermStructure > equityDividendCurve(const string &eqName, const string &configuration=Market::defaultConfiguration) const override
map< pair< string, string >, Handle< IborIndex > > iborIndices_
QuantLib::Handle< QuantExt::FxIndex > fxIndexImpl(const string &fxIndex, const string &configuration=Market::defaultConfiguration) const override
FX.
map< pair< string, string >, Handle< YoYOptionletVolatilitySurface > > yoyCapFloorVolSurfaces_
Handle< QuantExt::CreditCurve > defaultCurve(const string &, const string &configuration=Market::defaultConfiguration) const override
Default Curves and Recovery Rates.
map< pair< string, string >, Handle< YoYInflationIndex > > yoyInflationIndices_
MarketImpl & operator=(const MarketImpl &)=delete
map< pair< string, string >, Handle< QuantExt::CreditVolCurve > > cdsVols_
Handle< QuantExt::YoYOptionletVolatilitySurface > yoyCapFloorVol(const string &name, const string &configuration=Market::defaultConfiguration) const override
YoY Inflation CapFloor volatilities.
map< pair< string, string >, Handle< Quote > > equitySpots_
pair< string, string > swapIndexBases(const string &key, const string &configuration=Market::defaultConfiguration) const
map< pair< string, string >, Handle< QuantLib::SwaptionVolatilityStructure > > swaptionCurves_
map< pair< string, string >, Handle< QuantExt::BaseCorrelationTermStructure > > baseCorrelations_
QuantLib::Handle< Quote > cpr(const string &securityID, const string &configuration=Market::defaultConfiguration) const override
map< pair< string, string >, Handle< Quote > > cprs_
Handle< Quote > fxRateImpl(const string &ccypair, const string &configuration=Market::defaultConfiguration) const override
Handle< Quote > recoveryRate(const string &, const string &configuration=Market::defaultConfiguration) const override
map< pair< string, string >, Handle< Quote > > recoveryRates_
QuantLib::Handle< QuantExt::PriceTermStructure > commodityPriceCurve(const string &commodityName, const string &configuration=Market::defaultConfiguration) const override
Commodity curves.
Handle< Quote > equitySpot(const string &eqName, const string &configuration=Market::defaultConfiguration) const override
Equity curves.
void refresh(const string &configuration=Market::defaultConfiguration) override
Send an explicit update() call to all term structures.
map< pair< string, string >, Handle< ZeroInflationIndex > > zeroInflationIndices_
Handle< SwapIndex > swapIndex(const string &indexName, const string &configuration=Market::defaultConfiguration) const override
map< pair< string, string >, pair< string, string > > swaptionIndexBases_
std::pair< string, QuantLib::Period > capFloorVolIndexBase(const string &key, const string &configuration=Market::defaultConfiguration) const override
Handle< QuantExt::CorrelationTermStructure > correlationCurve(const string &index1, const string &index2, const string &configuration=Market::defaultConfiguration) const override
Correlation curves.
Handle< OptionletVolatilityStructure > capFloorVol(const string &key, const string &configuration=Market::defaultConfiguration) const override
CapFloor volatilities.
map< pair< string, string >, Handle< BlackVolTermStructure > > equityVols_
virtual Handle< YoYInflationIndex > yoyInflationIndex(const string &indexName, const string &configuration=Market::defaultConfiguration) const override
map< pair< string, string >, Handle< QuantLib::SwaptionVolatilityStructure > > yieldVolCurves_
map< pair< string, string >, Handle< SwapIndex > > swapIndices_
map< pair< string, string >, Handle< Quote > > securitySpreads_
Handle< YieldTermStructure > yieldCurve(const YieldCurveType &type, const string &ccy, const string &configuration=Market::defaultConfiguration) const override
Yield Curves.
Handle< IborIndex > iborIndex(const string &indexName, const string &configuration=Market::defaultConfiguration) const override
map< pair< string, string >, QuantLib::Handle< QuantLib::BlackVolTermStructure > > commodityVols_
virtual void require(const MarketObject o, const string &name, const string &configuration, const bool forceBuild=false) const
Handle< QuantLib::SwaptionVolatilityStructure > yieldVol(const string &securityID, const string &configuration=Market::defaultConfiguration) const override
Yield volatility.
QuantLib::Handle< QuantLib::BlackVolTermStructure > commodityVolatility(const string &commodityName, const string &configuration=Market::defaultConfiguration) const override
Commodity volatility.
void addSwapIndex(const string &swapindex, const string &discountIndex, const string &configuration=Market::defaultConfiguration) const
add a swap index to the market
Handle< YieldTermStructure > equityForecastCurve(const string &eqName, const string &configuration=Market::defaultConfiguration) const override
Equity forecasting curves.
map< pair< string, string >, std::pair< string, QuantLib::Period > > capFloorIndexBase_
Currency and instrument specific conventions/defaults.
Intelligent FX price repository.
Serializable Credit Default Swap.