LMMCurveState Class Reference

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

Inheritance diagram for LMMCurveState:

Inheritance graph
[legend]
List of all members.

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.


Public Member Functions

 LMMCurveState (const std::vector< Time > &rateTimes)
std::auto_ptr< CurveStateclone () 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