QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Curve state for Libor market models More...
#include <lmmcurvestate.hpp>
Public Member Functions | |
LMMCurveState (const std::vector< Time > &rateTimes) | |
Modifiers | |
void | setOnForwardRates (const std::vector< Rate > &fwdRates, Size firstValidIndex=0) |
void | setOnDiscountRatios (const std::vector< DiscountFactor > &discRatios, 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_ |
Size | firstCotAnnuityComped_ |
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 Libor 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 lmmcurvestate.hpp.
|
explicit |
Definition at line 28 of file lmmcurvestate.cpp.
void setOnDiscountRatios | ( | const std::vector< DiscountFactor > & | discRatios, |
Size | firstValidIndex = 0 |
||
) |
Implements CurveState.
Definition at line 98 of file lmmcurvestate.cpp.
Implements CurveState.
Definition at line 105 of file lmmcurvestate.cpp.
Implements CurveState.
Definition at line 138 of file lmmcurvestate.cpp.
Implements CurveState.
Definition at line 111 of file lmmcurvestate.cpp.
Implements CurveState.
Definition at line 165 of file lmmcurvestate.cpp.
Implements CurveState.
Definition at line 150 of file lmmcurvestate.cpp.
|
overridevirtual |
Implements CurveState.
Definition at line 177 of file lmmcurvestate.cpp.
|
overridevirtual |
Implements CurveState.
Definition at line 182 of file lmmcurvestate.cpp.
Implements CurveState.
Definition at line 190 of file lmmcurvestate.cpp.
|
overridevirtual |
Implements CurveState.
Definition at line 198 of file lmmcurvestate.cpp.
|
private |
Definition at line 78 of file lmmcurvestate.hpp.
|
private |
Definition at line 79 of file lmmcurvestate.hpp.
|
private |
Definition at line 80 of file lmmcurvestate.hpp.
|
mutableprivate |
Definition at line 81 of file lmmcurvestate.hpp.
|
mutableprivate |
Definition at line 82 of file lmmcurvestate.hpp.
|
mutableprivate |
Definition at line 83 of file lmmcurvestate.hpp.
|
mutableprivate |
Definition at line 84 of file lmmcurvestate.hpp.
|
mutableprivate |
Definition at line 86 of file lmmcurvestate.hpp.