QuantLib_DigitalCoupon (3)  Linux Manuals
QuantLib_DigitalCoupon: Digitalpayoff coupon.
NAME
QuantLib::DigitalCoupon  Digitalpayoff 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 atthemoney
bool isPutATMIncluded_
inclusion flag og the put payoff if the put option ends atthemoney
bool isCallCashOrNothing_
digital call option type: if true, cashornothing, if false assetornothing
bool isPutCashOrNothing_
digital put option type: if true, cashornothing, if false assetornothing
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
Digitalpayoff coupon.
Implementation of a floatingrate coupon with digital call/put option. Payoffs:
 *
 Coupon with cashornothing Digital Call rate + csi * payoffRate * Heaviside(ratestrike)
 *
 Coupon with cashornothing Digital Put rate + csi * payoffRate * Heaviside(strikerate) where csi=+1 or csi=1.
 *
 Coupon with assetornothing Digital Call rate + csi * rate * Heaviside(ratestrike)
 *
 Coupon with assetornothing Digital Put rate + csi * rate * Heaviside(strikerate) 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 Assetornothing embedded option is tested by pricing the digital option with CoxRubinstein formula.
 *
 the correctness of the returned value in case of deepinthemoney Assetornothing embedded option is tested vs the expected values of coupon and option.
 *
 the correctness of the returned value in case of deepoutofthemoney Assetornothing embedded option is tested vs the expected values of coupon and option.
 *
 the correctness of the returned value in case of Cashornothing embedded option is tested by pricing the digital option with ReinerRubinstein formula.
 *
 the correctness of the returned value in case of deepinthemoney Cashornothing embedded option is tested vs the expected values of coupon and option.
 *
 the correctness of the returned value in case of deepoutofthemoney Cashornothing 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 callput 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.