#include <boost/lexical_cast.hpp>
#include <boost/array.hpp>
#include "ivolt0.hpp"
#include "inflationvolatility.hpp"
#include <ql/math/interpolations/cubicinterpolation.hpp>
#include <ql/math/interpolations/bicubicsplineinterpolation.hpp>
#include <ql/termstructures/yield/zerocurve.hpp>
#include <ql/cashflows/inflationcoupon.hpp>
#include <ql/cashflows/inflationcouponpricer.hpp>
#include <ql/experimental/inflation/yoycapfloortermpricesurface.hpp>
#include <ql/pricingengines/inflation/inflationcapfloorengines.hpp>
#include <ql/experimental/inflation/yoyoptionletstripper.hpp>
#include <ql/experimental/inflation/kinterpolatedyoyoptionletvolatilitysurface.hpp>
#include <ql/experimental/inflation/interpolatedyoyoptionletstripper.hpp>
#include <ql/cashflows/capflooredinflationcoupon.hpp>
#include <ql/indexes/inflation/euhicp.hpp>
#include <ql/indexes/inflation/ukrpi.hpp>
#include <iostream>
#include <boost/bind.hpp>
Go to the source code of this file.
Namespaces | |
namespace | Test |
namespace | Test::ts_t |
namespace | Test::lists_t |
namespace | Test::vol_t |
Classes | |
struct | Test::ts_t::ts |
struct | Test::lists_t::lists |
struct | Test::vol_t::vol |
Functions | |
void | no_deletion (void *) |
shared_ptr< YoYInflationIndex > | yoyIndexUK (new YYUKRPIr(true, yoyUK)) |
shared_ptr< YoYInflationIndex > | yoyIndexEU (new YYEUHICPr(true, yoyEU)) |
std::vector< Rate > | yoyEUrates0 (yoyEUrates, yoyEUrates+LENGTH(yoyEUrates)) |
void | setup () |
void | setupPriceSurface () |
Variables | |
static int | watcher = 0 |
Handle< YieldTermStructure > | nominalEUR |
Handle< YieldTermStructure > | nominalGBP |
RelinkableHandle < YoYInflationTermStructure > | yoyEU |
RelinkableHandle < YoYInflationTermStructure > | yoyUK |
vector< Rate > | cStrikesEU |
vector< Rate > | fStrikesEU |
vector< Period > | cfMaturitiesEU |
shared_ptr< Matrix > | cPriceEU |
shared_ptr< Matrix > | fPriceEU |
vector< Rate > | cStrikesUK |
vector< Rate > | fStrikesUK |
vector< Period > | cfMaturitiesUK |
shared_ptr< Matrix > | cPriceUK |
shared_ptr< Matrix > | fPriceUK |
shared_ptr < InterpolatedYoYCapFloorTermPriceSurface < Bicubic, Cubic > > | priceSurfEU |
Date | eval = Date(Day(23), Month(11), Year(2007)) |
Real | timesEUR [] |
Real | ratesEUR [] |
Real | timesGBP [] |
Real | ratesGBP [] |
TimeSeries< Rate > | teur1 |
TimeSeries< Rate > | tgbp1 |
DayCounter | dcc_yc0 = Actual365Fixed() |
Real | yoyEUrates [] |
const Size | ncStrikesEU = 6 |
const Size | nfStrikesEU = 6 |
const Size | ncfMaturitiesEU = 7 |
Real | capStrikesEU [ncStrikesEU] = {0.02, 0.025, 0.03, 0.035, 0.04, 0.05} |
Period | capMaturitiesEU [ncfMaturitiesEU] |
Real | capPricesEU [ncStrikesEU][ncfMaturitiesEU] |
Real | floorStrikesEU [nfStrikesEU] = {-0.01, 0.00, 0.005, 0.01, 0.015, 0.02} |
Real | floorPricesEU [nfStrikesEU][ncfMaturitiesEU] |
QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email <quantlib-dev@lists.sf.net>. The license is also available online at <http://quantlib.org/license.shtml>.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.
Definition in file inflationvolatility.cpp.
void @3::no_deletion | ( | void * | ) | [static] |
Definition at line 137 of file inflationvolatility.cpp.
void @3::setup | ( | ) | [static] |
Definition at line 250 of file inflationvolatility.cpp.
References baseDate, and LENGTH.
Referenced by Test::vol_t::vol::atm(), and Test::vol_t::vol::vol0().
void @3::setupPriceSurface | ( | ) | [static] |
Definition at line 328 of file inflationvolatility.cpp.
References bdc, cal, fixingDays, and yoyIndexEU().
Referenced by Test::vol_t::vol::atm(), and Test::vol_t::vol::vol0().
std::vector<Rate> @3::yoyEUrates0 | ( | yoyEUrates | , | |
yoyEUrates+ | LENGTHyoyEUrates | |||
) | [static] |
Referenced by Test::ts_t::ts::ts3(), and Test::lists_t::lists::yoyeur().
shared_ptr<YoYInflationIndex> @3::yoyIndexEU | ( | new | YYEUHICPrtrue, yoyEU | ) | [static] |
Referenced by setupPriceSurface(), and Test::vol_t::vol::vol0().
shared_ptr<YoYInflationIndex> @3::yoyIndexUK | ( | new | YYUKRPIrtrue, yoyUK | ) | [static] |
const Date& baseDate |
Definition at line 62 of file inflationvolatility.cpp.
Referenced by setup(), Test::ts_t::ts::ts3(), and Test::lists_t::lists::yoyeur().
BusinessDayConvention bdc |
Definition at line 63 of file inflationvolatility.cpp.
Referenced by setupPriceSurface(), and Test::vol_t::vol::vol0().
Calendar cal |
Definition at line 65 of file inflationvolatility.cpp.
Referenced by Test::eleve_t::eleve::bespoke1(), Test::eleve_t::eleve::calfiles(), Test::comparisons_t::comparisons::comp(), Test::eleve_t::eleve::compare2(), Test::eleve_t::eleve::failure0(), Test::corrections_t::corrections::fix(), eepgwde::detail::Calendars::fix(), Test::corrections_t::corrections::fix0(), Test::corrections_t::corrections::fix1(), Test::eleve_t::eleve::range(), setupPriceSurface(), and Test::vol_t::vol::vol0().
vector<Period> cfmeu0&[0][LENGTH(capStrikesEU)] capMaturitiesEU [static] |
Initial value:
{3*Years, 5*Years, 7*Years, 10*Years, 15*Years, 20*Years, 30*Years}
Definition at line 226 of file inflationvolatility.cpp.
Real capPricesEU[ncStrikesEU][ncfMaturitiesEU] [static] |
Initial value:
{{116.225, 204.945, 296.285, 434.29, 654.47, 844.775, 1132.33}, {34.305, 71.575, 114.1, 184.33, 307.595, 421.395, 602.35}, {6.37, 19.085, 35.635, 66.42, 127.69, 189.685, 296.195}, {1.325, 5.745, 12.585, 26.945, 58.95, 94.08, 158.985}, {0.501, 2.37, 5.38, 13.065, 31.91, 53.95, 96.97}, {0.501, 0.695, 1.47, 4.415, 12.86, 23.75, 46.7}}
Definition at line 228 of file inflationvolatility.cpp.
vector<Rate> cseu0&[0][LENGTH(capStrikesEU)] capStrikesEU = {0.02, 0.025, 0.03, 0.035, 0.04, 0.05} [static] |
Definition at line 225 of file inflationvolatility.cpp.
vector<Period> cfMaturitiesEU [static] |
Definition at line 148 of file inflationvolatility.cpp.
vector<Period> cfMaturitiesUK [static] |
Definition at line 157 of file inflationvolatility.cpp.
shared_ptr<Matrix> cPriceEU [static] |
Definition at line 149 of file inflationvolatility.cpp.
shared_ptr<Matrix> cPriceUK [static] |
Definition at line 158 of file inflationvolatility.cpp.
vector<Rate> cStrikesEU [static] |
Definition at line 146 of file inflationvolatility.cpp.
vector<Rate> cStrikesUK [static] |
Definition at line 155 of file inflationvolatility.cpp.
const vector<Real>& dates |
Definition at line 114 of file inflationvolatility.cpp.
Referenced by Test::corrections_t::corrections::fix(), Test::corrections_t::corrections::fix0(), Test::corrections_t::corrections::fix1(), Test::ts_t::ts::ts0(), Test::ts_t::ts::ts3(), and Test::lists_t::lists::yoyeur().
DayCounter dcc_yc0 = Actual365Fixed() [static] |
Definition at line 202 of file inflationvolatility.cpp.
Date eval = Date(Day(23), Month(11), Year(2007)) [static] |
Definition at line 165 of file inflationvolatility.cpp.
Real floorPricesEU[nfStrikesEU][ncfMaturitiesEU] [static] |
Initial value:
{{0.501, 0.851, 2.44, 6.645, 16.23, 26.85, 46.365}, {0.501, 2.236, 5.555, 13.075, 28.46, 44.525, 73.08}, {1.025, 3.935, 9.095, 19.64, 39.93, 60.375, 96.02}, {2.465, 7.885, 16.155, 31.6, 59.34, 86.21, 132.045}, {6.9, 17.92, 32.085, 56.08, 95.95, 132.85, 194.18}, {23.52, 47.625, 74.085, 114.355, 175.72, 229.565, 316.285}}
Definition at line 237 of file inflationvolatility.cpp.
vector<Rate> fseu0&[0][LENGTH(floorStrikesEU)] floorStrikesEU = {-0.01, 0.00, 0.005, 0.01, 0.015, 0.02} [static] |
Definition at line 236 of file inflationvolatility.cpp.
shared_ptr<Matrix> fPriceEU [static] |
Definition at line 150 of file inflationvolatility.cpp.
shared_ptr<Matrix> fPriceUK [static] |
Definition at line 159 of file inflationvolatility.cpp.
vector<Rate> fStrikesEU [static] |
Definition at line 147 of file inflationvolatility.cpp.
vector<Rate> fStrikesUK [static] |
Definition at line 156 of file inflationvolatility.cpp.
const Size ncfMaturitiesEU = 7 [static] |
Definition at line 224 of file inflationvolatility.cpp.
const Size ncStrikesEU = 6 [static] |
Definition at line 222 of file inflationvolatility.cpp.
const Size nfStrikesEU = 6 [static] |
Definition at line 223 of file inflationvolatility.cpp.
Handle<YieldTermStructure> nominalEUR [static] |
Definition at line 140 of file inflationvolatility.cpp.
Referenced by Test::curves_t::curves::yceur().
Handle<YieldTermStructure> nominalGBP [static] |
Definition at line 141 of file inflationvolatility.cpp.
Referenced by Test::curves_t::curves::ycuk().
int offset |
Definition at line 66 of file inflationvolatility.cpp.
shared_ptr<InterpolatedYoYCapFloorTermPriceSurface<Bicubic,Cubic> > priceSurfEU [static] |
Definition at line 161 of file inflationvolatility.cpp.
const vector<Real>& rates |
Definition at line 115 of file inflationvolatility.cpp.
Initial value:
{0.0415600, 0.0426840, 0.0470980, 0.0458506, 0.0449550, 0.0439784, 0.0431887, 0.0426604, 0.0422925, 0.0424591, 0.0421477, 0.0421853, 0.0424016, 0.0426969, 0.0430804, 0.0435011, 0.0439368, 0.0443825, 0.0452589, 0.0463389, 0.0472636, 0.0473401, 0.0470629, 0.0461092, 0.0450794}
Definition at line 173 of file inflationvolatility.cpp.
Initial value:
{0.0577363, 0.0582314, 0.0585265, 0.0587165, 0.0596598, 0.0612506, 0.0589676, 0.0570512, 0.0556147, 0.0546082, 0.0549492, 0.053801, 0.0529333, 0.0524068, 0.0519712, 0.0516615, 0.0513711, 0.0510433, 0.0507974, 0.0504833, 0.0498998, 0.0490464, 0.04768, 0.0464862, 0.045452, 0.0437699, 0.0425311, 0.0420073, 0.041151}
Definition at line 186 of file inflationvolatility.cpp.
TimeSeries<Rate> teur1 [static] |
TimeSeries<Rate> tgbp1 [static] |
Definition at line 200 of file inflationvolatility.cpp.
Initial value:
{0.0109589, 0.0684932, 0.263014, 0.317808, 0.567123, 0.816438, 1.06575, 1.31507, 1.56438, 2.0137, 3.01918, 4.01644, 5.01644, 6.01644, 7.01644, 8.01644, 9.02192, 10.0192, 12.0192, 15.0247, 20.0301, 25.0356, 30.0329, 40.0384, 50.0466}
Definition at line 168 of file inflationvolatility.cpp.
Initial value:
{0.008219178, 0.010958904, 0.01369863, 0.019178082, 0.073972603, 0.323287671, 0.57260274, 0.821917808, 1.071232877, 1.320547945, 1.506849315, 2.002739726, 3.002739726, 4.002739726, 5.005479452, 6.010958904, 7.008219178, 8.005479452, 9.008219178, 10.00821918, 12.01369863, 15.0109589, 20.01369863, 25.01917808, 30.02191781, 40.03287671, 50.03561644, 60.04109589, 70.04931507}
Definition at line 179 of file inflationvolatility.cpp.
TimeUnit timeunit |
Definition at line 64 of file inflationvolatility.cpp.
int watcher = 0 [static] |
Definition at line 51 of file inflationvolatility.cpp.
RelinkableHandle<YoYInflationTermStructure> yoyEU [static] |
Real yoyEUrates[] [static] |
Initial value:
{0.0237951, 0.0238749, 0.0240334, 0.0241934, 0.0243567, 0.0245323, 0.0247213, 0.0249348, 0.0251768, 0.0254337, 0.0257258, 0.0260217, 0.0263006, 0.0265538, 0.0267803, 0.0269378, 0.0270608, 0.0271363, 0.0272, 0.0272512, 0.0272927, 0.027317, 0.0273615, 0.0273811, 0.0274063, 0.0274307, 0.0274625, 0.027527, 0.0275952, 0.0276734, 0.027794}
Definition at line 211 of file inflationvolatility.cpp.
RelinkableHandle<YoYInflationTermStructure> yoyUK [static] |
Definition at line 144 of file inflationvolatility.cpp.