inflationvolatility.cpp File Reference

#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]


Detailed Description

Author:
weaves

ckenyon

Note:
Copyright (C) 2009 Chris Kenyon
This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/

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.


Function Documentation

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]

shared_ptr<YoYInflationIndex> @3::yoyIndexEU ( new   YYEUHICPrtrue, yoyEU  )  [static]

shared_ptr<YoYInflationIndex> @3::yoyIndexUK ( new   YYUKRPIrtrue, yoyUK  )  [static]


Variable Documentation

const Date& baseDate

BusinessDayConvention bdc

Definition at line 63 of file inflationvolatility.cpp.

Referenced by setupPriceSurface(), and Test::vol_t::vol::vol0().

Calendar cal

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.

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

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.

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.

std::vector<Real> reur0&[0][LENGTH(ratesEUR)] ratesEUR [static]

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.

std::vector<Real> rgbp0&[0][LENGTH(ratesGBP)] ratesGBP [static]

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]

Definition at line 199 of file inflationvolatility.cpp.

Referenced by Test::ts_t::ts::ts0().

TimeSeries<Rate> tgbp1 [static]

Definition at line 200 of file inflationvolatility.cpp.

std::vector<Real> teur0&[0][LENGTH(timesEUR)] timesEUR [static]

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.

std::vector<Real> tgbp0&[0][LENGTH(timesGBP)] timesGBP [static]

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]

Definition at line 143 of file inflationvolatility.cpp.

Referenced by Test::ts_t::ts::ts3().

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.


Generated on Thu Feb 18 21:30:12 2010 for eleve by  doxygen 1.5.6