欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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操作过程Stata:市场调整模型(MA)计算的并购事件的累积超额回报(CAR)https://www.bilibili.com/video/av329026208/杨继彬, 李善民, 杨国超, 吴文锋. 省际双边信任与资本跨区域流动——基于企业异地并购的视角[J]. 经济研究, 2021, 56(04): 41–59.

相关标签: matlab statistics