NEWS.md
30E/360 (Eurobond basis): every month has 30 days, and the 31st is moved to the 30th. compound() and discount() with dates count the days with this rule instead of the calendar. Other 30/360 variants are still rejected. (Issue #5)interp_flatforward() matches the PRE curve published by B3, apart from rounding.period argument in spotrate(): rates for other periods, like a monthly inflation rate (period = "1 month") or a rate for a fixed period between two dates (period = term(d1, d2, calendar)), are converted to the equivalent annual rate. The vignette “Day Count Conventions” shows how to compute real interest rates. (Issue #25)daycount() rejects daycounts other than actual/... and business/..., such as 30/360, which were silently computed as actual days. (Issue #5)Bps class for basis points: bps(10) is 0.001, as.bps() converts a rate difference, and c() combines them. Adding or subtracting Bps to a SpotRate or SpotRateCurve shifts the rates and keeps the other slots. (Issue #33)with_daycount() evaluates operations between Term objects with different units using a daycount, e.g. with_daycount("business/252", term(1, "month") + term(12, "days")) gives 33 days. (Issue #27)+, -, %%, /, %/%) and comparison between Term objects with the same units; before, any operation between two Terms raised “Not implemented”. Terms with different units raise an error explaining how to convert them. (Issue #28)forwardrate(curve, t1, t2) accepts numeric or Term vectors and uses the curve’s interpolation. (Issue #17)[[ and [[<- on SpotRateCurve convert Term objects to days before indexing. Before, curve[[term(1, "years")]] silently returned the rate at 1 day. (Issue #22)SpotRateCurve with an interpolation prepares the interpolation again; before, curve + 0.01 kept returning the old rates from [[.c() on Term objects keeps the units of each element; before, all elements took the units of the first one.[ on SpotRateCurve gives a clear error for NA or out of range indices. (Issue #24)match in R-develtoyears returns Term objectstomonths and todays for Term conversion in different units.[ and [[ don’t propagate interpolation. The returned curves don’t have interpolation. This avoids recurrent prepare_interpolation calls.[[ for missing returns interpolated curve in curve’s terms.days units, so days units becomes the default units to SpotRateCurve.progagate slot to Interpolation class. It defines if the interpolation method is propagated to interpolated curves.interpolate function, for NelsonSiegel and NelsonSiegelSvensson models, converts term argument to years with toyears.