QuantLib: LMMCurveState Class Reference

A free/open-source library for quantitative finance Reference manual - version 1.6

- Main Page
- Related Pages
- Modules
- Classes
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
LMMCurveState Class Reference

Curve state for Libor market models More...

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

Inheritance diagram for LMMCurveState:
[legend]

## Public Member Functions
| LMMCurveState (const std::vector< Time > &rateTimes)
std::auto_ptr< CurveState > | clone () const
Modifiers
void | setOnForwardRates (const std::vector< Rate > &fwdRates, Size firstValidIndex=0)
void | setOnDiscountRatios (const std::vector< DiscountFactor > &discRatios, Size firstValidIndex=0)
Inspectors
Real | discountRatio (Size i, Size j) const
Rate | forwardRate (Size i) const
Rate | coterminalSwapRate (Size i) const
Rate | coterminalSwapAnnuity (Size numeraire, Size i) const
Rate | cmSwapRate (Size i, Size spanningForwards) const
Rate | cmSwapAnnuity (Size numeraire, Size i, Size spanningForwards) const
const std::vector< Rate > & | forwardRates () const
const std::vector< Rate > & | coterminalSwapRates () const
const std::vector< Rate > & | cmSwapRates (Size spanningForwards) const
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

## Additional Inherited Members
Protected Attributes inherited from CurveState
Size | numberOfRates_
std::vector< Time > | rateTimes_
std::vector< Time > | rateTaus_

## 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.