31 const ext::shared_ptr<StrikedTypePayoff>&
payoff,
32 const ext::shared_ptr<Exercise>& exercise)
34 barrierType_(barrierType), barrierRange_(barrierRange),
35 barrier_(barrier), rebate_(rebate),
36 coverEventDate_(coverEventDate) {}
43 QL_REQUIRE(moreArgs !=
nullptr,
"wrong argument type");
57 OneAssetOption::arguments::validate();
62 QL_REQUIRE(coverEventDate < exercise->lastDate(),
63 "cover event date equal or later than exercise date");
virtual void setupArguments(PricingEngine::arguments *) const
template class providing a null value for a given type.
Base class for options on a single asset.
Arguments for partial-time barrier option calculation
void validate() const override
Barrier::Type barrierType_
void setupArguments(PricingEngine::arguments *) const override
PartialTimeBarrierOption(Barrier::Type barrierType, PartialBarrier::Range barrierRange, Real barrier, Real rebate, Date coverEventDate, const ext::shared_ptr< StrikedTypePayoff > &payoff, const ext::shared_ptr< Exercise > &exercise)
PartialBarrier::Range barrierRange_
#define QL_REQUIRE(condition, message)
throw an error if the given pre-condition is not verified
Option exercise classes and payoff function.
Partial-time barrier option.
ext::shared_ptr< QuantLib::Payoff > payoff
Placeholder for enumerated barrier types.
choice of time range for partial-time barrier options