28 const ext::shared_ptr<Exercise>& exercise)
31 choosingDate_(choosingDate) {}
36 QL_REQUIRE(moreArgs !=
nullptr,
"wrong argument type");
41 OneAssetOption::arguments::validate();
43 QL_REQUIRE(choosingDate < exercise->lastDate(),
44 "choosing date later than or equal to maturity date");
virtual void setupArguments(PricingEngine::arguments *) const
Base class for options on a single asset.
Extra arguments for single chooser option.
void validate() const override
void setupArguments(PricingEngine::arguments *) const override
SimpleChooserOption(Date choosingDate, Real strike, const ext::shared_ptr< Exercise > &exercise)
#define QL_REQUIRE(condition, message)
throw an error if the given pre-condition is not verified
Option exercise classes and payoff function.
Simple chooser option on a single asset.
Payoffs for various options.