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 ext::shared_ptr< Integrator > &integrator=ext::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< iterator, bool > | registerWith (const ext::shared_ptr< Observable > &)
void | registerWithObservables (const ext::shared_ptr< Observer > &)
Size | unregisterWith (const ext::shared_ptr< Observable > &)
void | unregisterWithAll ()
virtual void | deepUpdate ()
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()

## Friends

class | integrand_f

## Additional Inherited Members

Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator

## 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. Note that for normal volatility input the lower rate bound is adjusted to min(-upperBound, lowerBound), except the bounds are set explicitly.