005964113 发表于 2020-8-20 20:14 
原始数据是利率变化的时间点,如果2003没有,说明没有变化,值等于上次变化之后的利率,也就是上一年度最 ...
个人理解,数据Cdate为利率调整的日期,interest为调整后的利率,您的数据第一个是21feb2002——1.98,因而2000——2002年最后是不知道的,从2003年开始可以通过公式计算。公式应该算是一个加权平均,权重为该利率实行的时长比上该自然年度的天数,某一年度没有变化(没有数据)应该等于前一个调整利息,实际该年度以前一个调整利息持续了一个自然年度。因为存在闰年的情况,个人觉得除以365不太严谨,可以分年份计算。(下面代码有体现)
计算方法上来说,第一:先构造了2000——2019的年份和年初和年末的Cdate变量;第二:将构造的辅助数据与interest数据merge,对year、Cdate排序,因为interest为调整后的利率,因为对于interest现有的空值来说,赋值前一个调整的利率;第三:计算权重,分子上就是该利率持续的时长,分母为该自然年度的天数,特别之处在于年末这一天,需要单独列出;第四:加权求和。
如果解释不清楚,分步实现代码,可能更好理解。