Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
testmarket.hpp
Go to the documentation of this file.
1/*
2 Copyright (C) 2016 Quaternion Risk Management Ltd
3 All rights reserved.
4
5 This file is part of ORE, a free-software/open-source library
6 for transparent pricing and risk analysis - http://opensourcerisk.org
7
8 ORE is free software: you can redistribute it and/or modify it
9 under the terms of the Modified BSD License. You should have received a
10 copy of the license along with this program.
11 The license is also available online at <http://opensourcerisk.org>
12
13 This program is distributed on the basis that it will form a useful
14 contribution to risk analytics and model standardisation, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16 FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.
17*/
18
19#pragma once
20
21#include <boost/make_shared.hpp>
22
25
28
34
35#include <ql/math/interpolations/flatextrapolation2d.hpp>
36#include <ql/quotes/simplequote.hpp>
37#include <ql/termstructures/credit/flathazardrate.hpp>
38#include <ql/termstructures/credit/piecewisedefaultcurve.hpp>
39#include <ql/termstructures/credit/defaultprobabilityhelpers.hpp>
40#include <ql/termstructures/yield/piecewiseyieldcurve.hpp>
41#include <ql/termstructures/yield/ratehelpers.hpp>
42#include <ql/termstructures/volatility/equityfx/blackconstantvol.hpp>
43#include <ql/termstructures/volatility/inflation/constantcpivolatility.hpp>
44#include <ql/termstructures/volatility/optionlet/constantoptionletvol.hpp>
45#include <ql/termstructures/volatility/swaption/swaptionconstantvol.hpp>
46#include <ql/termstructures/voltermstructure.hpp>
47#include <ql/termstructures/yield/flatforward.hpp>
48#include <ql/time/calendars/nullcalendar.hpp>
49#include <ql/time/calendars/target.hpp>
50#include <ql/time/daycounters/actualactual.hpp>
51#include <ql/time/daycounters/actual360.hpp>
52
53using namespace QuantLib;
54using namespace ore::data;
55using std::pair;
56using std::vector;
57
58namespace testsuite {
59
60//! Simple flat market setup to be used in the test suite
61/*!
62 \ingroup tests
63*/
65public:
66 TestMarket(Date asof, bool swapVolCube = false);
67
68private:
69 Handle<YieldTermStructure> flatRateYts(Real forward);
70 Handle<BlackVolTermStructure> flatRateFxv(Volatility forward);
71 Handle<YieldTermStructure> flatRateDiv(Real dividend);
72 Handle<QuantLib::SwaptionVolatilityStructure> flatRateSvs(Volatility forward, VolatilityType type = ShiftedLognormal,
73 Real shift = 0.0);
74 Handle<QuantExt::CreditCurve> flatRateDcs(Volatility forward);
75 Handle<OptionletVolatilityStructure> flatRateCvs(Volatility vol, VolatilityType type = Normal, Real shift = 0.0);
76 Handle<QuantExt::CorrelationTermStructure> flatCorrelation(Real correlation = 0.0);
77 Handle<CPICapFloorTermPriceSurface> flatRateCps(Handle<ZeroInflationIndex> infIndex,
78 const std::vector<Rate> cStrikes, std::vector<Rate> fStrikes,
79 std::vector<Period> cfMaturities, Matrix cPrice, Matrix fPrice);
80 Handle<QuantLib::CPIVolatilitySurface> flatCpiVolSurface(Volatility v);
81 Handle<ZeroInflationIndex> makeZeroInflationIndex(string index, vector<Date> dates, vector<Rate> rates,
82 QuantLib::ext::shared_ptr<ZeroInflationIndex> ii,
83 Handle<YieldTermStructure> yts);
84 Handle<YoYInflationIndex> makeYoYInflationIndex(string index, vector<Date> dates, vector<Rate> rates,
85 QuantLib::ext::shared_ptr<YoYInflationIndex> ii,
86 Handle<YieldTermStructure> yts);
87 Handle<ZeroInflationTermStructure> flatZeroInflationCurve(Real inflationRate, Rate nominalRate);
88 Handle<YoYInflationTermStructure> flatYoYInflationCurve(Real inflationRate, Rate nominalRate);
89 Handle<YoYOptionletVolatilitySurface> flatYoYOptionletVolatilitySurface(Real normalVol);
90};
91
93public:
94 TestMarketParCurves(const Date& asof);
95
96 const map<string, vector<string>>& discountRateHelpersInstMap() const { return discountRateHelperInstMap_; }
97 const map<string, vector<string>>& equityForecastRateHelpersInstMap() const {
99 }
100 const map<string, vector<string>>& indexCurveRateHelperInstMap() const { return indexCurveRateHelperInstMap_; }
101 const map<string, vector<string>>& defaultRateHelpersInstMap() const { return defaultRateHelperInstMap_; }
102 const map<string, vector<string>>& zeroInflationRateHelperInstMap() const {
104 }
105 const map<string, vector<string>>& yoyInflationRateHelperInstMap() const { return yoyInflationRateHelperInstMap_; }
106 const map<string, vector<Period>>& discountRateHelperTenorsMap() const { return discountRateHelperTenorsMap_; }
107 const map<string, vector<Period>>& equityForecastRateHelperTenorsMap() const {
109 }
110 const map<string, vector<Period>>& indexCurveRateHelperTenorsMap() const { return indexCurveRateHelperTenorsMap_; }
111 const map<string, vector<Period>>& defaultRateHelperTenorsMap() const { return defaultRateHelperTenorsMap_; }
112 const map<string, vector<Period>>& cdsVolRateHelperTenorsMap() const { return cdsVolRateHelperTenorsMap_; }
113 const map<string, vector<Period>>& swaptionVolRateHelperTenorsMap() const {
115 }
116 const map<string, vector<Period>>& swaptionVolRateHelperSwapTenorsMap() const {
118 }
119 const map<string, vector<Period>>& equityVolRateHelperTenorsMap() const { return equityVolRateHelperTenorsMap_; }
120 const map<string, vector<Period>>& baseCorrRateHelperTenorsMap() const { return baseCorrRateHelperTenorsMap_; }
121 const map<string, vector<string>>& baseCorrLossLevelsMap() const { return baseCorrLossLevelsMap_; }
122 const map<string, vector<Period>>& zeroInflationRateHelperTenorsMap() const {
124 }
125 const map<string, vector<Period>>& yoyInflationRateHelperTenorsMap() const {
127 }
128 const map<string, vector<QuantLib::ext::shared_ptr<RateHelper>>>& equityForecastRateHelpersMap() const {
130 }
131 const map<string, vector<QuantLib::ext::shared_ptr<RateHelper>>>& discountRateHelpersMap() const {
133 }
134 const map<string, vector<QuantLib::ext::shared_ptr<RateHelper>>>& indexCurveRateHelpersMap() const {
136 }
137 const map<string, vector<QuantLib::ext::shared_ptr<QuantExt::DefaultProbabilityHelper>>>& defaultRateHelpersMap() const {
139 }
140 const map<string, vector<Handle<Quote>>>& discountRateHelperValuesMap() const {
142 }
143 const map<string, vector<Handle<Quote>>>& equityForecastRateHelperValuesMap() const {
145 }
146 const map<string, vector<Handle<Quote>>>& indexCurveRateHelperValuesMap() const {
148 }
149 const map<string, vector<Handle<Quote>>>& defaultRateHelperValuesMap() const { return defaultRateHelperValuesMap_; }
150 const map<string, vector<Handle<Quote>>>& cdsVolRateHelperValuesMap() const { return cdsVolRateHelperValuesMap_; }
151 const map<string, vector<Handle<Quote>>>& swaptionVolRateHelperValuesMap() const {
153 }
154 const map<string, vector<Handle<Quote>>>& equityVolRateHelperValuesMap() const {
156 }
157 const map<string, vector<Handle<Quote>>>& baseCorrRateHelperValuesMap() const {
159 }
160 const map<string, vector<Handle<Quote>>>& zeroInflationRateHelperValuesMap() const {
162 }
163 const map<string, vector<Handle<Quote>>>& yoyInflationRateHelperValuesMap() const {
165 }
166
167private:
168 void createDiscountCurve(const string& ccy, const vector<string>& parInst, const vector<Period>& parTenor,
169 const vector<Real>& parRates);
170
171 void createEquityForecastCurve(const string& name, const string& ccy, const vector<string>& parInst,
172 const vector<Period>& parTenor, const vector<Real>& parRates);
173
174 void createXccyDiscountCurve(const string& ccy, const string& baseCcy, const vector<string>& parInst,
175 const vector<Period>& parTenor, const vector<Real>& parRates);
176
177 void createIborIndex(const string& idxName, const vector<string>& parInst, const vector<Period>& parTenor,
178 const vector<Real>& parRates, bool singleCurve);
179
180 void createDefaultCurve(const string& name, const string& ccy, const vector<string>& parInst,
181 const vector<Period>& parTenor, const vector<Real>& parRates);
182
183 void createCdsVolCurve(const string& name, const vector<Period>& parTenor, const vector<Real>& parRates);
184 void createEquityVolCurve(const string& name, const string& ccy, const vector<Period>& parTenor,
185 const vector<Real>& parRates);
186 void createBaseCorrel(const string& name, const vector<Period>& tenors, const vector<string>& lossLevel,
187 const vector<Real> quotes);
188 void createSwaptionVolCurve(const string& name, const vector<Period>& optionTenors,
189 const vector<Period>& swapTenors, const vector<Real>& strikeSpreads,
190 const vector<Real>& parRates);
191 void createZeroInflationIndex(const string& idxName, const vector<string>& parInst, const vector<Period>& parTenor,
192 const vector<Real>& parRates, bool singleCurve);
193 void createYoYInflationIndex(const string& idxName, const vector<string>& parInst, const vector<Period>& parTenor,
194 const vector<Real>& parRates, bool singleCurve);
195
196 Handle<YieldTermStructure> flatRateYts(Real forward);
197 Handle<BlackVolTermStructure> flatRateFxv(Volatility forward);
198 Handle<QuantLib::SwaptionVolatilityStructure> flatRateSvs(Volatility forward,
199 VolatilityType type = ShiftedLognormal, Real shift = 0.0);
200 Handle<DefaultProbabilityTermStructure> flatRateDcs(Volatility forward);
201 Handle<OptionletVolatilityStructure> flatRateCvs(Volatility vol, VolatilityType type = Normal, Real shift = 0.0);
202
210 map<string, vector<string>> baseCorrLossLevelsMap_;
211 map<string, vector<QuantLib::ext::shared_ptr<RateHelper>>> discountRateHelpersMap_, equityForecastRateHelpersMap_,
213 map<string, vector<QuantLib::ext::shared_ptr<QuantExt::DefaultProbabilityHelper>>> defaultRateHelpersMap_;
218};
219
220
221//! Static class to allow for easy construction of configuration objects for use within tests
223public:
224 //! ScenarioSimMarketParameters instance
225 static QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>
226 setupSimMarketData(bool hasSwapVolCube = false, bool hasYYCapVols = false);
227 //! SensitivityScenarioData instance
228 static QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData>
229 setupSensitivityScenarioData(bool hasSwapVolCube = false, bool hasYYCapVols = false, bool parConversion = false);
230 //! ScenarioSimMarketParameters instance, 2 currencies
231 static QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters> setupSimMarketData2();
232 //! ScenarioSimMarketParameters instance, 5 currencies
233 static QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters> setupSimMarketData5();
234 //! SensitivityScenarioData instance, 2 currencies
235 static QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData> setupSensitivityScenarioData2();
236 //! SensitivityScenarioData instance, 5 currencies
237 static QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData> setupSensitivityScenarioData5();
238 //! SensitivityScenarioData instance, 2 currencies, shifts more granular than base curve
239 static QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData> setupSensitivityScenarioData2b();
240 //! Set Conventions
241 static void setConventions();
242 static void setConventions2();
243};
244} // namespace testsuite
Static class to allow for easy construction of configuration objects for use within tests.
Definition: testmarket.hpp:222
static QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > setupSensitivityScenarioData(bool hasSwapVolCube=false, bool hasYYCapVols=false, bool parConversion=false)
SensitivityScenarioData instance.
static QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > setupSimMarketData2()
ScenarioSimMarketParameters instance, 2 currencies.
static QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > setupSensitivityScenarioData2()
SensitivityScenarioData instance, 2 currencies.
static QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > setupSensitivityScenarioData5()
SensitivityScenarioData instance, 5 currencies.
static void setConventions()
Set Conventions.
static QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > setupSensitivityScenarioData2b()
SensitivityScenarioData instance, 2 currencies, shifts more granular than base curve.
static QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > setupSimMarketData(bool hasSwapVolCube=false, bool hasYYCapVols=false)
ScenarioSimMarketParameters instance.
static QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > setupSimMarketData5()
ScenarioSimMarketParameters instance, 5 currencies.
Simple flat market setup to be used in the test suite.
Definition: testmarket.hpp:64
Handle< YoYInflationIndex > makeYoYInflationIndex(string index, vector< Date > dates, vector< Rate > rates, QuantLib::ext::shared_ptr< YoYInflationIndex > ii, Handle< YieldTermStructure > yts)
Definition: testmarket.cpp:588
Handle< CPICapFloorTermPriceSurface > flatRateCps(Handle< ZeroInflationIndex > infIndex, const std::vector< Rate > cStrikes, std::vector< Rate > fStrikes, std::vector< Period > cfMaturities, Matrix cPrice, Matrix fPrice)
Definition: testmarket.cpp:537
Handle< YoYInflationTermStructure > flatYoYInflationCurve(Real inflationRate, Rate nominalRate)
Definition: testmarket.cpp:626
Handle< YoYOptionletVolatilitySurface > flatYoYOptionletVolatilitySurface(Real normalVol)
Definition: testmarket.cpp:639
Handle< OptionletVolatilityStructure > flatRateCvs(Volatility vol, VolatilityType type=Normal, Real shift=0.0)
Definition: testmarket.cpp:524
Handle< ZeroInflationIndex > makeZeroInflationIndex(string index, vector< Date > dates, vector< Rate > rates, QuantLib::ext::shared_ptr< ZeroInflationIndex > ii, Handle< YieldTermStructure > yts)
Definition: testmarket.cpp:561
Handle< QuantLib::CPIVolatilitySurface > flatCpiVolSurface(Volatility v)
Definition: testmarket.cpp:548
Handle< QuantExt::CreditCurve > flatRateDcs(Volatility forward)
Definition: testmarket.cpp:518
Handle< QuantExt::CorrelationTermStructure > flatCorrelation(Real correlation=0.0)
Definition: testmarket.cpp:531
Handle< ZeroInflationTermStructure > flatZeroInflationCurve(Real inflationRate, Rate nominalRate)
Definition: testmarket.cpp:613
Handle< YieldTermStructure > flatRateYts(Real forward)
Definition: testmarket.cpp:492
Handle< BlackVolTermStructure > flatRateFxv(Volatility forward)
Definition: testmarket.cpp:498
Handle< QuantLib::SwaptionVolatilityStructure > flatRateSvs(Volatility forward, VolatilityType type=ShiftedLognormal, Real shift=0.0)
Definition: testmarket.cpp:511
Handle< YieldTermStructure > flatRateDiv(Real dividend)
Definition: testmarket.cpp:504
map< string, vector< Period > > swaptionVolRateHelperSwapTenorsMap_
Definition: testmarket.hpp:208
const map< string, vector< QuantLib::ext::shared_ptr< RateHelper > > > & indexCurveRateHelpersMap() const
Definition: testmarket.hpp:134
map< string, vector< Handle< Quote > > > discountRateHelperValuesMap_
Definition: testmarket.hpp:214
void createIborIndex(const string &idxName, const vector< string > &parInst, const vector< Period > &parTenor, const vector< Real > &parRates, bool singleCurve)
Definition: testmarket.cpp:909
map< string, vector< Period > > equityForecastRateHelperTenorsMap_
Definition: testmarket.hpp:206
map< string, vector< Handle< Quote > > > equityForecastRateHelperValuesMap_
Definition: testmarket.hpp:214
map< string, vector< string > > baseCorrLossLevelsMap_
Definition: testmarket.hpp:210
map< string, vector< Handle< Quote > > > defaultRateHelperValuesMap_
Definition: testmarket.hpp:215
map< string, vector< Handle< Quote > > > baseCorrRateHelperValuesMap_
Definition: testmarket.hpp:216
const map< string, vector< Handle< Quote > > > & baseCorrRateHelperValuesMap() const
Definition: testmarket.hpp:157
map< string, vector< Period > > equityVolRateHelperTenorsMap_
Definition: testmarket.hpp:208
const map< string, vector< Period > > & defaultRateHelperTenorsMap() const
Definition: testmarket.hpp:111
const map< string, vector< Period > > & zeroInflationRateHelperTenorsMap() const
Definition: testmarket.hpp:122
const map< string, vector< Period > > & yoyInflationRateHelperTenorsMap() const
Definition: testmarket.hpp:125
map< string, vector< Period > > zeroInflationRateHelperTenorsMap_
Definition: testmarket.hpp:209
map< string, vector< Handle< Quote > > > zeroInflationRateHelperValuesMap_
Definition: testmarket.hpp:217
const map< string, vector< Period > > & equityForecastRateHelperTenorsMap() const
Definition: testmarket.hpp:107
const map< string, vector< Handle< Quote > > > & discountRateHelperValuesMap() const
Definition: testmarket.hpp:140
void createDiscountCurve(const string &ccy, const vector< string > &parInst, const vector< Period > &parTenor, const vector< Real > &parRates)
Definition: testmarket.cpp:877
map< string, vector< QuantLib::ext::shared_ptr< QuantExt::DefaultProbabilityHelper > > > defaultRateHelpersMap_
Definition: testmarket.hpp:213
map< string, vector< string > > indexCurveRateHelperInstMap_
Definition: testmarket.hpp:204
const map< string, vector< string > > & zeroInflationRateHelperInstMap() const
Definition: testmarket.hpp:102
map< string, vector< Handle< Quote > > > indexCurveRateHelperValuesMap_
Definition: testmarket.hpp:215
map< string, vector< Period > > baseCorrRateHelperTenorsMap_
Definition: testmarket.hpp:209
const map< string, vector< Period > > & indexCurveRateHelperTenorsMap() const
Definition: testmarket.hpp:110
const map< string, vector< QuantLib::ext::shared_ptr< RateHelper > > > & discountRateHelpersMap() const
Definition: testmarket.hpp:131
const map< string, vector< Handle< Quote > > > & cdsVolRateHelperValuesMap() const
Definition: testmarket.hpp:150
map< string, vector< string > > discountRateHelperInstMap_
Definition: testmarket.hpp:203
map< string, vector< string > > equityForecastRateHelperInstMap_
Definition: testmarket.hpp:203
const map< string, vector< string > > & equityForecastRateHelpersInstMap() const
Definition: testmarket.hpp:97
map< string, vector< Period > > swaptionVolRateHelperTenorsMap_
Definition: testmarket.hpp:208
Handle< OptionletVolatilityStructure > flatRateCvs(Volatility vol, VolatilityType type=Normal, Real shift=0.0)
void createCdsVolCurve(const string &name, const vector< Period > &parTenor, const vector< Real > &parRates)
Definition: testmarket.cpp:951
const map< string, vector< QuantLib::ext::shared_ptr< QuantExt::DefaultProbabilityHelper > > > & defaultRateHelpersMap() const
Definition: testmarket.hpp:137
void createXccyDiscountCurve(const string &ccy, const string &baseCcy, const vector< string > &parInst, const vector< Period > &parTenor, const vector< Real > &parRates)
Definition: testmarket.cpp:890
const map< string, vector< Handle< Quote > > > & zeroInflationRateHelperValuesMap() const
Definition: testmarket.hpp:160
const map< string, vector< Period > > & equityVolRateHelperTenorsMap() const
Definition: testmarket.hpp:119
const map< string, vector< string > > & defaultRateHelpersInstMap() const
Definition: testmarket.hpp:101
map< string, vector< Period > > cdsVolRateHelperTenorsMap_
Definition: testmarket.hpp:207
const map< string, vector< string > > & indexCurveRateHelperInstMap() const
Definition: testmarket.hpp:100
map< string, vector< QuantLib::ext::shared_ptr< RateHelper > > > discountRateHelpersMap_
Definition: testmarket.hpp:211
Handle< YieldTermStructure > flatRateYts(Real forward)
const map< string, vector< Handle< Quote > > > & equityForecastRateHelperValuesMap() const
Definition: testmarket.hpp:143
map< string, vector< string > > zeroInflationRateHelperInstMap_
Definition: testmarket.hpp:204
map< string, vector< Period > > defaultRateHelperTenorsMap_
Definition: testmarket.hpp:207
void createEquityForecastCurve(const string &name, const string &ccy, const vector< string > &parInst, const vector< Period > &parTenor, const vector< Real > &parRates)
const map< string, vector< Period > > & cdsVolRateHelperTenorsMap() const
Definition: testmarket.hpp:112
map< string, vector< Period > > discountRateHelperTenorsMap_
Definition: testmarket.hpp:206
map< string, vector< string > > defaultRateHelperInstMap_
Definition: testmarket.hpp:204
const map< string, vector< Handle< Quote > > > & indexCurveRateHelperValuesMap() const
Definition: testmarket.hpp:146
void createEquityVolCurve(const string &name, const string &ccy, const vector< Period > &parTenor, const vector< Real > &parRates)
Definition: testmarket.cpp:979
Handle< DefaultProbabilityTermStructure > flatRateDcs(Volatility forward)
const map< string, vector< Period > > & baseCorrRateHelperTenorsMap() const
Definition: testmarket.hpp:120
map< string, vector< QuantLib::ext::shared_ptr< RateHelper > > > indexCurveRateHelpersMap_
Definition: testmarket.hpp:212
const map< string, vector< string > > & discountRateHelpersInstMap() const
Definition: testmarket.hpp:96
map< string, vector< Handle< Quote > > > equityVolRateHelperValuesMap_
Definition: testmarket.hpp:216
const map< string, vector< Period > > & swaptionVolRateHelperSwapTenorsMap() const
Definition: testmarket.hpp:116
void createBaseCorrel(const string &name, const vector< Period > &tenors, const vector< string > &lossLevel, const vector< Real > quotes)
map< string, vector< Period > > indexCurveRateHelperTenorsMap_
Definition: testmarket.hpp:207
void createYoYInflationIndex(const string &idxName, const vector< string > &parInst, const vector< Period > &parTenor, const vector< Real > &parRates, bool singleCurve)
Handle< BlackVolTermStructure > flatRateFxv(Volatility forward)
const map< string, vector< Handle< Quote > > > & swaptionVolRateHelperValuesMap() const
Definition: testmarket.hpp:151
const map< string, vector< Period > > & swaptionVolRateHelperTenorsMap() const
Definition: testmarket.hpp:113
const map< string, vector< Handle< Quote > > > & equityVolRateHelperValuesMap() const
Definition: testmarket.hpp:154
map< string, vector< Period > > yoyInflationRateHelperTenorsMap_
Definition: testmarket.hpp:209
const map< string, vector< string > > & yoyInflationRateHelperInstMap() const
Definition: testmarket.hpp:105
map< string, vector< Handle< Quote > > > cdsVolRateHelperValuesMap_
Definition: testmarket.hpp:215
map< string, vector< string > > yoyInflationRateHelperInstMap_
Definition: testmarket.hpp:205
void createDefaultCurve(const string &name, const string &ccy, const vector< string > &parInst, const vector< Period > &parTenor, const vector< Real > &parRates)
Definition: testmarket.cpp:933
const map< string, vector< QuantLib::ext::shared_ptr< RateHelper > > > & equityForecastRateHelpersMap() const
Definition: testmarket.hpp:128
Handle< QuantLib::SwaptionVolatilityStructure > flatRateSvs(Volatility forward, VolatilityType type=ShiftedLognormal, Real shift=0.0)
void createSwaptionVolCurve(const string &name, const vector< Period > &optionTenors, const vector< Period > &swapTenors, const vector< Real > &strikeSpreads, const vector< Real > &parRates)
const map< string, vector< Handle< Quote > > > & defaultRateHelperValuesMap() const
Definition: testmarket.hpp:149
const map< string, vector< string > > & baseCorrLossLevelsMap() const
Definition: testmarket.hpp:121
map< string, vector< Handle< Quote > > > yoyInflationRateHelperValuesMap_
Definition: testmarket.hpp:217
map< string, vector< QuantLib::ext::shared_ptr< RateHelper > > > equityForecastRateHelpersMap_
Definition: testmarket.hpp:211
const map< string, vector< Period > > & discountRateHelperTenorsMap() const
Definition: testmarket.hpp:106
void createZeroInflationIndex(const string &idxName, const vector< string > &parInst, const vector< Period > &parTenor, const vector< Real > &parRates, bool singleCurve)
const map< string, vector< Handle< Quote > > > & yoyInflationRateHelperValuesMap() const
Definition: testmarket.hpp:163
map< string, vector< Handle< Quote > > > swaptionVolRateHelperValuesMap_
Definition: testmarket.hpp:216
A class to hold Scenario parameters for scenarioSimMarket.
A class to hold the parametrisation for building sensitivity scenarios.
Date asof(14, Jun, 2018)