hasCollar (3) - Linux Manuals

hasCollar: Digital-payoff coupon.

NAME

QuantLib::DigitalCoupon - Digital-payoff coupon.

SYNOPSIS


#include <ql/cashflows/digitalcoupon.hpp>

Inherits QuantLib::FloatingRateCoupon.

Inherited by DigitalCmsCoupon, and DigitalIborCoupon.

Public Member Functions

Constructors


DigitalCoupon (const boost::shared_ptr< FloatingRateCoupon > &underlying, Rate callStrike=Null< Rate >(), Position::Type callPosition=Position::Long, bool isCallITMIncluded=false, Rate callDigitalPayoff=Null< Rate >(), Rate putStrike=Null< Rate >(), Position::Type putPosition=Position::Long, bool isPutITMIncluded=false, Rate putDigitalPayoff=Null< Rate >(), const boost::shared_ptr< DigitalReplication > &replication=boost::shared_ptr< DigitalReplication >())
general constructor

Coupon interface


Rate rate () const
accrued rate
Rate convexityAdjustment () const
convexity adjustment

Digital inspectors


Rate callStrike () const

Rate putStrike () const

Rate callDigitalPayoff () const

Rate putDigitalPayoff () const

bool hasPut () const

bool hasCall () const

bool hasCollar () const

bool isLongPut () const

bool isLongCall () const

boost::shared_ptr< FloatingRateCoupon > underlying () const

Rate callOptionRate () const

Rate putOptionRate () const

Observer interface


void update ()

Visitability


virtual void accept (AcyclicVisitor &)

void setPricer (const boost::shared_ptr< FloatingRateCouponPricer > &pricer)

Protected Attributes

Data members


boost::shared_ptr< FloatingRateCoupon > underlying_

Rate callStrike_
strike rate for the the call option
Rate putStrike_
strike rate for the the put option
Real callCsi_
multiplicative factor of call payoff
Real putCsi_
multiplicative factor of put payoff
bool isCallATMIncluded_
inclusion flag og the call payoff if the call option ends at-the-money
bool isPutATMIncluded_
inclusion flag og the put payoff if the put option ends at-the-money
bool isCallCashOrNothing_
digital call option type: if true, cash-or-nothing, if false asset-or-nothing
bool isPutCashOrNothing_
digital put option type: if true, cash-or-nothing, if false asset-or-nothing
Rate callDigitalPayoff_
digital call option payoff rate, if any
Rate putDigitalPayoff_
digital put option payoff rate, if any
Real callLeftEps_
the left and right gaps applied in payoff replication for call
Real callRightEps_

Real putLeftEps_
the left and right gaps applied in payoff replication for puf
Real putRightEps_

bool hasPutStrike_

bool hasCallStrike_

Replication::Type replicationType_
Type of replication.

Detailed Description

Digital-payoff coupon.

Implementation of a floating-rate coupon with digital call/put option. Payoffs:

*
Coupon with cash-or-nothing Digital Call rate + csi * payoffRate * Heaviside(rate-strike)
*
Coupon with cash-or-nothing Digital Put rate + csi * payoffRate * Heaviside(strike-rate) where csi=+1 or csi=-1.
*
Coupon with asset-or-nothing Digital Call rate + csi * rate * Heaviside(rate-strike)
*
Coupon with asset-or-nothing Digital Put rate + csi * rate * Heaviside(strike-rate) where csi=+1 or csi=-1. The evaluation of the coupon is made using the call/put spread replication method.

Tests

*
the correctness of the returned value in case of Asset-or-nothing embedded option is tested by pricing the digital option with Cox-Rubinstein formula.
*
the correctness of the returned value in case of deep-in-the-money Asset-or-nothing embedded option is tested vs the expected values of coupon and option.
*
the correctness of the returned value in case of deep-out-of-the-money Asset-or-nothing embedded option is tested vs the expected values of coupon and option.
*
the correctness of the returned value in case of Cash-or-nothing embedded option is tested by pricing the digital option with Reiner-Rubinstein formula.
*
the correctness of the returned value in case of deep-in-the-money Cash-or-nothing embedded option is tested vs the expected values of coupon and option.
*
the correctness of the returned value in case of deep-out-of-the-money Cash-or-nothing embedded option is tested vs the expected values of coupon and option.
*
the correctness of the returned value is tested checking the correctness of the call-put parity relation.
*
the correctness of the returned value is tested by the relationship between prices in case of different replication types.

Member Function Documentation

Rate callOptionRate () const

Returns the call option rate (multiplied by: nominal*accrualperiod*discount is the NPV of the option)

Rate putOptionRate () const

Returns the put option rate (multiplied by: nominal*accrualperiod*discount is the NPV of the option)

void update () [virtual]

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Reimplemented from FloatingRateCoupon.

Author

Generated automatically by Doxygen for QuantLib from the source code.