QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.8
Public Member Functions | 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 boost::shared_ptr< CmsCouponPricer > cmsPricer, const Handle< Quote > &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
 
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
 
void flushCache ()
 
- 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 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 &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 

Additional Inherited Members

- Public Types inherited from Observer
typedef std::set< boost::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