|
| MarketImpl (const bool handlePseudoCurrencies) |
|
|
Date | asofDate () const override |
| Get the asof Date. More...
|
|
Handle< YieldTermStructure > | yieldCurve (const YieldCurveType &type, const string &ccy, const string &configuration=Market::defaultConfiguration) const override |
| Yield Curves. More...
|
|
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. More...
|
|
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. More...
|
|
QuantLib::Handle< QuantExt::FxIndex > | fxIndexImpl (const string &fxIndex, const string &configuration=Market::defaultConfiguration) const override |
| FX. More...
|
|
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. More...
|
|
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. More...
|
|
Handle< QuantExt::BaseCorrelationTermStructure > | baseCorrelation (const string &name, const string &configuration=Market::defaultConfiguration) const override |
| Base correlation structures. More...
|
|
Handle< OptionletVolatilityStructure > | capFloorVol (const string &key, const string &configuration=Market::defaultConfiguration) const override |
| CapFloor volatilities. More...
|
|
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. More...
|
|
virtual Handle< ZeroInflationIndex > | zeroInflationIndex (const string &indexName, const string &configuration=Market::defaultConfiguration) const override |
| Inflation Indexes. More...
|
|
virtual Handle< YoYInflationIndex > | yoyInflationIndex (const string &indexName, const string &configuration=Market::defaultConfiguration) const override |
|
virtual Handle< CPIVolatilitySurface > | cpiInflationCapFloorVolatilitySurface (const string &indexName, const string &configuration=Market::defaultConfiguration) const override |
| Inflation Cap Floor Volatility Surfaces. More...
|
|
Handle< Quote > | equitySpot (const string &eqName, const string &configuration=Market::defaultConfiguration) const override |
| Equity curves. More...
|
|
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. More...
|
|
Handle< YieldTermStructure > | equityForecastCurve (const string &eqName, const string &configuration=Market::defaultConfiguration) const override |
| Equity forecasting curves. More...
|
|
Handle< Quote > | securitySpread (const string &securityID, const string &configuration=Market::defaultConfiguration) const override |
| Bond Spreads. More...
|
|
Handle< QuantExt::InflationIndexObserver > | baseCpis (const string &index, const string &configuration=Market::defaultConfiguration) const |
| Cpi Base Quotes. More...
|
|
QuantLib::Handle< QuantExt::PriceTermStructure > | commodityPriceCurve (const string &commodityName, const string &configuration=Market::defaultConfiguration) const override |
| Commodity curves. More...
|
|
QuantLib::Handle< QuantExt::CommodityIndex > | commodityIndex (const std::string &commodityName, const std::string &configuration=Market::defaultConfiguration) const override |
| Commodity index. More...
|
|
QuantLib::Handle< QuantLib::BlackVolTermStructure > | commodityVolatility (const string &commodityName, const string &configuration=Market::defaultConfiguration) const override |
| Commodity volatility. More...
|
|
Handle< QuantExt::CorrelationTermStructure > | correlationCurve (const string &index1, const string &index2, const string &configuration=Market::defaultConfiguration) const override |
| Correlation curves. More...
|
|
|
QuantLib::Handle< Quote > | cpr (const string &securityID, const string &configuration=Market::defaultConfiguration) const override |
|
| Market (const bool handlePseudoCurrencies) |
| Constructor. More...
|
|
virtual | ~Market () |
| Destructor. More...
|
|
virtual Date | asofDate () const =0 |
| Get the asof Date. More...
|
|
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 |
|
|
Date | asof_ |
|
QuantLib::ext::shared_ptr< FXTriangulation > | fx_ |
|
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< QuantLib::ext::shared_ptr< TermStructure > > > | refreshTs_ |
|
| 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. More...
|
|
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 |
| add a swap index to the market More...
|
|
pair< string, string > | swapIndexBases (const string &key, const string &configuration=Market::defaultConfiguration) const |
|
Market Implementation.
The MarketImpl class differs from the Market base class in that it contains concrete maps of term structures, and it implements the interface.
Definition at line 53 of file marketimpl.hpp.
virtual void require |
( |
const MarketObject |
o, |
|
|
const string & |
name, |
|
|
const string & |
configuration, |
|
|
const bool |
forceBuild = false |
|
) |
| const |
|
protectedvirtual |
Require a market object, this can be used in derived classes to build objects lazily. If the method is not overwritten in a derived class, it is assumed that the class builds all market object upfront.
For FXVols and Correlations the require is not 'hard', e.g. both EURUSD and USDEUR might be required for FXVols, but only one of them is expected to be actually built (the other one is then constructed on the fly from the first one). Therefore no error should be thrown in the implementation of require(), if an object is ultimately not found, an appropriate error will be thrown from this class.
An object is required for a single configuration. If it can't be built for this configuration, it should be tried to be built for the "default" configuration instead, because this is used as a fallback.
Notice that correlation curves are required with '&' as a delimiter between the indexes.
Reimplemented in TodaysMarket.
Definition at line 201 of file marketimpl.hpp.