20#include <ql/instruments/simplechooseroption.hpp>
21#include <ql/instruments/payoffs.hpp>
22#include <ql/exercise.hpp>
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)