22#ifndef quantlib_upper_bound_engine_hpp
23#define quantlib_upper_bound_engine_hpp
34 class MarketModelEvolver;
35 class MarketModelDiscounter;
36 class MarketModelMultiProduct;
37 class MarketModelExerciseValue;
46 std::vector<ext::shared_ptr<MarketModelEvolver> > innerEvolvers,
52 Real initialNumeraireValue);
59 Real principalInNumerairePortfolio,
61 Size endProduct)
const;
76 std::vector<std::vector<MarketModelMultiProduct::CashFlow> >
empirical-distribution risk measures
Composition of one or more market-model products.
Market-model engine for upper-bound estimation.
ext::shared_ptr< MarketModelEvolver > evolver_
std::vector< MarketModelDiscounter > discounters_
Real initialNumeraireValue_
std::vector< ext::shared_ptr< MarketModelEvolver > > innerEvolvers_
MultiProductComposite composite_
std::vector< std::vector< MarketModelMultiProduct::CashFlow > > cashFlowsGenerated_
std::vector< Size > numberCashFlowsThisStep_
std::valarray< bool > isExerciseTime_
std::pair< Real, Real > singlePathValue(Size innerPaths)
Real collectCashFlows(Size currentStep, Real principalInNumerairePortfolio, Size beginProduct, Size endProduct) const
void multiplePathValues(Statistics &stats, Size outerPaths, Size innerPaths)
cloning proxy to an underlying object
std::size_t Size
size of a container
Statistics tools for sequence (vector, list, array) samples.