Stata:市场调整模型(MA)计算的并购事件的累积超额回报(CAR)
程序员文章站
2022-04-11 15:41:29
...
数据准备
scode 股票代码
date 观测日期
distant 观测日距事件日的天数
mr 市场日回报率
r 股票日回报率
est_win 估计窗口哑变量[-150, -30]
evt_win 事件窗口哑变量[-1,1] [-2,2]
数据简化,各样本在研究期间内仅对应一次事件冲击。
cd "/Users/apple/Desktop/博士毕业论文/实证数据/dta文件"
use "/Users/apple/Documents/Data/Genarl data/Firm/股票市场/日个股回报率.dta", clear
merge m:1 scode using draft1
keep if _merge==3
drop _merge
cd "/Users/apple/Documents/Data/Genarl data/Firm/股票市场"
merge m:1 trddt using 综合日市场回报率
keep if _merge==3
drop _merge
qui foreach v in trddt fstntcdt{
replace `v'= subinstr(`v',"-","/",.)
g `v'_date=date(`v', "YMD")
}
g distant= trddt_date- fstntcdt_date
renvars trddt cdretwdtl dret / date mr r
keep scode date distant mr r
g est_win= 1 if (distant>= -150& distant<= -30)
sort scode
by scode: g evt_win= 1 if (distant>= -1& distant<= -1)
qui foreach v in est_win evt_win{
replace `v'=0 if `v'==.
}
*估计正常回报
by scode: egen sestw=sum(est_win)
drop if sestw==0 //删除估计没有估计窗口的样本
g predict=.
qui tab scode
local N=r(r)
egen id= group(scode)
qui forvalues i=1(1)`N'{
qui reg r mr if (id== `i'& est_win== 1)
predict temp if id==`i'
replace predict= temp if (id==`i'& evt_win== 1)
drop temp
}
*计算超额回报
keep if evt_win== 1
g ar= r- predict
*累计
sor scode date
g car1=.
qui tab scode
local N=r(r)
qui forvalue scode=1(1)`N'{
replace car1= sum(ar) if scode==`scode'
}
save car1, replace
参考资料
金融专题1_car3:stata操作过程_哔哩哔哩_bilibili金融专题1_car1:car理论模型金融专题1_car2:excel计算金融专题1_car3:stata操作过程https://www.bilibili.com/video/av329026208/杨继彬, 李善民, 杨国超, 吴文锋. 省际双边信任与资本跨区域流动——基于企业异地并购的视角[J]. 经济研究, 2021, 56(04): 41–59.
上一篇: awr 使用之一 常用操作
下一篇: Python中inplace参数的意义