22#include <ql/instruments/multiassetoption.hpp>
23#include <ql/stochasticprocess.hpp>
24#include <ql/exercise.hpp>
25#include <ql/event.hpp>
30 const ext::shared_ptr<Payoff>& payoff,
31 const ext::shared_ptr<Exercise>& exercise)
32 :
Option(payoff, exercise) {}
82 QL_REQUIRE(
arguments !=
nullptr,
"wrong argument type");
91 QL_ENSURE(
results !=
nullptr,
"no greeks returned from pricing engine");
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
additional option results
void calculate() const override
virtual void fetchResults(const PricingEngine::results *) const
Results from multi-asset option calculation
MultiAssetOption(const ext::shared_ptr< Payoff > &, const ext::shared_ptr< Exercise > &)
void setupArguments(PricingEngine::arguments *) const override
bool isExpired() const override
returns whether the instrument might have value greater than zero.
void setupExpired() const override
void fetchResults(const PricingEngine::results *) const override
template class providing a null value for a given type.
ext::shared_ptr< Exercise > exercise
ext::shared_ptr< Payoff > payoff
ext::shared_ptr< Payoff > payoff_
ext::shared_ptr< Exercise > exercise_