QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
LMMCurveState Class Reference

Curve state for Libor market models More...

#include <ql/models/marketmodels/curvestates/lmmcurvestate.hpp>

Inheritance diagram for LMMCurveState:

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)
Size numberOfRates () const
const std::vector< Time > & rateTimes () const
const std::vector< Time > & rateTaus () const
Rate swapRate (Size begin, Size end) const

Inspectors

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< CurveStateclone () const override

Additional Inherited Members

Size numberOfRates_
std::vector< TimerateTimes_
std::vector< TimerateTaus_

Detailed Description

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.

Member Function Documentation

◆ discountRatio()

Real discountRatio ( Size i,
Size j ) const
overridevirtual

Implements CurveState.

◆ forwardRate()

Rate forwardRate ( Size i) const
overridevirtual

Implements CurveState.

◆ coterminalSwapRate()

Rate coterminalSwapRate ( Size i) const
overridevirtual

Implements CurveState.

◆ coterminalSwapAnnuity()

Rate coterminalSwapAnnuity ( Size numeraire,
Size i ) const
overridevirtual

Implements CurveState.

◆ cmSwapRate()

Rate cmSwapRate ( Size i,
Size spanningForwards ) const
overridevirtual

Implements CurveState.

◆ cmSwapAnnuity()

Rate cmSwapAnnuity ( Size numeraire,
Size i,
Size spanningForwards ) const
overridevirtual

Implements CurveState.

◆ forwardRates()

const std::vector< Rate > & forwardRates ( ) const
overridevirtual

Implements CurveState.

◆ coterminalSwapRates()

const std::vector< Rate > & coterminalSwapRates ( ) const
overridevirtual

Implements CurveState.

◆ cmSwapRates()

const std::vector< Rate > & cmSwapRates ( Size spanningForwards) const
overridevirtual

Implements CurveState.

◆ clone()

std::unique_ptr< CurveState > clone ( ) const
overridevirtual

Implements CurveState.