Source code for Rates.RawDiscountRateCurve

from typing import List

from Rates.RateCurveId import RateCurveId


[docs]class RawDiscountRateCurve: """ Container class to describe a discount rate curve. Parameters ---------- rate_curve_id : :class:`~Rates.RateCurveId` Name of the discount rate curve. durations : List[float] The discretization of the discount rate curve in terms of durations discount_factors : List[float] The values of the discount factors for each duration Examples -------- >>> from Rates.RateCurveId import RateCurveId >>> from Rates.RawDiscountRateCurve import RawDiscountRateCurve >>> import numpy as np >>> rate_curve_id = RateCurveId("USD-LIBOR") >>> durations = np.array([0.0,1.0,2.0,3.0]) >>> discounts = np.array([1.0,0.98,0.87,0.75]) >>> raw_discount_rate_curve = RawDiscountRateCurve(rate_curve_id, durations, discounts) >>> print(raw_discount_rate_curve.discount_factors[2]) 0.87 """ def __init__(self, rate_curve_id : RateCurveId, durations : List[float], discount_factors : List[float]): self.__rate_curve_id = rate_curve_id self.__durations = durations self.__discount_factors = discount_factors @property def rate_curve_id(self): return self.__rate_curve_id @property def durations(self): return self.__durations @property def discount_factors(self): return self.__discount_factors
if __name__ == "__main__": import doctest doctest.testmod()