楼主: peijiamei
4048 7

[原创博文] 事件收益率计算程序请教! [推广有奖]

已卖:299份资源

学科带头人

75%

还不是VIP/贵宾

-

威望
3
论坛币
26157 个
通用积分
12.7133
学术水平
217 点
热心指数
343 点
信用等级
210 点
经验
75401 点
帖子
1099
精华
1
在线时间
2016 小时
注册时间
2007-11-15
最后登录
2016-3-21

楼主
peijiamei 发表于 2010-8-5 10:36:39 |AI写论文
500论坛币
codedate
120010102
120010103
120010105
120010506
220030201
220030206
220030406

上面的表格是事件数据

code
dateret
1200101010.001
1200101020.011
1200101030.021
1200101040.031
1200101050.041
1200101060.051
1200101070.061
1200101080.071
1200101090.081
1200101100.091
1200105050.101
1200105060.111
1200105070.121
1200105080.131
1200105090.141
1200105100.151
1200105110.161
1200105120.171
1200105130.181
2200302010.191
2200302020.201
2200302030.211
2200302040.221
2200302050.231
2200302060.241
2200302070.251
2200304050.261
2200304060.271
2200304070.281
2200304080.291


上面的表格是收益率数据


codedaterrer(10)
120010102 
120010103 
120010105 
120010506 
220030201 
220030206 
220030406 


现在要计算上面的表格,也就是对每一个事件发生之后10日的累积股票收益率(累加方法计算)
注意,有的日子里有事件发生但是不是交易日,这样子的情况,需要将事件发生日期顺延到下一个交易日。

在此向SAS版面的各位大牛致以崇高的敬意!

最佳答案

soporaeternus 查看完整内容

后10天不包含事件日的话用/**/里的条件 希望对你有帮助
关键词:计算程序 收益率 coded 股票收益率 terre 收益率 程序

本帖被以下文库推荐

沙发
soporaeternus 发表于 2010-8-5 10:36:40
  1. data c;
  2.         merge a(in=a) b;
  3.         by code date;
  4.         if a then flag=1;
  5.         n+1;
  6. run;

  7. proc sql;
  8.         create table d as
  9.                 select
  10.                         a.code
  11.                         ,a.date
  12.                         ,sum(b.ret) as rrer label='rrer(10)'
  13.                 from
  14.                         (select code,date,n from c where flag=1) a
  15.                 inner join
  16.                         c b
  17.                 on a.code=b.code
  18.                 and b.n-a.n between 0 and 9 /*1 and 10*/
  19.                 group by
  20.                         a.code
  21.                         ,a.date
  22.         ;
  23. quit;
复制代码
后10天不包含事件日的话用/**/里的条件
希望对你有帮助
已有 1 人评分论坛币 热心指数 收起 理由
peijiamei + 100 + 2 这里的sum能否换成累计相乘?

总评分: 论坛币 + 100  热心指数 + 2   查看全部评分

Let them be hard, but never unjust

藤椅
sushe1527 发表于 2010-8-5 10:55:33
此处人多,钱多,速来。

板凳
hopewell 发表于 2010-8-5 11:59:16
"累积股票收益率"的公式是啥?

报纸
BraveMadMan 发表于 2010-8-5 12:47:41
Event study?
  1. proc sql;
  2.   create table want as
  3. select distinct a.*, sum(b.ret) as rrer
  4. from event as a, rets as b
  5. where a.code = b.code and 0<intck('day',a.date, b.date)<=10
  6. group by a.code, a.date;
  7. quit;
复制代码
Don't get lost in technical details. What is the big picture?

地板
BraveMadMan 发表于 2010-8-5 12:51:26
BraveMadMan 发表于 2010-8-5 12:47
Event study?[code]proc sql;
  create table want as
select distinct a.*, sum(b.ret) as rrer
from event as a, rets as b
where a.code = b.code and 0
楼主提供的数据比较特殊。一般来讲,因为股市周六周日休息,日期是不相连的。这样的话,intck给的是10个日历日期而不是10个交易日期。后者应该是一般的event study用的。所以可能还要做相应的修改。
Don't get lost in technical details. What is the big picture?

7
rockfido 在职认证  发表于 2010-8-5 20:55:08
LZ 真有米!!

8
BraveMadMan 发表于 2010-8-5 23:10:30
hopewell 发表于 2010-8-5 11:59
"累积股票收益率"的公式是啥?
如果是作事件分析,一般来讲,是(异常)收益的简单求和
Don't get lost in technical details. What is the big picture?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-20 19:56