Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
jyimpliedzeroinflationtermstructure.hpp
Go to the documentation of this file.
1/*
2 Copyright (C) 2020 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/*! \file qle/models/jyimpliedzeroinflationtermstructure.hpp
20 \brief zero inflation term structure implied by a Jarrow Yildrim (JY) model
21 \ingroup models
22*/
23
24#ifndef quantext_jy_implied_zero_inflation_term_structure_hpp
25#define quantext_jy_implied_zero_inflation_term_structure_hpp
26
29
30namespace QuantExt {
31
32/*! Jarrow Yildrim (JY) implied zero inflation term structure
33 \ingroup models
34*/
36public:
37 /*! Constructor taking the cross asset model, \p model, and the index of the relevant inflation component within
38 the model, \p index.
39 */
40 JyImpliedZeroInflationTermStructure(const QuantLib::ext::shared_ptr<CrossAssetModel>& model, QuantLib::Size index);
41
42 QL_DEPRECATED
43 JyImpliedZeroInflationTermStructure(const QuantLib::ext::shared_ptr<CrossAssetModel>& model, QuantLib::Size index,
44 bool indexIsInterpolated);
45
46protected:
47 //! \name ZeroInflationTermStructure interface
48 //@{
49 QuantLib::Real zeroRateImpl(QuantLib::Time t) const override;
50 //@}
51
52 //! \name ZeroInflationModelTermStructure interface
53 //@{
54 void checkState() const override;
55 //@}
56};
57
58/*! Calculation of inflation growth between two times given the Jarrow Yildrim (JY) real rate state, \p rrState, and
59 the nominal interest rate state, \p irState.
60*/
61QuantLib::Real inflationGrowth(const QuantLib::ext::shared_ptr<CrossAssetModel>& model, QuantLib::Size index,
62 QuantLib::Time S, QuantLib::Time T, QuantLib::Real irState, QuantLib::Real rrState, bool indexIsInterpolated);
63
64}
65
66#endif
QL_DEPRECATED JyImpliedZeroInflationTermStructure(const QuantLib::ext::shared_ptr< CrossAssetModel > &model, QuantLib::Size index, bool indexIsInterpolated)
JyImpliedZeroInflationTermStructure(const QuantLib::ext::shared_ptr< CrossAssetModel > &model, QuantLib::Size index)
QuantLib::Real zeroRateImpl(QuantLib::Time t) const override
cross asset model
Real inflationGrowth(const QuantLib::ext::shared_ptr< CrossAssetModel > &model, Size index, Time S, Time T, Real irState, Real rrState, bool indexIsInterpolated)
zero inflation term structure implied by a cross asset model