25#ifndef quantlib_digital_coupon_hpp
26#define quantlib_digital_coupon_hpp
87 bool isCallITMIncluded =
false,
91 bool isPutITMIncluded =
false,
93 ext::shared_ptr<DigitalReplication> replication = {},
94 bool nakedOption =
false);
degenerate base class for the Acyclic Visitor pattern
Real callLeftEps_
the left and right gaps applied in payoff replication for call
void performCalculations() const override
Rate putDigitalPayoff() const
Rate putDigitalPayoff_
digital put option payoff rate, if any
Rate putOptionRate() const
ext::shared_ptr< FloatingRateCoupon > underlying() const
void deepUpdate() override
bool isPutCashOrNothing_
digital put option type: if true, cash-or-nothing, if false asset-or-nothing
ext::shared_ptr< FloatingRateCoupon > underlying_
Rate rate() const override
accrued rate
Rate callOptionRate() const
bool isCallATMIncluded_
inclusion flag og the call payoff if the call option ends at-the-money
void accept(AcyclicVisitor &) override
bool isPutATMIncluded_
inclusion flag og the put payoff if the put option ends at-the-money
bool nakedOption_
underlying excluded from the payoff
Rate callStrike_
strike rate for the the call option
void setPricer(const ext::shared_ptr< FloatingRateCouponPricer > &pricer) override
bool isCallCashOrNothing_
digital call option type: if true, cash-or-nothing, if false asset-or-nothing
Real callCsi_
multiplicative factor of call payoff
Replication::Type replicationType_
Type of replication.
Rate callDigitalPayoff() const
Rate putStrike_
strike rate for the the put option
Rate callDigitalPayoff_
digital call option payoff rate, if any
Real putLeftEps_
the left and right gaps applied in payoff replication for put
Rate convexityAdjustment() const override
convexity adjustment
Real putCsi_
multiplicative factor of put payoff
base floating-rate coupon class
ext::shared_ptr< FloatingRateCouponPricer > pricer_
ext::shared_ptr< FloatingRateCouponPricer > pricer() const
template class providing a null value for a given type.
Size unregisterWith(const ext::shared_ptr< Observable > &)
std::pair< iterator, bool > registerWith(const ext::shared_ptr< Observable > &)
Coupon paying a variable index-based rate.
Sub, Central, or Super replication.