- QuantLib
- DigitalCoupon
 
Digital-payoff coupon. More...
#include <ql/cashflows/digitalcoupon.hpp>

| 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. | |
Digital-payoff coupon.
Implementation of a floating-rate coupon with digital call/put option. Payoffs:
| 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.