### A free/open-source library for quantitative finance

Public Member Functions | Protected Attributes
CurveState Class Reference

Curve state for market-model simulations More...

`#include <ql/models/marketmodels/curvestate.hpp>`

Inheritance diagram for CurveState:
[legend]

List of all members.

## Public Member Functions

| CurveState (const std::vector< Time > &rateTimes)
Inspectors
Size | numberOfRates () const
const std::vector< Time > & | rateTimes () const
const std::vector< Time > & | rateTaus () const
virtual Real | discountRatio (Size i, Size j) const =0
virtual Rate | forwardRate (Size i) const =0
virtual Rate | coterminalSwapAnnuity (Size numeraire, Size i) const =0
virtual Rate | coterminalSwapRate (Size i) const =0
virtual Rate | cmSwapAnnuity (Size numeraire, Size i, Size spanningForwards) const =0
virtual Rate | cmSwapRate (Size i, Size spanningForwards) const =0
virtual const std::vector< Rate > & | forwardRates () const =0
virtual const std::vector< Rate > & | coterminalSwapRates () const =0
virtual const std::vector< Rate > & | cmSwapRates (Size spanningForwards) const =0
Rate | swapRate (Size begin, Size end) const
virtual std::auto_ptr< CurveState > | clone () const =0

## Protected Attributes

Size | numberOfRates_
std::vector< Time > | rateTimes_
std::vector< Time > | rateTaus_

## Detailed Description

Curve state for market-model simulations

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.