unsigned long PathDependentAsian::CashFlows(const MJArray& SpotValues, std::vector<CashFlow>& GeneratedFlows) const { double sum = SpotValues.sum(); double mean = sum/NumberOfTimes; GeneratedFlows[0].TimeIndex = 0UL; GeneraedFLows[0].Amount = ThePayOff(mean); return 1UL; }
double TreeEuropeanTemplate<T>::FinalPayOff(double Spot) const { return ThePayOff(Spot); }
double TreeEuropean::FinalPayOff(double Spot) const { return ThePayOff(Spot); }
double TreeAmerican::PreFinalValue(double Spot, double , // Borland compiler doesnt like unused named variables double DiscountedFutureValue) const { return max(ThePayOff(Spot), DiscountedFutureValue); }
double TreeAmerican::FinalPayOff(double Spot) const { return ThePayOff(Spot); }
double VanillaOption::OptionPayOff(double Spot) const { return ThePayOff(Spot); }