22#ifndef quantlib_curve_state_hpp
23#define quantlib_curve_state_hpp
71 Size spanningForwards)
const = 0;
73 Size spanningForwards)
const = 0;
81 virtual std::unique_ptr<CurveState>
clone()
const = 0;
89 const std::vector<DiscountFactor>& ds,
90 const std::vector<Time>& taus,
91 std::vector<Rate>& fwds);
94 const std::vector<DiscountFactor>& ds,
95 const std::vector<Time>& taus,
96 std::vector<Rate>& cotSwapRates,
97 std::vector<Real>& cotSwapAnnuities);
100 Size spanningForwards,
101 Size firstValidIndex,
102 const std::vector<DiscountFactor>& ds,
103 const std::vector<Time>& taus,
104 std::vector<Rate>& cotSwapRates,
105 std::vector<Real>& cotSwapAnnuities);
1-D array used in linear algebra.
Curve state for market-model simulations
Size numberOfRates() const
virtual Rate coterminalSwapAnnuity(Size numeraire, Size i) const =0
virtual const std::vector< Rate > & cmSwapRates(Size spanningForwards) const =0
virtual Rate cmSwapRate(Size i, Size spanningForwards) const =0
virtual Rate forwardRate(Size i) const =0
const std::vector< Time > & rateTimes() const
virtual const std::vector< Rate > & coterminalSwapRates() const =0
Rate swapRate(Size begin, Size end) const
std::vector< Time > rateTimes_
virtual const std::vector< Rate > & forwardRates() const =0
const std::vector< Time > & rateTaus() const
virtual Rate coterminalSwapRate(Size i) const =0
std::vector< Time > rateTaus_
virtual Rate cmSwapAnnuity(Size numeraire, Size i, Size spanningForwards) const =0
virtual ~CurveState()=default
virtual Real discountRatio(Size i, Size j) const =0
virtual std::unique_ptr< CurveState > clone() const =0
std::size_t Size
size of a container
void forwardsFromDiscountRatios(const Size firstValidIndex, const std::vector< DiscountFactor > &ds, const std::vector< Time > &taus, std::vector< Rate > &fwds)
void coterminalFromDiscountRatios(const Size firstValidIndex, const std::vector< DiscountFactor > &discountFactors, const std::vector< Time > &taus, std::vector< Rate > &cotSwapRates, std::vector< Real > &cotSwapAnnuities)
void constantMaturityFromDiscountRatios(const Size spanningForwards, const Size firstValidIndex, const std::vector< DiscountFactor > &ds, const std::vector< Time > &taus, std::vector< Rate > &constMatSwapRates, std::vector< Real > &constMatSwapAnnuities)