20#ifndef quantlib_longstaff_schwartz_exercise_strategy_hpp
21#define quantlib_longstaff_schwartz_exercise_strategy_hpp
30 class MarketModelDiscounter;
36 std::vector<std::vector<Real> > basisCoefficients,
38 const std::vector<Size>& numeraires,
43 void reset()
override;
46 std::unique_ptr<ExerciseStrategy<CurveState> >
clone()
const override;
cloning proxy to an underlying object
Curve state for market-model simulations
Market-model evolution description.
std::vector< std::vector< Real > > basisCoefficients_
std::vector< Time > relevantTimes_
Real principalInNumerairePortfolio_
std::valarray< bool > isControlTime_
std::valarray< bool > isRebateTime_
std::vector< Time > relevantTimes() const override
std::vector< Size > exerciseIndex_
std::valarray< bool > isBasisTime_
Clone< MarketModelBasisSystem > basisSystem_
std::vector< std::vector< Real > > basisValues_
std::vector< MarketModelDiscounter > controlDiscounters_
Clone< MarketModelExerciseValue > exercise_
Clone< MarketModelExerciseValue > control_
bool exercise(const CurveState ¤tState) const override
std::vector< Time > exerciseTimes_
std::unique_ptr< ExerciseStrategy< CurveState > > clone() const override
std::vector< MarketModelDiscounter > rebateDiscounters_
std::vector< Size > numeraires_
std::valarray< bool > isExerciseTime_
void nextStep(const CurveState ¤tState) override
std::vector< Time > exerciseTimes() const override
cloning proxy to an underlying object
std::size_t Size
size of a container