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

CMS spread - coupon pricer. More...

#include <ql/experimental/coupons/lognormalcmsspreadpricer.hpp>

+ Inheritance diagram for LognormalCmsSpreadPricer:

Public Member Functions

 LognormalCmsSpreadPricer (const ext::shared_ptr< CmsCouponPricer > &cmsPricer, const Handle< Quote > &correlation, const Handle< YieldTermStructure > &couponDiscountCurve=Handle< YieldTermStructure >(), Size IntegrationPoints=16, const boost::optional< VolatilityType > &volatilityType=boost::none, Real shift1=Null< Real >(), Real shift2=Null< Real >())
 
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
 
- Public Member Functions inherited from CmsSpreadCouponPricer
 CmsSpreadCouponPricer (const Handle< Quote > &correlation=Handle< Quote >())
 
Handle< Quotecorrelation () const
 
void setCorrelation (const Handle< Quote > &correlation=Handle< Quote >())
 
- Public Member Functions inherited from FloatingRateCouponPricer
void update ()
 
- 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 &)
 
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 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: Interst Rate Models - Theory and Practice, 2nd Edition, Springer, 2006, chapter 13.6.2

http://ssrn.com/abstract=2686998