hasCall (3) - Linux Manuals
hasCall: 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.