全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2222 3
2020-08-20
如果以一年期定期存款利率作为折现率,会遇到的问题是从数据库中下载的利率是分段的,如图所示p1,Cdate为利率调整的日期,interest为调整后的利率



公式p2中,t指当年第i次一年期存款利率变动后的利率存续的时间长短(以天计算),r指当年第i次一年期存款利率变动后的利率,n指当年一年期存款利率变动的次数。



求助一段简洁代码,生成如图p3的数据格式。

附件为原始数据
附件列表
p3.png

原图尺寸 5.16 KB

想要的结果

想要的结果

p2.png

原图尺寸 1.35 KB

公示

公示

p1.png

原图尺寸 15.92 KB

p1.png

interest.dta

大小:3.65 KB

 马上下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-8-20 18:36:31
有两个疑问:
没有年份数的数据怎么办?像2000、2001、2016-2019这类数据没有的怎么给最后结果,像2003、2013处于中间没有数据的是按照上一年度的最后一个利率算,还是按上一年度的re(你的计算公式)算?
若一个年度,存在分段情况,最后一个的ti怎么计算,时间跨度是到下一个年度的第一个数据还是到该自然年度年末?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-8-20 20:14:40
DΘstinyじò 发表于 2020-8-20 18:36
有两个疑问:
没有年份数的数据怎么办?像2000、2001、2016-2019这类数据没有的怎么给最后结果,像2003、2 ...
原始数据是利率变化的时间点,如果2003没有,说明没有变化,值等于上次变化之后的利率,也就是上一年度最后一次变化后的利率,但如果上年度多次变动利率,则不等于上年度的利率值。


第二个疑问:应当是到自然年度结束,不延续到下一年。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-8-21 14:08:31
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现有的空值来说,赋值前一个调整的利率;第三:计算权重,分子上就是该利率持续的时长,分母为该自然年度的天数,特别之处在于年末这一天,需要单独列出;第四:加权求和。
如果解释不清楚,分步实现代码,可能更好理解。
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群