首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用交易日计算每日回报的日期计数器

使用交易日计算每日回报的日期计数器
EN

Stack Overflow用户
提问于 2011-02-22 03:12:06
回答 2查看 532关注 0票数 0

我有一个时间序列数据集。这是一个数据示例:

代码语言:javascript
复制
      firm   evntdate       date evntdum      ret  mrktret bef_sum

1 03251110 1989-08-01 1989-02-23       1 -0.00498  0.00053     110
2 03251110 1989-08-01 1989-02-24       1 -0.00500 -0.00494     110
3 03251110 1989-08-01 1989-02-27       1  0.00503 -0.00125     110
4 03251110 1989-08-01 1989-02-28       1  0.00500  0.00392     110
5 03251110 1989-08-01 1989-03-01       1 -0.00498 -0.00040     110
6 03251110 1989-08-01 1989-03-02       1  0.00000  0.00503     110

数据集包括有关公司(' firm ')和事件日期('evntdate')的信息。对于每个事件日期,在事件日期之前有多个每日退货('ret'),因此对于每个特定事件,必须有一个唯一的公司和事件日期,重复的次数与我的每日退货次数一样多。'bef_sum‘是一个数字,表示在事件日期之前每天返回的次数,如果每行属于相同的公司/事件日期,则该数字会重复每一行。

我想要做的是创建另一个列,它将创建一个日期计数器,这样第一个日收益(基于' date ')将是-110,下一个是-109 (因为这个计数器是相对于事件日期的),因此fort。我遇到的困难是,对于每个公司/事件日期,这个计数器应该是独立的,我不能使用事件日期减去日期的简单减法,因为这是交易日,所以不应该考虑节假日/周末。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-22 04:46:20

以下是使用plyr包获得所需内容的一种方法(我将在我创建的示例数据框中显示它,删除与此问题无关的列,如returns等):

代码语言:javascript
复制
> require(plyr)
> ddply( df, .(firm, evntdate), transform, 
         DateCount = -1 - bef_sum + seq_along( bef_sum))

   firm   evntdate       date bef_sum DateCount
1     1 1989-08-01 1989-07-01       7        -7
2     1 1989-08-01 1989-07-04       7        -6
3     1 1989-08-01 1989-07-07       7        -5
4     1 1989-08-01 1989-07-10       7        -4
5     1 1989-08-01 1989-07-13       7        -3
6     1 1989-08-01 1989-07-16       7        -2
7     1 1989-08-01 1989-07-19       7        -1
8     1 1990-08-01 1990-07-01       5        -5
9     1 1990-08-01 1990-07-05       5        -4
10    1 1990-08-01 1990-07-09       5        -3
11    1 1990-08-01 1990-07-13       5        -2
12    1 1990-08-01 1990-07-17       5        -1

一般来说,您可以使用fCalendar包处理假日和周末等问题--如果您使用这样的包,则可以直接计算evntdatedate之间的“交易天数”。

票数 0
EN

Stack Overflow用户

发布于 2011-02-22 04:29:36

您尝试过timeDate library中的函数吗?例如,函数holidayNYSE()返回给定年份纽约证券交易所的假日。您可以使用此列表删除不适用的天数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5070151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档