Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
dynamicyoyoptionletvolatilitystructure.hpp
Go to the documentation of this file.
1/*
2Copyright (C) 2019 Quaternion Risk Management Ltd
3All rights reserved.
4
5This file is part of ORE, a free-software/open-source library
6for transparent pricing and risk analysis - http://opensourcerisk.org
7
8ORE is free software: you can redistribute it and/or modify it
9under the terms of the Modified BSD License. You should have received a
10copy of the license along with this program.
11The license is also available online at <http://opensourcerisk.org>
12
13This program is distributed on the basis that it will form a useful
14contribution to risk analytics and model standardisation, but WITHOUT
15ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.
17*/
18
19/*! \file qle/termstructures/dynamicyoyoptionletvolatilitystructure.hpp
20\brief dynamic yoy inflation optionlet volatility structure
21\ingroup termstructures
22*/
23
24#pragma once
25
26#include <boost/make_shared.hpp>
27#include <ql/termstructures/volatility/inflation/yoyinflationoptionletvolatilitystructure.hpp>
28#include <ql/termstructures/volatility/smilesection.hpp>
30
31namespace QuantExt {
32using namespace QuantLib;
33
34//! Converts YoYOptionletVolatilitySurface with fixed reference date into a floating reference date term structure.
35/*! Different ways of reacting to time decay can be specified.
36
37\warning No checks are performed that the supplied YoYOptionletVolatilitySurface has a fixed reference date
38
39\ingroup termstructures
40*/
41
42class DynamicYoYOptionletVolatilitySurface : public YoYOptionletVolatilitySurface {
43public:
44 DynamicYoYOptionletVolatilitySurface(const QuantLib::ext::shared_ptr<YoYOptionletVolatilitySurface>& source,
46
47protected:
48 Volatility volatilityImpl(Time optionTime, Rate strike) const override;
49 Rate minStrike() const override;
50 Rate maxStrike() const override;
51 Date maxDate() const override;
52
53private:
54 const QuantLib::ext::shared_ptr<YoYOptionletVolatilitySurface> source_;
57};
58
59} // namespace QuantExt
Converts YoYOptionletVolatilitySurface with fixed reference date into a floating reference date term ...
Volatility volatilityImpl(Time optionTime, Rate strike) const override
const QuantLib::ext::shared_ptr< YoYOptionletVolatilitySurface > source_
dynamics type definitions
ReactionToTimeDecay
Reaction to Time Decay.
@ ConstantVariance