Stata:eventstudy2命令计算BHAR买入持有异常收益/CAR累计异常收益 |
您所在的位置:网站首页 › eventstudy2命令介绍 › Stata:eventstudy2命令计算BHAR买入持有异常收益/CAR累计异常收益 |
目录 CAR累计异常收益/BHAR买入持有异常收益 定义与公式stata中的日期格式 处理方式及命令以国泰安数据库的“股票市场交易”库数据为例,使用eventstudy2命令计算CAR累计异常收益/BHAR买入持有异常收益 全流程做这一篇的原因是在网上没有找到应用eventstudy2命令做长期事件研究(计算BHAR)的有操作性的教程,尽量详细地从头到尾写一写,希望对朋友们有帮助。 其中我对eventstudy2命令的理解来自连玉君老师团队内容: Stata:短期事件研究法(Event_Study)教程| 连享会 https://www.lianxh.cn/news/90de95e42e8ff.html 一、CAR&BHAR 1. CAR (Cumulative Abnormal Return) CAR累计异常收益,多用于观察某时间发生前后窗口期内,某公司的股价的多日内异常收益之和。使用日度数据。 单日的异常收益AR=这一天该公司的股票日收益率-基准的市场收益率 累计异常收益CAR=多日AR之和 ![]() ![]() 亦有学者按照上一日所有上市交易的股票的流通市值加权计算得到市场收益率,本文采用: ![]() CAR计算公式 2. BHAR (Buy and Hold Abnormal Return) ![]() ![]() 也有学者使用累乘之商,本文采用张学勇老师做法,使用累乘之差: ![]() 另,常规做长期事件研究计算BHAR多使用月度数据,如窗口期为[-3,3],事件发生在2017年12月,则窗口期为2017年9月-2018年3月。 无论是BHAR还是CAR,R index根据你所要研究的内容而定—— “所选的基准,可以根据研究问题进行调整,如研究对象是全部A股公司,可以选一个A股综合指数的回报率;研究对象是上证公司,用上证的指数;深市公司,用深市指数;也可以每个行业的样本分别以本行业的回报率作为基准”二、 stata中的日期格式 处理方式及命令 使用eventstudy2做CAR或BHAR都需要把date或month转换为stata中的日期格式。 1.计算CAR所需日度数据:字符型→日期格式的年月日 ![]() ![]() 数据库中下载的Date多为上图中第二列的Str格式,转为stata可识别的日期: gen date=date( Date,"YMD") format %td date 2. 计算BHAR所需月度数据:字符型→日期格式的年月 ![]() gen month0=monthly( Trdmnt , "ym") format %tm month0 *如果是有年月日格式需要转为年月格式, 日期型年月日格式→日期型年月格式: gen month1=mofd( month ) format %tm month1 三、使用eventstudy2命令计算CAR累计异常收益/BHAR买入持有异常收益 全流程(以国泰安数据库的“股票市场交易”库数据为例) 0 数据下载 个股回报率和综合市场回报率基础数据来自国泰安,CAR使用日度数据,BHAR使用月度数据 ![]() 1 准备三个dta文件在一个文件夹中 eventstudy2需要三个文件: ① Security_id 包含firm、事件发生的日期date/月份month、市场类型Markettype(起码3个变量) 从Excel中导入firm-month之后缺少市场类型变量,要gen Markettype=53,或者别的想参考的市场个股收益率的市场类型(5=综合A股市场(不包含科创板、创业板), 10=综合B股市场, 15=综合AB股市场, 21=综合A股和创业板; 31=综合AB股和创业; 37=综合A股和科创板; 47=综合AB股和科创板; 53=综合A股和创业板和科创板; 63=综合AB股和创业板和科创板) ![]() ②market return 包含市场类型Markettype、日期date/月份month、市场(日度/月度)收益率Cmretwdos(起码3个变量) 由于eventstudy2不能label过长,所以要在运行eventstudy2之前将需要的收益率的label清空,如Cmretwdos为考虑现金红利再投资的综合月市场回报率(流通市值加权平均法) ![]() ②.1 从国泰安下载的市场月度回报率文件中包含多个市场的各月回报率(5=综合A股市场(不包含科创板、创业板), 10=综合B股市场, 15=综合AB股市场, 21=综合A股和创业板; 31=综合AB股和创业; 37=综合A股和科创板; 47=综合AB股和科创板; 53=综合A股和创业板和科创板; 63=综合AB股和创业板和科创板),假如本例中事件发生的公司选取范围为综合A股和创业板和科创板,则keep if Markettype==53 ![]() ③Security return 包含firm、日期date/月份month、firm的个股(日度/月度)收益率mretwd(起码3个变量) 由于eventstudy2不能label过长,所以要在运行eventstudy2之前将需要的收益率的label清空,如mretwd为考虑现金红利再投资的月个股回报率 ![]() 2 cd路径,即上面三个文件所在文件夹 cd"D:\*****\****" 3 运行前调用security_id数据 usesecurity_id.dta, clear 4 运行eventstudy2代码 eventstudy2 firm month using firm-month-sreturn00-20 ,ret(mretwd)evwlb(-10) evwub(10) ///firm为股票代码,month事件发生月份,firm-month-sreturn00-20是个股回报率的dta,evwlb事件窗口开始,evwub事件窗口结束,mretwd为个股回报率变量 mod(BHAR)marketfile(market53-month-return00-20) mar(Cmretwdos) idmar(Markettype)car1LB(-10) car1UB(10) ///mod为选用模型,若CAR则用mod(FM),marketfile里的market53-month-return00-20为市场回报率的dta,Cmretwdos为其中的市场收益率变量,Markettype市场类型,car1LB事件窗口开始,car1UB事件窗口结束 car2LB(-3) car2UB(3) /// car9LB(-8)car9UB(8) /// car10LB(-1)car10UB(5) ///一共最多可以设置10个不同的事件窗口 arfilleventreplace //eswlb estimation_window_lower_boundary估计期窗口开始,eswub estimation_window_upper_boundary 估计期窗口结束,arfillevent表示事件窗口内无法计算 abnormal returns的填充为0,replace表示所有生成文件都重置 运行后新生成了如下文件: ![]() use crossfile, clear//crossfile中为BHAR计算结果,但original_event_date和event_date中月度数据格式默认生成了年月日 ![]() format%tm original_event_date//如果是做BHAR为月度数据,需要将默认生成的年月日格式的日期修改为年月格式 format %tm event_date ![]() 附 arfile.dta中有merge三张原始数据所涉信息,可供验算 ![]() original_event_date为事件发生月份 Month-firm同一家公司在事件发生月份前后多个月 mretwd为考虑现金红利再投资的月个股回报率 Cmretwdos为考虑现金红利再投资的综合月市场回报率(流通市值加权平均法) AR=mretwd-Cmretwdos crossfile文件中BHAR2为[-3,3]区间,2115公司2010年5月事件的BHAR2=0.0018283,其[-3,3]区间即为2010-Feb~2010-Aug 使用arfile.dta中的原始数据,根据公式: ![]() 计算得到: ![]() 与上文使用命令计算得到值(见图crossfile.dta)相符。 [1]王化成,孙健,邓路,卢闯.控制权转移中投资者过度乐观了吗?[J].管理世界,2010(02):38-45+186. [2]张学勇,柳依依,罗丹,陈锐.创新能力对上市公司并购业绩的影响[J].金融研究,2017(03):159-175. |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |