21#ifndef quantlib_market_model_pathwise_multi_product_hpp
22#define quantlib_market_model_pathwise_multi_product_hpp
30 class EvolutionDescription;
75 std::vector<Size>& numberCashFlowsThisStep,
76 std::vector<std::vector<MarketModelPathwiseMultiProduct::CashFlow> >& cashFlowsGenerated) = 0;
78 virtual std::unique_ptr<MarketModelPathwiseMultiProduct>
clone()
const = 0;
Curve state for market-model simulations
Market-model evolution description.
market-model pathwise product
virtual std::vector< Time > possibleCashFlowTimes() const =0
virtual Size numberOfProducts() const =0
virtual bool alreadyDeflated() const =0
virtual void reset()=0
during simulation put product at start of path
virtual std::vector< Size > suggestedNumeraires() const =0
virtual ~MarketModelPathwiseMultiProduct()=default
virtual Size maxNumberOfCashFlowsPerProductPerStep() const =0
virtual bool nextTimeStep(const CurveState ¤tState, std::vector< Size > &numberCashFlowsThisStep, std::vector< std::vector< MarketModelPathwiseMultiProduct::CashFlow > > &cashFlowsGenerated)=0
return value indicates whether path is finished, TRUE means done
virtual const EvolutionDescription & evolution() const =0
virtual std::unique_ptr< MarketModelPathwiseMultiProduct > clone() const =0
returns a newly-allocated copy of itself
std::size_t Size
size of a container
std::vector< Real > amount