Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
analyticjyyoycapfloorengine.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/pricingengines/analyticjyyoycapfloorengine.hpp
20 \brief Analytic Jarrow Yildrim (JY) year on year cap floor engine
21 \ingroup engines
22*/
23
24#ifndef quantext_analytic_jy_yoy_capfloor_engine_hpp
25#define quantext_analytic_jy_yoy_capfloor_engine_hpp
26
27#include <ql/instruments/inflationcapfloor.hpp>
29
30namespace QuantExt {
31
32/*! Analytic Jarrow Yildrim (JY) year on year inflation cap floor engine
33 \ingroup engines
34 */
35class AnalyticJyYoYCapFloorEngine : public YoYInflationCapFloor::engine {
36public:
37 /*! Constructor
38 \param model the cross asset model to be used in the valuation.
39 \param index the index of the inflation component to use within the cross asset model.
40 \param indexIsInterpolated whether the underlying inflation index is interpolated or not
41 */
42 AnalyticJyYoYCapFloorEngine(const QuantLib::ext::shared_ptr<CrossAssetModel>& model,
43 QuantLib::Size index, bool indexIsInterpolated);
44
45 //! \name PricingEngine interface
46 //@{
47 void calculate() const override;
48 //@}
49
50private:
51 const QuantLib::ext::shared_ptr<CrossAssetModel> model_;
52 QuantLib::Size index_;
54
55 /*! Return the variance of the log inflation index ratio \f$\ln(I(T)/I(S))\f$ under Jarrow Yildrim where
56 \f$ 0 < S < T \f$. The value is given in Section 13 of <em>Modern Derivatives Pricing and Credit Exposure
57 Analysis, 2015</em>.
58 */
59 QuantLib::Real varianceLogRatio(QuantLib::Time S, QuantLib::Time T) const;
60};
61
62}
63
64#endif
QuantLib::Real varianceLogRatio(QuantLib::Time S, QuantLib::Time T) const
const QuantLib::ext::shared_ptr< CrossAssetModel > model_
cross asset model