
作者简介:
祝小宇,个人公众号:大猫的R语言课堂
这期大猫课堂将会教大家如何用35行R代码写出最有效率的事件研究法。
注意,本代码主要使用data.table完成,关于data.table包的相应知识会在涉及的时候进行讲解。在以后的课堂中,我们会重点介绍data.table这个包。
首先,我们先来回顾一下事件研究法的基本过程:
根据上图,T日是事件日,事件研究法的目的是计算事件日前后若干日超额收益(CAR)之和,而超额收益的定义为该股当日收益减去模型收益之差。如果我们用C1与C2标记CAR窗口期,用M1与M2标记模型的估计期(C1、C2、M1、M2都为正数,定义见上图),则上图的含义为:
在 [T - M1, T - M2] 的区间内估计市场模型,并在 [T - C1, T + C2] 的区间内计算超额收益率。在这里,我们姑且用最简单的市场模型来估计收益,即:
r = alpha + beta * (r - rm)其中,r 表示个股每日的收益率,rm 表示对应日期市场指数的收益率。
2 样例数据集
一切没有栗子的讲解都是耍流氓,现在我们就假设需要对如下数据集运用事件研究法:
其中,stk.id表示股票代码,date是日期,r表示个股收益率,rm表示市场收益率,event.flg是事件日标识。如果当天不是事件日,event.flg为0,否则为1。(似乎莫名其妙立了flag……)由上图可知ÿ