20#include <ql/experimental/mcbasket/pathmultiassetoption.hpp>
21#include <ql/processes/stochasticprocessarray.hpp>
22#include <ql/termstructures/volatility/equityfx/blackconstantvol.hpp>
23#include <ql/math/solvers1d/brent.hpp>
24#include <ql/event.hpp>
29 const ext::shared_ptr<PricingEngine>&
engine) {
46 QL_REQUIRE(
arguments !=
nullptr,
"wrong argument type");
53 QL_REQUIRE(
payoff,
"no payoff given");
virtual bool hasOccurred(const Date &refDate=Date(), ext::optional< bool > includeRefDate=ext::nullopt) const
returns true if an event has already occurred before a date
void setPricingEngine(const ext::shared_ptr< PricingEngine > &)
set the pricing engine to be used.
Arguments for multi-asset option calculation
std::vector< Date > fixingDates
ext::shared_ptr< PathPayoff > payoff
void validate() const override
void setupArguments(PricingEngine::arguments *) const override
bool isExpired() const override
returns whether the instrument might have value greater than zero.
virtual std::vector< Date > fixingDates() const =0
void setupExpired() const override
PathMultiAssetOption(const ext::shared_ptr< PricingEngine > &engine=ext::shared_ptr< PricingEngine >())
virtual ext::shared_ptr< PathPayoff > pathPayoff() const =0