QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Curve state for coterminal-swap market models More...
#include <coterminalswapcurvestate.hpp>
Public Member Functions | |
CoterminalSwapCurveState (const std::vector< Time > &rateTimes) | |
Modifiers | |
void | setOnCoterminalSwapRates (const std::vector< Rate > &swapRates, Size firstValidIndex=0) |
Public Member Functions inherited from CurveState | |
CurveState (const std::vector< Time > &rateTimes) | |
virtual | ~CurveState ()=default |
Size | numberOfRates () const |
const std::vector< Time > & | rateTimes () const |
const std::vector< Time > & | rateTaus () const |
Rate | swapRate (Size begin, Size end) const |
Inspectors | |
Size | first_ |
std::vector< DiscountFactor > | discRatios_ |
std::vector< Rate > | forwardRates_ |
std::vector< Rate > | cmSwapRates_ |
std::vector< Real > | cmSwapAnnuities_ |
std::vector< Rate > | cotSwapRates_ |
std::vector< Real > | cotAnnuities_ |
Real | discountRatio (Size i, Size j) const override |
Rate | forwardRate (Size i) const override |
Rate | coterminalSwapRate (Size i) const override |
Rate | coterminalSwapAnnuity (Size numeraire, Size i) const override |
Rate | cmSwapRate (Size i, Size spanningForwards) const override |
Rate | cmSwapAnnuity (Size numeraire, Size i, Size spanningForwards) const override |
const std::vector< Rate > & | forwardRates () const override |
const std::vector< Rate > & | coterminalSwapRates () const override |
const std::vector< Rate > & | cmSwapRates (Size spanningForwards) const override |
std::unique_ptr< CurveState > | clone () const override |
Additional Inherited Members | |
Protected Attributes inherited from CurveState | |
Size | numberOfRates_ |
std::vector< Time > | rateTimes_ |
std::vector< Time > | rateTaus_ |
Curve state for coterminal-swap market models
This class stores the state of the yield curve associated to the fixed calendar times within the simulation. This is the workhorse discounting object associated to the rate times of the simulation. It's important to pass the rates via an object like this to the product rather than directly to make it easier to switch to other engines such as a coterminal swap rate engine. Many products will not need expired rates and others will only require the first rate.
Definition at line 39 of file coterminalswapcurvestate.hpp.
|
explicit |
Definition at line 26 of file coterminalswapcurvestate.cpp.
Definition at line 37 of file coterminalswapcurvestate.cpp.
Implements CurveState.
Definition at line 68 of file coterminalswapcurvestate.cpp.
Implements CurveState.
Definition at line 75 of file coterminalswapcurvestate.cpp.
Implements CurveState.
Definition at line 91 of file coterminalswapcurvestate.cpp.
Implements CurveState.
Definition at line 82 of file coterminalswapcurvestate.cpp.
Implements CurveState.
Definition at line 112 of file coterminalswapcurvestate.cpp.
Implements CurveState.
Definition at line 97 of file coterminalswapcurvestate.cpp.
|
overridevirtual |
Implements CurveState.
Definition at line 124 of file coterminalswapcurvestate.cpp.
|
overridevirtual |
Implements CurveState.
Definition at line 130 of file coterminalswapcurvestate.cpp.
Implements CurveState.
Definition at line 135 of file coterminalswapcurvestate.cpp.
|
overridevirtual |
Implements CurveState.
Definition at line 144 of file coterminalswapcurvestate.cpp.
|
private |
Definition at line 75 of file coterminalswapcurvestate.hpp.
|
private |
Definition at line 76 of file coterminalswapcurvestate.hpp.
|
mutableprivate |
Definition at line 77 of file coterminalswapcurvestate.hpp.
|
mutableprivate |
Definition at line 78 of file coterminalswapcurvestate.hpp.
|
mutableprivate |
Definition at line 79 of file coterminalswapcurvestate.hpp.
|
private |
Definition at line 80 of file coterminalswapcurvestate.hpp.
|
private |
Definition at line 81 of file coterminalswapcurvestate.hpp.