26 std::vector<Size> fixingIndices,
29 :
payoff_(type, strike), discount_(discount), fixingIndices_(
std::move(fixingIndices)),
30 runningSum_(runningSum), pastFixings_(pastFixings) {
32 "strike less than zero not allowed");
36 const Path& path = multiPath[0];
44 sum += path[fixingIndice];
47 Real averagePrice = sum/fixings;
PlainVanillaPayoff payoff_
ArithmeticAPOHestonPathPricer(Option::Type type, Real strike, DiscountFactor discount, std::vector< Size > fixingIndices, Real runningSum=0.0, Size pastFixings=0)
std::vector< Size > fixingIndices_
Real operator()(const MultiPath &multiPath) const override
Correlated multiple asset paths.
single-factor random walk
#define QL_REQUIRE(condition, message)
throw an error if the given pre-condition is not verified
const ext::shared_ptr< Payoff > payoff_
Real DiscountFactor
discount factor between dates
std::size_t Size
size of a container
Heston MC engine for discrete arithmetic average price Asian.