QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
Loading...
Searching...
No Matches
euhicp.hpp
1/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3/*
4 Copyright (C) 2007, 2009 Chris Kenyon
5 Copyright (C) 2010 StatPro Italia srl
6 Copyright (C) 2021 Ralf Konrad Eckel
7
8 This file is part of QuantLib, a free-software/open-source library
9 for financial quantitative analysts and developers - http://quantlib.org/
10
11 QuantLib is free software: you can redistribute it and/or modify it
12 under the terms of the QuantLib license. You should have received a
13 copy of the license along with this program; if not, please email
14 <quantlib-dev@lists.sf.net>. The license is also available online at
15 <http://quantlib.org/license.shtml>.
16
17 This program is distributed in the hope that it will be useful, but WITHOUT
18 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 FOR A PARTICULAR PURPOSE. See the license for more details.
20*/
21
26#ifndef quantlib_euhicp_hpp
27#define quantlib_euhicp_hpp
28
29#include <ql/currencies/europe.hpp>
30#include <ql/indexes/inflationindex.hpp>
31
32namespace QuantLib {
33
35 class EUHICP : public ZeroInflationIndex {
36 public:
38 : ZeroInflationIndex("HICP",
39 EURegion(),
40 false,
41 Monthly,
42 Period(1, Months), // availability
44 ts) {}
45
49 QL_DEPRECATED
50 explicit EUHICP(
51 bool interpolated,
53 : EUHICP(ts) {
54 QL_DEPRECATED_DISABLE_WARNING
56 QL_DEPRECATED_ENABLE_WARNING
57 }
58 };
59
62 public:
64 : ZeroInflationIndex("HICPXT",
65 EURegion(),
66 false,
67 Monthly,
68 Period(1, Months), // availability
70 ts) {}
71
75 QL_DEPRECATED
76 explicit EUHICPXT(
77 bool interpolated,
79 : EUHICPXT(ts) {
80 QL_DEPRECATED_DISABLE_WARNING
82 QL_DEPRECATED_ENABLE_WARNING
83 }
84 };
85
86
88 class YYEUHICP : public YoYInflationIndex {
89 public:
90 explicit YYEUHICP(
91 bool interpolated,
93 : YoYInflationIndex("YY_HICP",
94 EURegion(),
95 false,
97 Monthly,
98 Period(1, Months),
100 ts) {}
101 };
102
105 public:
106 explicit YYEUHICPXT(
107 bool interpolated,
109 : YoYInflationIndex("YY_HICPXT",
110 EURegion(),
111 false,
113 Monthly,
114 Period(1, Months),
115 EURCurrency(),
116 ts) {}
117 };
118
119
120 QL_DEPRECATED_DISABLE_WARNING
121
123
126 class [[deprecated("Pass the EUHICP index to YoYInflationIndex instead")]] YYEUHICPr : public YoYInflationIndex {
127 public:
128 explicit YYEUHICPr(
129 bool interpolated,
131 : YoYInflationIndex("YYR_HICP",
132 EURegion(),
133 false,
134 interpolated,
135 true,
136 Monthly,
137 Period(1, Months),
138 EURCurrency(),
139 ts) {}
140 };
141
142 QL_DEPRECATED_ENABLE_WARNING
143}
144
145
146#endif
EU HICP index.
Definition: euhicp.hpp:35
QL_DEPRECATED EUHICP(bool interpolated, const Handle< ZeroInflationTermStructure > &ts={})
Definition: euhicp.hpp:50
EUHICP(const Handle< ZeroInflationTermStructure > &ts={})
Definition: euhicp.hpp:37
EU HICPXT index.
Definition: euhicp.hpp:61
QL_DEPRECATED EUHICPXT(bool interpolated, const Handle< ZeroInflationTermStructure > &ts={})
Definition: euhicp.hpp:76
EUHICPXT(const Handle< ZeroInflationTermStructure > &ts={})
Definition: euhicp.hpp:63
European Euro.
Definition: europe.hpp:123
European Union as geographical/economic region.
Definition: region.hpp:81
Shared handle to an observable.
Definition: handle.hpp:41
QL_DEPRECATED bool interpolated() const
QL_DEPRECATED bool interpolated_
Quoted year-on-year EU HICP (i.e. not a ratio of EU HICP)
Definition: euhicp.hpp:88
YYEUHICP(bool interpolated, const Handle< YoYInflationTermStructure > &ts={})
Definition: euhicp.hpp:90
Quoted year-on-year EU HICPXT.
Definition: euhicp.hpp:104
YYEUHICPXT(bool interpolated, const Handle< YoYInflationTermStructure > &ts={})
Definition: euhicp.hpp:106
Year-on-year EU HICP (i.e. a ratio of EU HICP)
Definition: euhicp.hpp:126
YYEUHICPr(bool interpolated, const Handle< YoYInflationTermStructure > &ts={})
Definition: euhicp.hpp:128
Base class for year-on-year inflation indices.
Base class for zero inflation indices.
@ Monthly
once a month
Definition: frequency.hpp:44
Definition: any.hpp:35