QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
LinearTsrPricer Class Reference

CMS-coupon pricer. More...

#include <ql/cashflows/lineartsrpricer.hpp>

Inheritance diagram for LinearTsrPricer:

Public Member Functions

 LinearTsrPricer (const Handle< SwaptionVolatilityStructure > &swaptionVol, Handle< Quote > meanReversion, Handle< YieldTermStructure > couponDiscountCurve=Handle< YieldTermStructure >(), const Settings &settings=Settings(), ext::shared_ptr< Integrator > integrator=ext::shared_ptr< Integrator >())
Real swapletPrice () const override
Rate swapletRate () const override
Real capletPrice (Rate effectiveCap) const override
Rate capletRate (Rate effectiveCap) const override
Real floorletPrice (Rate effectiveFloor) const override
Rate floorletRate (Rate effectiveFloor) const override
Real meanReversion () const override
void setMeanReversion (const Handle< Quote > &meanReversion) override
Public Member Functions inherited from CmsCouponPricer
 CmsCouponPricer (Handle< SwaptionVolatilityStructure > v=Handle< SwaptionVolatilityStructure >())
Handle< SwaptionVolatilityStructureswaptionVolatility () const
void setSwaptionVolatility (const Handle< SwaptionVolatilityStructure > &v=Handle< SwaptionVolatilityStructure >())
Public Member Functions inherited from FloatingRateCouponPricer
void update () override
Public Member Functions inherited from Observer
 Observer (const Observer &)
Observeroperator= (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 &)
Observableoperator= (const Observable &)
 Observable (Observable &&)=delete
Observableoperator= (Observable &&)=delete
void notifyObservers ()

Additional Inherited Members

Public Types inherited from Observer
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.

Member Function Documentation

◆ swapletPrice()

Real swapletPrice ( ) const
overridevirtual

◆ swapletRate()

Rate swapletRate ( ) const
overridevirtual

◆ capletPrice()

Real capletPrice ( Rate effectiveCap) const
overridevirtual

◆ capletRate()

Rate capletRate ( Rate effectiveCap) const
overridevirtual

◆ floorletPrice()

Real floorletPrice ( Rate effectiveFloor) const
overridevirtual

◆ floorletRate()

Rate floorletRate ( Rate effectiveFloor) const
overridevirtual

◆ meanReversion()

Real meanReversion ( ) const
overridevirtual

Implements MeanRevertingPricer.

◆ setMeanReversion()

void setMeanReversion ( const Handle< Quote > & meanReversion)
overridevirtual

Implements MeanRevertingPricer.