28 const std::vector<Time>& exerciseTimes)
30 rateTimes_(rateTimes), exerciseTimes_(exerciseTimes),
31 rateIndex_(exerciseTimes.size()),
32 evolution_(rateTimes, exerciseTimes)
35 for (
Size i=0; i<exerciseTimes.size(); ++i)
37 while (j < rateTimes.size() && rateTimes[j] < exerciseTimes[i])
82 std::vector<Real>&
results)
const
130 std::unique_ptr<MarketModelBasisSystem>
Curve state for market-model simulations
virtual Rate forwardRate(Size i) const =0
virtual Rate coterminalSwapRate(Size i) const =0
virtual Real discountRatio(Size i, Size j) const =0
Market-model evolution description.
void values(const CurveState &, std::vector< Real > &results) const override
std::vector< Size > rateIndex_
Size numberOfExercises() const override
void nextStep(const CurveState &) override
std::vector< Size > numberOfFunctions() const override
std::valarray< bool > isExerciseTime() const override
std::vector< Time > rateTimes_
const EvolutionDescription & evolution() const override
SwapForwardBasisSystem(const std::vector< Time > &rateTimes, const std::vector< Time > &exerciseTimes)
std::vector< Time > exerciseTimes_
EvolutionDescription evolution_
std::unique_ptr< MarketModelBasisSystem > clone() const override
std::size_t Size
size of a container