全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
11838 8
2015-07-06
具体是这样的,要求债券的付息天数,比如到期日2021-07-31,交易日为2014-01-02,付息频率是半年一次。
现在我要计算:
1.交易日距离上次付息日的天数,也就是2013-07-31到2014-01-02的天数,(是155)
2.交易日所在的半年的总天数,也就是2013-07-31到2014-01-31的天数。(是184)

以上是一个具体的日期,容易推算,但是有很多不同日期的情况下如何写一个程序具体运算?
主要是会有一些不好处理的情况,比如到期日是2021-08-31,那么上次付息日期就是2013年2月的最后一天,但还需要考虑是否是闰年,2月有多少天的问题。有没有自动实现的方法? 或者R中是否有金融方面的函数可以直接计算?

求各位大神解答困惑,不胜感激,初来乍到,期望与大家一同进步!

二维码

扫码加我 拉你入群

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

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

全部回复
2015-7-6 15:25:12
求解答~感觉R里应该有直接能解决的package,可是找不到……
二维码

扫码加我 拉你入群

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

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

2015-7-7 15:40:34
顶一下,求解答
二维码

扫码加我 拉你入群

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

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

2015-7-8 09:29:39
R里的日期处理我觉得比较棘手,还是求各位高手指明道路~感谢!
二维码

扫码加我 拉你入群

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

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

2015-7-8 23:39:57
不是很理解你要求付息天数,为什么要求半年的天数。 但如果简化为求两个日期间的天数就很简单了。
比如 a data set (date) has two columns: start             end   
                                                       2014-01-02   2014-07-31
                                                       2014-07-31   2015-01-02
date$date_diff <- as.Date(as.character(data$end), format="%Y/%m/%d")-
                  as.Date(as.character(data$start), format="%Y/%m/%d")
date
       start       end              date_diff
1.2014-01-02   2014-07-31   210 days
2.2014-07-31   2015-01-02   155 days

不用考虑闰年的问题。。。

小白学习中。。。如有考虑不周全的地方,各大神请轻拍
二维码

扫码加我 拉你入群

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

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

2015-7-9 10:34:35
crystalyang1210 发表于 2015-7-8 23:39
不是很理解你要求付息天数,为什么要求半年的天数。 但如果简化为求两个日期间的天数就很简单了。
比如 a  ...
谢谢回答! 不过我的具体问题是这样的,可能是我没有表述清楚,所以我把原始数据粘贴过来:

债券代码_BdCd        债券名称_BdNm        债券面值(元)_Par        票面利率_CoupRt        年付息频率_Freq        到期日_MatDt        交易日期_TrdDt        净价收盘价(元)_ClNetPr        全价收盘价(元)_ClDirPr
010504        05国债(4)        100        4.11        2        2025-05-15        2005-05-23        100        100.1
010504        05国债(4)        100        4.11        2        2025-05-15        2005-05-25        101.15        101.27
010504        05国债(4)        100        4.11        2        2025-05-15        2005-05-26        101.63        101.77
010504        05国债(4)        100        4.11        2        2025-05-15        2005-05-27        101.8        101.95
010504        05国债(4)        100        4.11        2        2025-05-15        2005-05-30        101.13        101.31
010504        05国债(4)        100        4.11        2        2025-05-15        2005-05-31        101.34        101.53
010504        05国债(4)        100        4.11        2        2025-05-15        2005-06-01        101.76        101.96
010504        05国债(4)        100        4.11        2        2025-05-15        2005-06-02        101.8        102.01

就是很多行这样的数据,以第一行为例,到期日为2025-05-15,交易日期为2005-05-23,付息频率是半年一次,所以上次付息时间是2005-05-15,我的问题是如何在R中获得“2005-15-05”这个日期。
而本次付息时间则是要求一个半年的天数,比如第一行就是要求“2005-05-15”到“2005-11-15”的天数,同样问题是如何获得这两个日期……如果能获得的话,我知道可以用difftime等函数直接求日期之间的天数的。
您可以再看看我的问题,很感谢您的回答!
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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