QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
BlackIborCouponPricer Class Reference

#include <couponpricer.hpp>

+ Inheritance diagram for BlackIborCouponPricer:
+ Collaboration diagram for BlackIborCouponPricer:

Public Types

enum  TimingAdjustment { Black76 , BivariateLognormal }
 
- Public Types inherited from Observer
typedef set_type::iterator iterator
 

Public Member Functions

 BlackIborCouponPricer (const Handle< OptionletVolatilityStructure > &v=Handle< OptionletVolatilityStructure >(), const TimingAdjustment timingAdjustment=Black76, Handle< Quote > correlation=Handle< Quote >(ext::shared_ptr< Quote >(new SimpleQuote(1.0))), const ext::optional< bool > useIndexedCoupon=ext::nullopt)
 
void initialize (const FloatingRateCoupon &coupon) override
 
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
 
- Public Member Functions inherited from IborCouponPricer
 IborCouponPricer (Handle< OptionletVolatilityStructure > v=Handle< OptionletVolatilityStructure >(), ext::optional< bool > useIndexedCoupon=ext::nullopt)
 
bool useIndexedCoupon () const
 
Handle< OptionletVolatilityStructurecapletVolatility () const
 
void setCapletVolatility (const Handle< OptionletVolatilityStructure > &v=Handle< OptionletVolatilityStructure >())
 
void initialize (const FloatingRateCoupon &coupon) override
 
void initializeCachedData (const IborCoupon &coupon) const
 
- Public Member Functions inherited from FloatingRateCouponPricer
 ~FloatingRateCouponPricer () override=default
 
void update () override
 
- Public Member Functions inherited from Observer
 Observer ()=default
 
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, boolregisterWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void update ()=0
 
virtual void deepUpdate ()
 
- Public Member Functions inherited from Observable
 Observable ()
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 

Protected Member Functions

Real optionletPrice (Option::Type optionType, Real effStrike) const
 
Real optionletRate (Option::Type optionType, Real effStrike) const
 
virtual Rate adjustedFixing (Rate fixing=Null< Rate >()) const
 

Protected Attributes

Real discount_
 
- Protected Attributes inherited from IborCouponPricer
const IborCouponcoupon_
 
ext::shared_ptr< IborIndexindex_
 
Date fixingDate_
 
Real gearing_
 
Spread spread_
 
Time accrualPeriod_
 
Date fixingValueDate_
 
Date fixingEndDate_
 
Date fixingMaturityDate_
 
Time spanningTime_
 
Time spanningTimeIndexMaturity_
 
Handle< OptionletVolatilityStructurecapletVol_
 
bool useIndexedCoupon_
 

Private Attributes

const TimingAdjustment timingAdjustment_
 
const Handle< Quotecorrelation_
 

Detailed Description

Black-formula pricer for capped/floored Ibor coupons References for timing adjustments Black76 Hull, Options, Futures and other derivatives, 4th ed., page 550 BivariateLognormal http://ssrn.com/abstract=2170721

Definition at line 111 of file couponpricer.hpp.

Member Enumeration Documentation

◆ TimingAdjustment

Enumerator
Black76 
BivariateLognormal 

Definition at line 113 of file couponpricer.hpp.

Constructor & Destructor Documentation

◆ BlackIborCouponPricer()

BlackIborCouponPricer ( const Handle< OptionletVolatilityStructure > &  v = Handle<OptionletVolatilityStructure>(),
const TimingAdjustment  timingAdjustment = Black76,
Handle< Quote correlation = Handle<Quote>(ext::shared_ptr<Quote>(new SimpleQuote(1.0))),
const ext::optional< bool useIndexedCoupon = ext::nullopt 
)

Definition at line 114 of file couponpricer.hpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ initialize()

void initialize ( const FloatingRateCoupon coupon)
overridevirtual

Reimplemented from IborCouponPricer.

Definition at line 117 of file couponpricer.cpp.

+ Here is the call graph for this function:

◆ swapletPrice()

Real swapletPrice ( ) const
overridevirtual

Implements FloatingRateCouponPricer.

Definition at line 209 of file couponpricer.hpp.

+ Here is the call graph for this function:

◆ swapletRate()

Rate swapletRate ( ) const
overridevirtual

Implements FloatingRateCouponPricer.

Definition at line 215 of file couponpricer.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ capletPrice()

Real capletPrice ( Rate  effectiveCap) const
overridevirtual

Implements FloatingRateCouponPricer.

Definition at line 219 of file couponpricer.hpp.

+ Here is the call graph for this function:

◆ capletRate()

Rate capletRate ( Rate  effectiveCap) const
overridevirtual

Implements FloatingRateCouponPricer.

Definition at line 224 of file couponpricer.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ floorletPrice()

Real floorletPrice ( Rate  effectiveFloor) const
overridevirtual

Implements FloatingRateCouponPricer.

Definition at line 229 of file couponpricer.hpp.

+ Here is the call graph for this function:

◆ floorletRate()

Rate floorletRate ( Rate  effectiveFloor) const
overridevirtual

Implements FloatingRateCouponPricer.

Definition at line 235 of file couponpricer.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ optionletPrice()

Real optionletPrice ( Option::Type  optionType,
Real  effStrike 
) const
protected

Definition at line 167 of file couponpricer.cpp.

+ Here is the call graph for this function:

◆ optionletRate()

Real optionletRate ( Option::Type  optionType,
Real  effStrike 
) const
protected

Definition at line 135 of file couponpricer.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ adjustedFixing()

Rate adjustedFixing ( Rate  fixing = Null<Rate>()) const
protectedvirtual

Reimplemented in BlackIborQuantoCouponPricer.

Definition at line 173 of file couponpricer.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ discount_

Real discount_
protected

Definition at line 141 of file couponpricer.hpp.

◆ timingAdjustment_

const TimingAdjustment timingAdjustment_
private

Definition at line 144 of file couponpricer.hpp.

◆ correlation_

const Handle<Quote> correlation_
private

Definition at line 145 of file couponpricer.hpp.