事件研究法命令

事件研究法命令
事件研究法命令

在做事件研究法,前两天发了求助帖https://www.360docs.net/doc/a91748654.html,/thread-1192259-1-1.html,问题是想把每个事件日的数据与距事件日最近的财务数据(如EPS)对应起来

今天终于把问题解决了,基本的想法是用date命令把事件日以及财务数据公布日的天数列出来,然后进行区分,借鉴了网站上教的事件研究法处理初始数据的方法(详见https://www.360docs.net/doc/a91748654.html,/online_help/stats_packages/stata/eventstudydataprep.html)想来还是把用到的命令贴出来,希望对童鞋们有用~

use 用来做每个减持事件日对应最近的EPS的.dta,clear

sort stock_code event_date

by stock_code event_date:gen n=_n

keep if n==1

save eventdates

by stock_code: gen eventcount=_N

drop n

by stock_code: keep if _n==1

by stock_code: gen eventcount=_N

drop n

by stock_code: keep if _n==1

sort stock_code

keep stock_code eventcount

save eventcount

use 只有EPS每季度的数据.dta, clear

sort stock_code

merge m:m stock_code using eventcount

use 只有EPS每季度的数据.dta, clear

sort stock_code

merge m:m stock_code using eventcount

keep if _merge==3

drop _merge

expand eventcount

drop eventcount

sort stock_code accounting_period

by stock_code accounting_period: gen set=_n

sort stock_code set accounting_period

save stockdata2

use eventdates, clear

drop n

by stock_code: gen set=_n

sort stock_code set

save eventdates2

use stockdata2, clear

merge m:m stock_code set using eventdates2

keep if _merge==3

drop _merge

egen group_id = group( stock_code set)

save 处理好的每个减持公告日对应了全部的EPS use 处理好的每个减持公告日对应了全部的EPS.dta gen date1=date( event_date,"YMD")

gen date2=date( accounting_period,"YMD")

gen dif1= date1- date2

sort group_id accounting_period

by group_id:egen dif2=min( dif1) if dif1>=0

keep if dif1== dif2

save 已经把每个减持公告日对应了距离最近的每股收益数据

use 做子市场反应的起点.dta,clear

drop set volume percent group_id p target

merge m:m stock_code event_date using 已经把每个减持公告日对应了距离最近的每股收益数据.dta

keep if _merge==3

drop set group_id dif1 dif2 _merge

drop date1 date2

sort stock_code event_date trading_date

egen group_id=group( stock_code event_date)

save 做不同水平EPS的基础数据

Data Preparation for Event Studies using Stata

Preparing your own data

You may have downloaded datasets for an event study, or created ones by entering data into excel sheets. Usually people have two files, one for stock returns, and the other for your event of interest. In this example, we start with two data sets, one called eventdates and the other called

stockdata. In the eventdates data, we have company id (company_id) and the date of event (event_date) as variables. In the stock data, we have matching company id (company_id), stock return date (date), stock return (ret), and market return value (market_return).

If a set of observations for each company can be matched to a single event date, the study will be much simpler. In some situations one may wish to examine more than one event date for each company. In multiple observations per company, it is necessary to create a duplicate set of observations for each event date/company combination. You need a full set of stock observations to examine each event. If you are not sure how many events per company you have on your dataset, we recommend that you go through this exercise to check the number of events per company.

If you already know that you have only one event per company, you may skip the instruction below, merge the eventdate and stockdata data files and go to the Event Study with Stata page.

Using example data

Alternatively, you may try the commands in our event studies example using our sample data set. There are two data sets: one called eventdates, that contain event information, and the other called stockdata. The events, in this example, are merger announcement dates for 2007 obtained from SDC Platinum. The stock return data for 2007 were obtained from CRSP daily stock.

The computer you are using Stata needs to be connected to the internet for this download to work. Please be patient with the download. You can see a counter on the bottom of Stata window which shows how much percent of the file has been downloaded. Once you finish the download, save the data on your computer or where you have write permission, like thesis folder in your H drive. Make sure that you have enough space in your drive to save these data files.

set memory 200m

use https://www.360docs.net/doc/a91748654.html,/sampleData/eventdates.dta /* about 11k */

save H:/thesis/eventdates

use https://www.360docs.net/doc/a91748654.html,/sampleData/stockdata.dta, clear /* about 90m */

save H:/thesis/stockdata

Combining event and stock data

First, set memory to a large enough size so that you can do the rest of the operations below. We will be creating some variables and possibly duplicating cases, so the dataset can get VERY BIG. To check how much memory you have allocated, the command is query, and to check how big your file is, the command is describe.

Now, we need to find out how many event dates there are for each company. Use the dataset of event dates and generate a variable that counts the number of event dates per company.

use eventdates, clear

by company_id: gen eventcount=_N

Cut the dataset down to just one observation for each company. Each company observation is associated with the count of event dates for that company. Save this as a new dataset - don't overwrite your dataset of event dates!

by company_id: keep if _n==1

sort company_id

keep company_id eventcount

save eventcount

The next step is to merge the new 'eventcount' dataset with your dataset of stock data.

use stockdata, clear

sort company_id

merge company_id using eventcount

tab _merge

keep if _merge==3

drop _merge

Now use Stata's 'expand' command to create the duplicate observations. The 'eventcount' variable has been merged on to each stock observation, and tells Stata how many copies of that observation are needed. This is where your dataset can get VERY BIG, as we are duplicating the observations to however many counts of event we have per company.

expand eventcount

You need to create a variable that indicates which 'set' of observations

within the company each observation belongs to. Then sort the dataset to prepare for another merge.

drop eventcount

sort company_id date

by company_id date: gen set=_n

sort company_id set

save stockdata2

Back in your original event dates dataset - not the 'eventcount' one! You need to create a matching set variable to identify the different event dates within each company. The final step is to use the set variable to match each event date with a set of stock observations.

use eventdates, clear

by company_id: gen set=_n

sort company_id set

save eventdates2

use stockdata2, clear

merge company_id set using eventdates2

tab _merge

Here, you may have observations where you have the events information but not stock information. You may examine which companies stock information is missing.

list company_id if _merge==2

keep if _merge==3

drop _merge

Finally, create a new variable that groups company_id and set so that you have a unique identifier to use in the rest of your analysis.

egen group_id = group(company_id set)

During the rest of your analysis, use group_id wherever the event study instructions say company_id. You're now ready to return to the Event Study with Stata page.

Event Studies with Stata

An event study is used to examine reactions of the market to events of interest. A simple event study involves the following steps:

?Cleaning the Data and Calculating the Event Window

?Estimating Normal Performance

?Calculating Abnormal and Cumulative Abnormal Returns

?Testing for Significance

?Testing Across All Events

This document is designed to help you conduct event studies using Stata. We assume that you already have data with a date variable, which we call "date", and a company identifier, which we have called "company_id". If you need to prepare your data or want to try out the commands with our sample data, go to data preparation page.

We also assume that you have a basic familiarity with Stata. If you need assistance with Stata commands, you can find out more about it here. Your task will be much easier if you enter the commands in a do file, which is a text file containing a list of Stata commands.

Cleaning the data and Calculating the Event and Estimation Windows

It's likely that you have more observations for each company than you need. It's also possible that you do not have enough for some. Before you can continue, you must make sure that you will be conducting your analyses on the correct observations. To do this, you will need to create a variable, dif, that will count the number of days from the observation to the event date. This can be either calendar days or trading days.

For number of trading days:

sort company_id date

by company_id: gen datenum=_n

by company_id: gen target=datenum if date==event_date

egen td=min(target), by(company_id)

drop target

gen dif=datenum-td

For calendar days:

gen dif=date-event_date

As you can see, calculating the number of trading days is a little trickier than calendar days. For trading days, we first need to create a variable that counts the number of days within each company_id. Then we determine

which observation occurs on the event date. We create a variable with the event date's day number on all of the observations within that company_id. Finally, we simply take the difference between the two, creating a variable, dif, that counts the number of days between each individual observation and the event day. Next, we need to make sure that we have the minimum number of observations before and after the event date, as well as the minimum number of observations before the event window for the estimation window. Let's say we want 2 days before and after the event date (a total of 5 days in the event window) and 30 days for the estimation window. (You can of course change these numbers to suit your analysis.)

by company_id: gen event_window=1 if dif>=-2 & dif<=2

egen count_event_obs=count(event_window), by(company_id)

by company_id: gen estimation_window=1 if dif<-30 & dif>=-60

egen count_est_obs=count(estimation_window), by(company_id)

replace event_window=0 if event_window==.

replace estimation_window=0 if estimation_window==.

The procedure for determining the event and estimation windows is the same. First we create a variable that equals 1 if the observation is within the specified days. Second, we create another variable that counts how many observations, within each company_id, has a 1 assigned to it. Finally, we replace all the missing values with zeroes, creating a dummy variable. You can now determine which companies do not have a sufficient number of observations.

tab company_id if count_event_obs<5

tab company_id if count_est_obs<30

The "tab" will produce a list of company_ids that do not have enough observations within the event and estimation windows, as well as the total number of observations for those company_ids. To eliminate these companies:

drop if count_event_obs < 5

drop if count_est_obs < 30

You should make sure the dataset has been saved under a different name before dropping any observations!

At this point you can also drop some variables you won't need any longer: count_event_obs and count_est_obs.

Estimating Normal Performance

Now we are at the point where we can actually start an analysis. First we need a way to estimate Normal Performance. To do this, we will run a seperate regression for each company using the data within the estimation window and save the alphas (the intercept) and betas (the coefficient of the independent variable). We will later use these saved regression equations to predict normal performance during the event window.

Note that return, the dependent variable in our regression, is simply the CRSP variable for a given stock's return, while the independent variable vretd that we use to predict ret is the value-weighted return of an index for whatever exchange the stock trades on. Use the equivalent variables for your dataset.

set more off /* this command just keeps stata from pausing after each screen of output */

gen predicted_return=.

egen id=group(company_id)

/* for multiple event dates, use: egen id = group(group_id) */ forvalues i=1(1)N { /*note: replace N with the highest value of id */

l id company_id if id==`i' & dif==0

reg ret market_return if id==`i' & estimation_window==1

predict p if id==`i'

replace predicted_return = p if id==`i' & event_window==1

drop p

}

Here, we created a variable "id" that numbers the companies from 1 to however many there are. The N is the number of company-event combinations that have complete data. This process iterates over the companies, runs a regression in the estimation window for each, and then uses that regression to predict a 'normal' return in the event window.

Abnormal and Cumulative Abnormal Returns

We can now calculate the abnormal and cumulative abnormal returns for our data. The daily abnormal return is computed by subtracting the predicted normal return from the actual return for each day in the event window. The sum of the abnormal returns over the event window is the cumulative abnormal return.

sort id date

gen abnormal_return=ret-predicted_return if event_window==1

by id: egen cumulative_abnormal_return = sum(abnormal_return)

Here we simply calculate the abnormal return for each observation in the event window. Then we set the cumulative abnormal return equal to the sum of the abnormal returns for each company.

Testing for Significance

We are going to compute a test statistic, test, to check whether the average abnormal return for each stock is statistically different from zero.*

TEST= ((ΣAR)/N) / (AR_SD/sqrt(N))

where AR is the abnormal return and AR_SD is the abnormal return standard deviation. If the absolute value of test is greater than 1.96, then the average abnormal return for that stock is significantly different from zero at the 5% level. The value of 1.96 comes from the standard normal distribution with a mean of 0 and a standard deviation of 1. 95% of the distribution is between ±1.96.

sort id date

by id: egen ar_sd = sd(abnormal_return)

gen test =(1/sqrt(number of days in event window)) *

( cumulative_abnormal_return /ar_sd)

list company_id cumulative_abnormal_return test if dif==0

Note: this test uses the sample standard deviation. A less conservative alternative is to use the population standard deviation. To derive this from the sample standard deviation produced by Stata, multiply ar_sd by the square root of n-1/n; in our example, by the square root of 4/5.

This will output the results of your event study into an Excel-readable spreadsheet file:

outsheet company_id event_date cumulative_abnormal_return test using stats.csv if dif==0, comma names

Testing Across All Events

Instead of, or in addition to, looking at the average abnormal return for each company, you probably want to calculate the cumulative abnormal for all companies treated as a group. Here's the code for that:

reg cumulative_abnormal_return if dif==0, robust

The P-value on the constant from this regression will give you the significance of the cumulative abnormal return across all companies. This test preferable to a t-test because it allows you to use robust standard errors.

Further Reading

Capital Market Responses To Environmental Performance In Developing Countries, section t hree: Event Study Methodology, working paper from the World Bank

Note

Thank you to Kim Baum for useful feedback

事件研究法的计算步骤

事件研究法的计算步骤 1.定义事件期 考察所得税优惠事件对上市公司股票价格影响的首要工作是确立一个事件期。事件期包括:事前估计期与事后观察期。 事前估计期,又称清洁期,其作用在于估计正常收益率,本文所选用的清洁期为[-5,0],即公告前的前5到前0个交易日,共5个交易日;事后观察期,又称时间窗,用于研究事件发生后股价的异常变化,探讨并购重组绩效的变化,确定事件窗的目的是为了获得并购重组事件对股票价格的全部影响. 事件窗的长短可以根据研究需要自行设定,就短期绩效研究一般为[-10, 10]。本文事件研究选择的事件窗是[0,5]. 即从事件宣布日起的前5后5 个交易日,共0个交易日 . 2.计算事件期[-5,0]内的样本公司股票价格和市场指数{沪、深指数)日收益率 r m,t 和r i,t (百分比收益率). r m,t = (P m,t – P m,t-1 )/P m,t-1 r i,t = (P i,t – P i,t-1 )/P i,t-1 在本文计算中将百分比收益率转换股票连续复利收益率和市场指数连续复利收益率. R m,t = In (r m,t +1) R i,t = In (r i,t +1) 3.计算预期正常收益率 建立在假设资本资产定价模型(CAPM) 成立的情况下,根据证券资本资产定价理论模型来计算正常收益率.选择所得税优惠政策颁布前段期间为事前估计期,以该期数据为样本,以市场指数收益率为解释变量,以个股收益率为被解释变量,进行回归得 R i,t =α i + β i R m,i + ε i,t 其中R i,t R m,i 分别为个股和市场指数的日收益率,且是股票的收益率对市场指 数收益率的回归系数,ε i,t 代表回归残差.回归后得到的α i, β i ,如果α i, β i ,在估计期内保持稳定,则可算出预期正常收益率为: R i,t =α i + β i R m,i 4.计算每只股票在[-5,5]内每日超常收益率(AR)。股票i在第t日的超长收益 率为:AR i,t = R i,t – R m,t 5.计算所有股票在[-5,5]内每日的超常平均收益率(Average Agnominal Return). 就是计算所有股票超常收益率的算术平均值.所有股票在第t 日的平均收益率为:

事件研究法的计算步骤

事件研究法的计算步骤 1. 定义事件期 考察所得税优惠事件对上市公司股票价格影响的首要工作是确立一个事件期。事件期包括:事前估计期与事后观察期。 事前估计期,又称清洁期,其作用在于估计正常收益率,本文所选用的清洁期为[-5,0],即公告前的前5到前0个交易日,共5个交易日;事后观察期,又称时间窗,用于研究事件发生后股价的异常变化,探讨并购重组绩效的变化,确定事件窗的目的是为了获得并购重组事件对股票价格的全部影响.事件窗的长短可以根据研究需要自行设定,就短期绩效研究一般为[-10,10]。本文事件研究选择的事件窗是[0,5].即从事件宣布日起的前5后5个交易日,共0个交易日. 2. 计算事件期[-5,0]内的样本公司股票价格和市场指数{沪、深指数)日收益率r m,t 和 r i,t (百分比收益率). r m,t =(P m,t –P m,t-1)/P m,t-1 r i,t =(P i,t –P i,t-1)/P i,t-1 在本文计算中将百分比收益率转换股票连续复利收益率和市场指数连续复 利收益率. R m,t =In(r m,t +1) R i,t =In(r i,t +1) 3. 计算预期正常收益率 建立在假设资本资产定价模型(CAPM)成立的情况下,根据证券资本资产定价理论模型来计算正常收益率.选择所得税优惠政策颁布前段期间为事前估计期,以该期数据为样本,以市场指数收益率为解释变量,以个股收益率为被解释变量,进行回归得 R i,t =αi +βi R m,i +εi,t 其中R i,t R m,i 分别为个股和市场指数的日收益率,且是股票的收益率对市场指数收益率的回归系数,εi,t 代表回归残差.回归后得到的αi ,βi ,如果αi ,βi ,在估计期内保持稳定,则可算出预期正常收益率为: R i,t =αi +βi R m,i 4. 计算每只股票在[-5,5]内每日超常收益率(AR )。股票i 在第t 日的超长收益率为: AR i,t =R i,t –R m,t 5. 计算所有股票在[-5,5]内每日的超常平均收益率(AverageAgnominalReturn).就是计 算所有股票超常收益率的算术平均值.所有股票在第t 日的平均收益率为: 6. 计算累积平均超常收益率CAR t (CumulativeAverageRetum) 计算所有所观察上市公司股票在[-5,5]内每日的累积超额收益率,第t 日的CAR 为: 7. 检验假设 为了检验以上结果是否由股价随机波动引起的,对结果要作显着性统计验.即检验CAR 与0是否有显着差异.本文对 , 是否显着区别于0进行统计检验。 检验假设为:H 0:AAR t =0,CAR t =0,检验统计量为:t AAR ,t CAR

用stata做事件研究

用stata做事件研究 时间研究通常被用来检验市场对附带相应利益事件的反应。事件研究通常包括以下几步: (1)净化数据(提出无关和无法研究以及其他原因)和计算事件窗口 (2)估计正常表现 (3)计算异常表现和累积超额回报 (4)显著性检验 (5)全部事件交叉检验(相当于稳健性检验) 这个文章旨在帮助你用stata来开展事件研究。假设你已经拥有一个时间变量(date)和公司标识(company_id),如果你需要准备你的数据或者想要利用我们的数据尝试一下相应的命令,去data preparation页面。 我们同时也假设你对stata 有一个基本的了解。如果你需要和stata命令相关的帮助,你可以从here找到更多。如果你从一个可执行文件中进入命令,你的任务就会简单的多,因为可执行文件中包含了一系列的stata命令。 净化数据并计算事件窗口和估计窗口 你很可能获取了超出你需要的每个公司的观察值,也有可能有一些公司的观察值不充分。在你开展下一步前,你必须确保你的分析是建立在正确的观察值之上。为了实现这一点,你需要设立一个变量dif ,它将会计算从观察(相当于估计期)到事件期的天数,这即有可能是节假日,也有可能是交易日。 就交易日天数: sort company_id date by company_id: gen datenum=_n by company_id: gen target=datenum if date==event_date egen td=min(target), by(company_id) drop target gen dif=datenum-td 就节假日: gen dif=date-event_date 由上可以看出,计算交易日天数比计算节假日天数稍微复杂一点。对于交易日,我们首先需要设立一个变量,这个变量是用来计算每一个公司标识范围内的天数,然后我们再确定哪些观测值发生在事件期内。 我们设立一个和事件天数有关的变量。这个事件天数建立在company_id范围内的所有观察值的基础上。最后,我们选取二者之间的差异来设立一个变量dif,以计算每一个个体观测值和事件期之间的天数。下一步,我们需要确定我们事件期前后的最小观察期天数以及事件窗口之前的估计窗口的最小观察期天数。比如我们想要一个事件期前后两天的窗口(总共5天的事件期)以及一个30天的估计窗口(你可以改变这些数字以适应你的分析)。 by company_id: gen event_window=1 if dif>=-2 & dif<=2 egen count_event_obs=count(event_window), by(company_id) by company_id: gen estimation_window=1 if dif<-30 & dif>=-60 egen count_est_obs=count(estimation_window), by(company_id) replace event_window=0 if event_window==. replace estimation_window=0 if estimation_window==.

第九章 事件研究法

第九章事件研究法 本章导读: 在了解了stata的基本概念和命令后,从本章开始介绍会计和财务研究中的一些经典研究方法和程序。在国外,事件研究法首先被广泛应用于金融经济领域 ,近几十年来出现的有关事件研究方面的文献已成为会计与财务文献中的重要组成部分。本章首先对事件研究法的概念和基本步骤作了简单介绍,以及事件研究法如何在stata中实现。 9.1 事件研究法简介 事件研究法 (Event Study) 是一种统计方法,是在研究当市场上某一个事件发生的时后,股价是否会产生波动时,以及是否会产生“异常报酬率”(abnormal returns),借由此种资讯,我可以了解到股价的波动与该事件是否相关。 一般而言 ,事件研究包括以下几大步骤 ●定义事件以及事件研究窗口 ●选择研究样本 ●选择度量正常收益的模型 ●估计异常收益和累计超额报酬 ●检验异常收益的显著性 ●实证结果与解释 9.1.1 定义事件与事件窗 事件包括合并、收购、收益公告或再融资行为等 ,若研究者关心增发对股东财富的影响 ,此时的事件即为增发公告。事件研究所涉及的窗口包括估计窗、事件窗与事后窗等 ,如图1 ,t = 0 为事件日; t = T1 + 1 至t = T0 代表事件窗,其长度为L1 = T1 - T0 ; t = T0 + 1 至t = T1 为估计窗,其长度为L2 = T2 - T1 ;t = T2 + 1 至t = T3 为事后窗,其长度为L3 = T3 - T2。估计窗的作用在于估计正常收益(或估计正常收益模型的参数) ,一般情况下,估计窗的长度应大于等于120天;事件窗是用于检验股价对事件有无异常反映的期间, 有时事件窗仅为一天(即事件发生的当天) ,有时为两天(即事件公告当天与后一天) ,有时为三天(即公告前一天、公告当天与公告后一天) ,也有学者将事件窗定义为公告前后10天、20天或更长,事件窗长短主要取决于研究者的研究目的:事后窗主要用于考察事件发生后股价(或企业价值)有无异常变化,常见于探讨某一事件长期绩效的研究中。 9.1.2 研究样本的选择

eventstudy事件研究法计算步骤

事件研究法研究步骤 ①定义事件、事件日 事件研究的第一步是明确所研究的具体事件(event)。例如,并购事件研究首先要明确“并购”的定义。并购包括兼并(merger or statutory merger,或称吸收合并)、合并(consolidation,新设合并)和收购(acquisition),还可以包括其他一些获取公司控制权的方式,如代理权争夺。每一种并购类型还可根据不同标准进行细分。你想研究哪一种口径的“并购”? 光确定了“并购”的口径还不够,任何一次并购都是由一系列具体事件构成的一个过程,因此,并购事件研究还要确定研究的是哪一次具体事件及其日期。例如,是并购的首次宣布日、股东大会批准日,还是并购完成之日。事件(event day)的定义对事件研究的成败有时是决定性的。许多学者(如Brown and Warner,1980,1985;Jensen and Ruback,1983)强调了正确识别事件日的重要性。在美国早期的并购事件研究中(如Mandelker,1974; Ellert,1976;Langetieg, 1978), 多采用并购生效日(目标公司股东最终批准日)作为事件日,结果未能发现预期的显著报酬①。后来的研究改用并购计划宣布日,结果大不一样。一般来说,我们以并购计划的首次宣布日为事件日。 ②确定收益率间隔区间和事件窗口 股价收益率的间隔区间(sampling interval)意味着采用日收益率、周收益率还是月收益率作为股价波动的计量标准。这与事件窗口的长短有关。采用日收益率能够精确地观察到事件对每一日影响力的大小。如果事件窗口较短,例如两三个月,那么最好采用日收益率(如果时间窗口太短,甚至不可能采用周或月收益率)。此外,从统计检验的功效(power)看,间隔越短,检验功效越高。但是,考虑到收益率逐期累加(CAR法)可能带来的误差,股价波动较大的长窗口事件研究或许采用周收益率或月收益率更为合适。 事件窗口(event window)就是检验所研究事件对样本股价的影响程度所覆盖的期间,或者说是样本股价变动的观察期间。事件窗口以事件日为轴心,向前向后各若干日(周、月)。窗口的长短要考虑两个因素:一是事件影响力的时间长短,时间长的适合长窗口;二是其他事件的干扰(噪音)。在选定的窗口内可能会发生影响股价的其他事件,例如,并购事件发生后不久公司公布年度业绩。为了避免其它事件的影响,要么将这种个案从样本中剔除,要么缩短窗口。缩短了的窗口可能不能完全反映事件的影响力,而剔除一部分个案则要冒累积平均异常收益率(CAR)失真或统计检验不过关的风险。实际研究过程往往要在二者之间进行权衡。 ③筛选样本或子样本 发生所定义事件的个案可能会很多。为了进行目标明确的深入分析,可能要进行样本的筛选,将样本限制在一定范围内。样本筛选的关键是设定筛选标准(select criteria)。筛选标准可以是样本的时间跨度、上市地点、所属行业,或者公司的某种特征(如规模、业绩、财务状况)等等。例如,可以把样本限制为1995-2000年间发生了控制权转移的沪市上市公司。有时候,为了进行更深入的考察或比较,可以在样本基础上继续筛选出子样本。例如,在上述样本中筛选出绩优子样本和ST子样本。需要注意的是,我们并不能随心所欲地根据研究需要来筛选样本(子样本),这要受到样本(子样本)容量的限制。一般来说,小样本的统计检验失真。容量小于30的样本被认为统计意义不大。 ④确定正常收益的计量模型 事件研究的逻辑是:即使没有发生所定义的事件,公司股价也会有波动。此时的股价收益被称“正常收益”(normal return)或“预期收益”(expected return)。发生所定义事件时的股价收益并不全部代表所定义事件的影响(事件收益,event return),它还包括正常收益。因此,将实际股价收益减去正常收益后的“异常收益”(abnormal return)就是事件收益(也称“未预期 ①事件日问题在采用月数据的研究中有时会比较突出,特别是当事件的影戏力较短暂时。这是多数文献采用日数据的一个原因。

事件研究法

事件研究法 什么是事件研究法 事件研究法是指运用金融市场的数据资料来测定某一特定经济事件对一上市公司价值的影响。 事件研究法概述 在金融和财务领域应用广泛,最早是由多雷(Dolley,1933)提出的,他使用该方法是为了研究拆股对股价变化的影响,近20年来,该方法已被广泛地应用于证券市场的研究。 事件研究法是目前普遍研究经济事件对公司价值影响的方法。最早的使用者是Dolley,他用事件研究法研究了股票分割的价格效应。Ball和Brown(1968)引入了目前使用的事件研究法,研究了盈余的信息含量,Fama(1969)研究了股票股利效应。Brown和Warner(1980)进一步完善了事件研究法,对几个统计假定进行了修正。事件研究法是进行“半强式有效性检验”的基本方法。事件可以是指公司重大事件的发生日,如公司兼并公告日、债券发行日、盈利宣告日、股票股利发放日,也可以是普遍的经济事件,如通货膨胀、贸易赤字等的发生。 事件研究(Event Study)描述了一种经验财务研究技术,运用这种技术可以使观察者评估某一事件对一个公司股价的影响。在市场中,很多分析师希望能够通过技术手段来研究红利变化对股价的影响。如果能够得出较好的研究结论,然后通过利用一种较好的预测红利变化的手段,分析师可以连续地从市场中获取超过市场回报的异常收益或超常收益,从而赚取丰厚的交易利润。 事件研究法的特点 事件研究法的比较优势在于其研究过程具有简单、明了的逻辑线索,即某一事件的发生是否影响了时序性价格序列,这种影响程度可以用超额收益来计算。 事件研究法的基本思想 事件研究法的基本思想是:设定事件产生影响的时间段为事件窗口(Event Window),计算事件窗口期的日异常收益率(该期实际收益率与不发生事件条件下的收益率的差值)和累计异常收益率,并用这两个指标的统计检验量衡量事件影响的显著程度。 事件研究法的步骤 事件研究法无严格的研究规范,但可概括一般适用的研究步骤如下。 1.界定事件及事件期间 应用事件研究法首先要判别研究工作关注的是何种事件。这显然又要依据研究假设。例如,如果研究者设想:“企业分股行为将导致股价上升”或“企业盈利增长和并购行为相关”,则“分股”或“并购”成为研究者关注的事件。在界定了所关注的事件之后,还需要辨别、确定与之相关的事件期间或称事件窗(event window),即事件可能对因变量(股价、盈利)产生影响的时间段。

事件研究法

事件研究法 事件研究法(Event Study) 是一种统计方法,是在研究当市场上某一个事件发生的时候,股价是否会产生波动时,以及是否会产生“异常报酬率”(abnormal returns),借由此种资讯,可以了解到股价的波动与该事件是否相关。 基本信息 事件研究法(event study)由Ball& Brown (1968) 以及Famaetal(1969) 开创,其原理是根据研究目的选择某一特定事件,研究事件发生前后样本股票收益率的变化,进而解释特定事件对样本股票价格变化与收益率的影响,主要被用于检验事件发生前后价格变化或价格对披露信息的反应程度。事件研究法是基于有效市场假设的,即股票价格反映所有已知的公共信息,由于投资者是理性的,投资者对新信息的反应也是理性的,因此,在样本股票实际收益中剔除假定某个事件没有发生而估计出来的正常收益(normal return)就可以得到异常收益(abnormal return),异常收益可以衡量股价对事件发生或信息披露异常反应的程度。 方法步骤 在研究过程中,首先须决定研究假说为何。决定研究假说以后,须确定事件的种类及其事件日,估计期及事件期之计算期间,并以股价日报酬率估算其预期报酬率,再透过实际报酬与预期报酬之差额,观察整体股利发放事件,于宣告期间是否具有异常报酬的产生,最后借由统计检定来检视其统计值是否显著。 假说:譬如假设估计期间的CAR并没有产生资讯效果,而事件期的CAR可能产生资讯效果。 事件研究法的第二步,即确定所要研究的事件。所谓的“事件日”,系指市场“接收”到该事件即将发生或可能发生的时间点,而非该事件“实际”上发生的时间点,此时点通常以“宣告日”为准。时点认定的适当与否,对于研究的正确性,会有决定性的影响。 市场模式 估计某一事件发生或公布后,对于股价影响,必须建立股票报酬率的“预期模式”,以估计“预期报酬”(expected returns)。股票报酬率的预期模式有很多种,应用最广的是“市场模

事件研究法

事件研究法编辑词条 事件研究法(Event Study) 是一种统计方法,是在研究当市场上某一个事件发生的时候,股价是否会产生波动时,以及是否会产生"异常报酬率"(abnormal returns),借由此种资讯,可以了解到股价的波动与该事件是否相关。 折叠编辑本段简介 事件研究法(event study)由Ball& Brown (1968) 以及Famaetal(1969) 开创,其原理是根据研究目的选择某一特定事件,研究事件发生前后样本股票收益率的变化,进而解释特定事件对样本股票价格变化与收益率的影响,主要被用于检验事件发生前后价格变化或价格对披露信息的反应程度。事件研究法是基于有效市场假设的,即股票价格反映所有已知的公共信息,由于投资者是理性的,投资者对新信息的反应也是理性的,因此,在样本股票实际收益中剔除假定某个事件没有发生而估计出来的正常收益(normal return)就可以得到异常收益(abnormal return),异常收益可以衡量股价对事件发生或信息披露异常反应的程度。 折叠编辑本段步骤 在研究过程中,首先须决定研究假说为何。决定研究假说以后,须确定事件的种类及其事件日,估计期及事件期之计算期间,并以股价日报酬率估算其预期报酬率,再透过实际报酬与预期报酬之差额,观察整体股利发放事件,于宣告期间是否具有异常报酬的产生,最后借由统计检定来检视其统计值是否显著。 折叠编辑本段假说 譬如假设估计期间的CAR并没有产生资讯效果,而事件期的CAR可能产生资讯效果。 折叠编辑本段确定 事件研究法的第二步,即确定所要研究的事件。所谓的“事件日”,系指市场“接收”到该事件即将发生或可能发生的时间点,而非该事件“实际”上发生的时间点,此时点通常以“宣告日”为准。时点认定的适当与否,对于研究的正确性,会有决定性的影响。 折叠编辑本段市场模式 估计某一事件发生或公布后,对于股价影响,必须建立股票报酬率的“预期模式”,以估计“预期报酬”(expected returns)。股票报酬率的预期模式有很多种,应用最广的是“市场模式” (Market Model)。市场模式假设个股股票的报酬率与市场报酬率间存在线性关系,并以市场报酬率建立股价报酬率之回归模式,公式如下:

实用文档之事件研究法

实用文档之"事件研究法(event study)" 自从Ball和Brown(1968)以及Beaver (1968)开创性地使用事件研究法判别会计盈余报告的信息含量以证实会计信息的有用性以来,事件研究法得到了广泛的使用。 一、事件研究法定义 事件研究法就是研究在事件发生前后很短的时间内,投资者投资行为变化所引发的股票收益变化情况,并据此判断事件对股东财富和企业价值的影响。 事件研究法的理论基础是理性的市场模式,即市场的有效性。典型的事件研究需要构造并检验的假设是,某一特定事件发生后对于公司价值的影响。由于从长期来看,通过价格来反映公司的价值应该是符合逻辑的,所以在事件研究中运用证券市场的数据就可以很容易地建立这种测量关系。即如果事件对市场产生影响,这种影响会立刻通过资产的价格反应出来,所以通过一个较短时期内资产价格的观察量就可以测度事件的经济影响。 研究短期内的股东财富效应,并依此判断事件的实质,从理论上讲,依据有二: 一是事件公告时所包含的信息含量对市场的影响,这里的信息既包含事件本身的信息含量,也包括由于披露事件而使投资者了解到过去并不知道“内部信息”,这些信息会影响投资行为;

二是投资者行为所反映的对企业价值的预期,如果投资者认为事件具有积极的意义,就会提升预期,股票价格就会上升,反之,投资者对企业的预期下降,股票价格也会随之下降。因此,从投资者行为的结果,也就是股票收益率的变化,我们可以判断事件对企业的实质性影响,并对其做出合理评价。 二、事件研究法的步骤 事件研究法的基本过程包括确定事件及样本、确定研究窗口、计算超额收益并判断市场反应,大体上,可归纳为6个步骤: (1)定义事件。 进行事件分析的第一件事就是定义相关的事件并找出在该事件影响下,需要研究的特定公司股价变动的事件区间,这一区间称为事件窗口。事件窗口可以考虑用公告日那一天(通常为第0天)来定义,事件之前或之后的较短时期也具有研究价值,这样事件窗口可以根据研究的具体要求定义。 实际的研究设计中,研究窗口的确定通常以事件发生日为基准,一般将事件日确定为(0,1),即包括公告日和紧接着公告日的那一天,这样做的目的是为了获取公告日收市后该公告对股价可能产生的影响。在此基础上,可以根据研究的需要把时间窗口向前或向后顺延。向前顺延的时间窗口主要是判断事件在公告前有无信息“漏出”(这种情况常常

事件研究法

事件研究法(event study) 自从Ball和Brown(1968)以及Beaver (1968)开创性地使用事件研究法判别会计盈余报告的信息含量以证实会计信息的有用性以来,事件研究法得到了广泛的使用。 一、事件研究法定义 事件研究法就是研究在事件发生前后很短的时间内,投资者投资行为变化所引发的股票收益变化情况,并据此判断事件对股东财富和企业价值的影响。 事件研究法的理论基础是理性的市场模式,即市场的有效性。典型的事件研究需要构造并检验的假设是,某一特定事件发生后对于公司价值的影响。由于从长期来看,通过价格来反映公司的价值应该是符合逻辑的,所以在事件研究中运用证券市场的数据就可以很容易地建立这种测量关系。即如果事件对市场产生影响,这种影响会立刻通过资产的价格反应出来,所以通过一个较短时期内资产价格的观察量就可以测度事件的经济影响。 研究短期内的股东财富效应,并依此判断事件的实质,从理论上讲,依据有二: 一是事件公告时所包含的信息含量对市场的影响,这里的信息既包含事件本身的信息含量,也包括由于披露事件而使投资者了解到过去并不知道“内部信息”,这些信息会影响投资行为; 二是投资者行为所反映的对企业价值的预期,如果投资者认为事件具有积极的意义,就会提升预期,股票价格就会上升,反之,投资者对企业的预期下降,股票价格也会随之下降。因此,从投资者行为的结果,也就是股票收益率的变化,我们可以判断事件对企业的实质

性影响,并对其做出合理评价。 二、事件研究法的步骤 事件研究法的基本过程包括确定事件及样本、确定研究窗口、计算超额收益并判断市场反应,大体上,可归纳为6个步骤: (1)定义事件。 进行事件分析的第一件事就是定义相关的事件并找出在该事件影响下,需要研究的特定公司股价变动的事件区间,这一区间称为事件窗口。事件窗口可以考虑用公告日那一天(通常为第0天)来定义,事件之前或之后的较短时期也具有研究价值,这样事件窗口可以根据研究的具体要求定义。 实际的研究设计中,研究窗口的确定通常以事件发生日为基准,一般将事件日确定为(0,1),即包括公告日和紧接着公告日的那一天,这样做的目的是为了获取公告日收市后该公告对股价可能产生的影响。在此基础上,可以根据研究的需要把时间窗口向前或向后顺延。向前顺延的时间窗口主要是判断事件在公告前有无信息“漏出”(这种情况常常发生),如果有,它对投资者的预期产生何种作用,向后顺延的时间窗口主要是判断事件在公告后对市场的持续作用力,并据此判断事件对投资者预期的实质性影响。国外的一些研究表明,有时,市场对事件会产生“过度反应”,如果是这种情况,(1,0)事件日窗口的超额收益所反映的市场行为就不能真实反映出事件的影响力,这时,向后顺延的时间窗口就更可能反映事件的真实影响力。 概念:事件事件日事件窗口(事件期) (2)确定样本。在确定了事件以后,要选择纳入研究范围的特定公司。在本步骤中,整理出数据样本的某些特性非常有用(例如,

事件研究法的计算步骤

1.定义事件期 考察所得税优惠事件对上市公司股票价格影响的首要工作是确立一个事件期。事件期包括:事前估计期与事后观察期。 事前估计期,又称清洁期,其作用在于估计正常收益率,本文所选用的清洁期为[-5,0],即公告前的前5到前0个交易日,共5个交易日;事后观察期,又称时间窗,用于研究事件发生后股价的异常变化,探讨并购重组绩效的变化,确定事件窗的目的是为了获得并购重组事件对股票价格的全部影响. 事件窗的长短可以根据研究需要自行设定,就短期绩效研究一般为[-10, 10]。本文事件研究选择的事件窗是[0,5]. 即从事件宣布日起的前5后5 个交易日,共0个交易日 . 2.计算事件期[-5,0]内的样本公司股票价格和市场指数{沪、深指数)日收益率 r m,t 和r i,t (百分比收益率). r m,t = (P m,t – P m,t-1 )/P m,t-1 r i,t = (P i,t – P i,t-1 )/P i,t-1 在本文计算中将百分比收益率转换股票连续复利收益率和市场指数连续复利收益率. R m,t = In (r m,t +1) R i,t = In (r i,t +1) 3.计算预期正常收益率 建立在假设资本资产定价模型(CAPM) 成立的情况下,根据证券资本资产定价理论模型来计算正常收益率.选择所得税优惠政策颁布前段期间为事前估计期,以该期数据为样本,以市场指数收益率为解释变量,以个股收益率为被解释变量,进行回归得

R i,t =α i + β i R m,i + ε i,t 其中R i,t R m,i 分别为个股和市场指数的日收益率,且是股票的收益率对市场指 数收益率的回归系数,ε i,t 代表回归残差.回归后得到的α i, β i ,如果α i, β i ,在估计期内保持稳定,则可算出预期正常收益率为: R i,t =α i + β i R m,i 4.计算每只股票在[-5,5]内每日超常收益率(AR)。股票i在第t日的超长收益 率为:AR i,t = R i,t – R m,t 5.计算所有股票在[-5,5]内每日的超常平均收益率(Average Agnominal Return). 就是计算所有股票超常收益率的算术平均值.所有股票在第t 日的平均收益率为: 6.计算累积平均超常收益率CAR t ( CumulativeAverage Retum) 计算所有所观察上市公司股票在[-5,5] 内每日的累积超额收益率,第t 日的CAR 为: 7.检验假设 为了检验以上结果是否由股价随机波动引起的,对结果要作显著性统计验. 即检验CAR 与0 是否有显著差异. 本文对,是否显著区别于0进行统计检验。 检验假设为: H 0: AAR t = 0, CAR t = 0,检验统计量为:t AAR , t CAR

事件研究法SAS程序

libname my 'c:\teaching\renda'; options nodate nocenter nonumber ps=max ls=72 fullstimer; title' '; /* Dataset temp1 has each event's firm id and date */ /* Dataset temp2 has firm level stock returns */ /* Dataset temp3 has market indices returns */ proc sort nodupkey data=my.temp1 ;by Stkcd Trddt; proc sort data=my.temp2;by Stkcd Trddt; data temp3;set my.temp3;if Markettype=1; proc sort data=temp3;by Trddt;run; /* ------------------------------------------------- */ /* Merge the firm return data with event data */ /* ------------------------------------------------- */ data temp; merge my.temp1 my.temp2;by Stkcd Trddt; proc sort data=temp;by Trddt; /* ------------------------------------------------- */ /* Merge with market indicies file */ /* ------------------------------------------------- */ data temp; merge temp temp3; by Trddt; if stkcd=.then delete; run; proc sort data=temp; by Stkcd Trddt; /* -------------------------------------------------- */ /* create variable time that is zero the event day, negative before */ /* before the event day (for example ten days before the event day */ /* time = -10), and positive after the event day. */ /* ---------------------------------------------------------- */ data temp; set temp; by Stkcd; if first.Stkcd then count=0; count+1; data event; set temp; if eventdate=1; ecount=count; keep Stkcd ecount capchgdt; data event; set event; by Stkcd; if first.Stkcd then eventnumber=0; eventnumber+1;

事件研究法的计算步骤

事件研究法的计算步骤公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

事件研究法的计算步骤 1. 定义事件期 考察所得税优惠事件对上市公司股票价格影响的首要工作是确立一个事件期。事件期包括:事前估计期与事后观察期。 事前估计期,又称清洁期,其作用在于估计正常收益率,本文所选用的清洁期为[-5,0],即公告前的前5到前0个交易日,共5个交易日;事后观察期,又称时间窗,用于研究事件发生后股价的异常变化,探讨并购重组绩效的变化,确定事件窗的目的是为了获得并购重组事件对股票价格的全部影响.事件窗的长短可以根据研究需要自行设定,就短期绩效研究一般为[-10,10]。本文事件研究选择的事件窗是[0,5].即从事件宣布日起的前5后5个交易日,共0个交易日. 2. 计算事件期[-5,0]内的样本公司股票价格和市场指数{沪、深指数)日收益率r m,t 和r i,t (百分比收益率). r m,t =(P m,t –P m,t-1)/P m,t-1 r i,t =(P i,t –P i,t-1)/P i,t-1 在本文计算中将百分比收益率转换股票连续复利收益率和市场指数连续复 利收益率. R m,t =In(r m,t +1) R i,t =In(r i,t +1) 3. 计算预期正常收益率 建立在假设资本资产定价模型(CAPM)成立的情况下,根据证券资本资产定价理论模型来计算正常收益率.选择所得税优惠政策颁布前段期间为事前估计期,以该期数据为样本,以市场指数收益率为解释变量,以个股收益率为被解释变

量,进行回归得 R i,t =αi +βi R m,i +εi,t 其中R i,t R m,i 分别为个股和市场指数的日收益率,且是股票的收益率对市场指数收益率的回归系数,εi,t 代表回归残差.回归后得到的αi ,βi ,如果αi ,βi ,在估计期内保持稳定,则可算出预期正常收益率为: R i,t =αi +βi R m,i 4. 计算每只股票在[-5,5]内每日超常收益率(AR )。股票i 在第t 日的超长收益 率为:AR i,t =R i,t –R m,t 5. 计算所有股票在[-5,5]内每日的超常平均收益率(AverageAgnominalReturn).就 是计算所有股票超常收益率的算术平均值.所有股票在第t 日的平均收益率为: 6. 计算累积平均超常收益率CAR t (CumulativeAverageRetum) 计算所有所观察上市公司股票在[-5,5]内每日的累积超额收益率,第t 日的CAR 为: 7. 检验假设 为了检验以上结果是否由股价随机波动引起的,对结果要作显着性统计验.即检验CAR 与0是否有显着差异.本文对AAA A ,AAA A 是否显着区别于0进行统计检验。 检验假设为:H 0:AAR t =0,CAR t =0,检验统计量为:t AAR ,t CAR A AAA = AAR A A (AAA A ) √A

相关文档
最新文档