LinearTsrPricer Class Reference

CMS-coupon pricer. More...

`#include <ql/cashflows/lineartsrpricer.hpp>`

Inheritance diagram for LinearTsrPricer:
[legend]

## Public Member Functions

| LinearTsrPricer (const Handle< SwaptionVolatilityStructure > &swaptionVol, const Handle< Quote > &meanReversion, const Handle< YieldTermStructure > &couponDiscountCurve=Handle< YieldTermStructure >(), const Settings &settings=Settings(), const boost::shared_ptr< Integrator > &integrator=boost::shared_ptr< Integrator >())
virtual Real | swapletPrice () const
virtual Rate | swapletRate () const
virtual Real | capletPrice (Rate effectiveCap) const
virtual Rate | capletRate (Rate effectiveCap) const
virtual Real | floorletPrice (Rate effectiveFloor) const
virtual Rate | floorletRate (Rate effectiveFloor) const
Real | meanReversion () const
void | setMeanReversion (const Handle< Quote > &meanReversion)
Public Member Functions inherited from CmsCouponPricer
| CmsCouponPricer (const Handle< SwaptionVolatilityStructure > &v=Handle< SwaptionVolatilityStructure >())
Handle< SwaptionVolatilityStructure > | swaptionVolatility () const
void | setSwaptionVolatility (const Handle< SwaptionVolatilityStructure > &v=Handle< SwaptionVolatilityStructure >())
Public Member Functions inherited from FloatingRateCouponPricer
void | update ()
Public Member Functions inherited from Observer
| Observer (const Observer &)
Observer & | operator= (const Observer &)
std::pair< std::set< boost::shared_ptr< Observable > >::iterator, bool > | registerWith (const boost::shared_ptr< Observable > &)
void | registerWithObservables (const boost::shared_ptr< Observer > &)
Size | unregisterWith (const boost::shared_ptr< Observable > &)
void | unregisterWithAll ()
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()

## Detailed Description

CMS-coupon pricer.

Prices a cms coupon using a linear terminal swap rate model The slope parameter is linked to a gaussian short rate model. Reference: Andersen, Piterbarg, Interest Rate Modeling, 16.3.2

The cut off point for integration can be set

- by explicitly specifying the lower and upper bound
- by defining the lower and upper bound to be the strike where a vanilla swaption has 1% or less vega of the atm swaption
- by defining the lower and upper bound to be the strike where undeflated (!) payer resp. receiver prices are below a given threshold
- by specificying a number of standard deviations to cover using a Black Scholes process with an atm volatility as a benchmark In every case the lower and upper bound are applied though. In case the smile section is shifted lognormal, the specified lower and upper bound are applied to strike + shift so that e.g. a zero lower bound always refers to the lower bound of the rates in the shifted lognormal model.