第一个问题,可以看看如下命令的帮助文件,如果还不清楚,我再进一步作答。
help pctile
help quantiles
help _pctile
help xtile
第二个问题,通常是按照年度进行排序。范例如下:
* -----------------------------------------
* -----------------------------------------
*
* Stata 学术论文专题
*
* -----------------------------------------
* -----------------------------------------
* 主讲人:连玉君 副教授
*
* 单 位:中山大学岭南学院金融系
* 电 邮: arlionn@163.com
* 博 客: http://blog.cnfol.com/arlion
* 主 页:http://goo.gl/tRXba
* 微 博:http://weibo.com/arlionn
*---------------------------------------------------------
*-Faulkender, 2006, JF-
* Faulkender, M., R. Wang, 2006,
* Corporate Financial Policy and the Value of Cash,
* Journal of Finance, 61(4): 1957-1990.
*---------------------------------------------------------
*---------------------
*-计算 5x5 组合收益率
*---------------------
dropvars MV_size g_MV g_tobin
gen MV_size = ln(mv_total)
*-每个年度内,按 Market Value 分成五组
qui tsset
bysort year: quantiles MV_size, gen(g_MV) n(5)
*-每个年度内,按 Market-to-Book ratio (Tobin) 分成五组
qui tsset
bysort year: quantiles tobin, gen(g_tobin) n(5)
*-每个年度内,计算 5x5 组合的市值加权平均收益 = 10*5*5 组基准收益
cap drop bench
gen bench = .
forvalues i=1999(1)2008{
forvalues j=1(1)5{
forvalues k=1(1)5{
qui sum return [weight=mv_atshr] ///
if (year==`i' & g_MV==`j' & g_tobin==`k')
qui replace bench = r(mean) ///
if (year==`i' & g_MV==`j' & g_tobin==`k')
}
}
}
sort year g_MV g_tobin
br year g_MV g_tobin return bench
*-计算超额收益率
gen overRet = return-bench // 超额收益率