Logo
Reference manual - version qle_version
Public Member Functions | Friends | List of all members
LognormalCmsSpreadPricer Class Reference

CMS spread - coupon pricer. More...

#include <qle/cashflows/lognormalcmsspreadpricer.hpp>

+ Inheritance diagram for LognormalCmsSpreadPricer:

Public Member Functions

 LognormalCmsSpreadPricer (const boost::shared_ptr< CmsCouponPricer > cmsPricer, const Handle< QuantExt::CorrelationTermStructure > &correlation, const Handle< YieldTermStructure > &couponDiscountCurve=Handle< YieldTermStructure >(), const Size IntegrationPoints=16, const boost::optional< VolatilityType > volatilityType=boost::none, const Real shift1=Null< Real >(), const Real shift2=Null< Real >())
 
virtual Real swapletPrice () const override
 
virtual Rate swapletRate () const override
 
virtual Real capletPrice (Rate effectiveCap) const override
 
virtual Rate capletRate (Rate effectiveCap) const override
 
virtual Real floorletPrice (Rate effectiveFloor) const override
 
virtual Rate floorletRate (Rate effectiveFloor) const override
 
- Public Member Functions inherited from CmsSpreadCouponPricer2
 CmsSpreadCouponPricer2 (const Handle< CorrelationTermStructure > &correlation=Handle< CorrelationTermStructure >())
 
Real correlation (Time t, Real strike=1) const
 
void setCorrelationCurve (const Handle< CorrelationTermStructure > &correlation=Handle< CorrelationTermStructure >())
 

Friends

class integrand_f
 

Detailed Description

CMS spread - coupon pricer.

The swap rate adjustments are computed using the given volatility structures for the underlyings in every case (w.r.t. volatility type and shift).

For the bivariate spread model, the volatility type and the shifts can be inherited (default), or explicitly specified. In the latter case the type, and (if lognormal) the shifts must be given (or are defaulted to zero, if not given).

References:

Brigo, Mercurio: Interest Rate Models - Theory and Practice, 2nd Edition, Springer, 2006, chapter 13.6.2

http://ssrn.com/abstract=2686998