QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | List of all members
CurveState Class Referenceabstract

Curve state for market-model simulations More...

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

+ Inheritance diagram for CurveState:

Public Member Functions

 CurveState (const std::vector< Time > &rateTimes)
 

Inspectors

Size numberOfRates_
 
std::vector< TimerateTimes_
 
std::vector< TimerateTaus_
 
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< CurveStateclone () const =0
 

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.