24#ifndef quantlib_digital_cmsspread_coupon_hpp
25#define quantlib_digital_cmsspread_coupon_hpp
37 const ext::shared_ptr<CmsSpreadCoupon> &
underlying,
40 bool isCallATMIncluded =
false,
44 bool isPutATMIncluded =
false,
46 const ext::shared_ptr<DigitalReplication> &replication = {},
47 bool nakedOption =
false);
87 [[deprecated(
"Use the overload that passes a replication instead")]]
94 ext::shared_ptr<SwapSpreadIndex>
index_;
degenerate base class for the Acyclic Visitor pattern
Cms-spread-rate coupon with digital digital call/put option.
void accept(AcyclicVisitor &) override
helper class building a sequence of digital ibor-rate coupons
DigitalCmsSpreadLeg & inArrears(bool flag=true)
DigitalCmsSpreadLeg & withPutATM(bool flag=true)
DigitalCmsSpreadLeg & withCallATM(bool flag=true)
BusinessDayConvention paymentAdjustment_
DigitalCmsSpreadLeg & withNakedOption(bool nakedOption=true)
std::vector< Rate > putStrikes_
DigitalCmsSpreadLeg & withCallStrikes(Rate strike)
DigitalCmsSpreadLeg & withPutPayoffs(Rate payoff)
DigitalCmsSpreadLeg & withPutStrikes(Rate strike)
DigitalCmsSpreadLeg & withGearings(Real gearing)
DigitalCmsSpreadLeg & withSpreads(Spread spread)
std::vector< Rate > callStrikes_
DigitalCmsSpreadLeg & withCallPayoffs(Rate payoff)
DigitalCmsSpreadLeg & withLongPutOption(Position::Type)
std::vector< Real > notionals_
std::vector< Spread > spreads_
std::vector< Rate > callPayoffs_
DigitalCmsSpreadLeg & withNotionals(Real notional)
Position::Type longPutOption_
std::vector< Natural > fixingDays_
DigitalCmsSpreadLeg & withFixingDays(Natural fixingDays)
DigitalCmsSpreadLeg & withLongCallOption(Position::Type)
DigitalCmsSpreadLeg & withPaymentAdjustment(BusinessDayConvention)
ext::shared_ptr< DigitalReplication > replication_
std::vector< Rate > putPayoffs_
ext::shared_ptr< SwapSpreadIndex > index_
Position::Type longCallOption_
DigitalCmsSpreadLeg & withReplication()
DigitalCmsSpreadLeg & withPaymentDayCounter(const DayCounter &)
std::vector< Real > gearings_
DayCounter paymentDayCounter_
Rate putDigitalPayoff() const
ext::shared_ptr< FloatingRateCoupon > underlying() const
Rate callDigitalPayoff() const
template class providing a null value for a given type.
Floating-rate coupon with digital call/put option.
BusinessDayConvention
Business Day conventions.
unsigned QL_INTEGER Natural
positive integer
Real Spread
spreads on interest rates
ext::shared_ptr< QuantLib::Payoff > payoff
std::vector< ext::shared_ptr< CashFlow > > Leg
Sequence of cash-flows.