20#include <ql/experimental/exoticoptions/pagodaoption.hpp>
21#include <ql/instruments/payoffs.hpp>
22#include <ql/exercise.hpp>
32 fixingDates_(fixingDates), roof_(roof), fraction_(fraction) {}
39 QL_REQUIRE(
arguments !=
nullptr,
"wrong argument type");
51 MultiAssetOption::arguments::validate();
52 QL_REQUIRE(!fixingDates.empty(),
"no fixingDates given");
53 QL_REQUIRE(roof !=
Null<Real>(),
"no roof given");
54 QL_REQUIRE(fraction !=
Null<Real>(),
"no fraction given");
Base class for options on multiple assets.
void setupArguments(PricingEngine::arguments *) const override
template class providing a null value for a given type.
std::vector< Date > fixingDates
void validate() const override
void setupArguments(PricingEngine::arguments *) const override
std::vector< Date > fixingDates_
PagodaOption(const std::vector< Date > &fixingDates, Real roof, Real fraction)
Abstract base class for option payoffs.