有无数只代码不连续的股票,目的是从2007年6月底开始,求前六个月的股票回报(return)的平均值并对所有股票进行排序,每个月循环求(比如六月底求1-6月的,7月底求2-7月的,以此类推),一直求到2015年12月。每个月排序结束之后选前二百分之一和最后二百分之一的股票组合,然后再买入最高组合卖出最低组合,持有一个月,全部卖出,得到收益。
我目前写了前六个月股票循环求平均的部分,但是得到了108组数据(应该得到103组,因为第一年是6月才开始),而且结果没有按年分开,所以觉得不太对。后面的步骤知道用 gsort -m_return 和gen g_stocks=group(200),但也不知道放在哪,而且是不是还需要把之前的表格合并在一起?要如何操作呢?求助!
local j=2007
while `j'<2016 {
drop if Year<`j' & Year>`j'
local i=1
while `i'<6 {
preserve
drop if mon>`i' & mon<`i'+7
replace Year=Year+1 if mon>`i'+6
collapse (mean) meanReturn=Return, by(FirmIdentifier Year)
summarize
local i=`i'+1
restore
}
while `i'>5 & `i'<13 {
preserve
drop if mon>`i' & mon<`i'-6
collapse (mean) meanReturn=Return, by(FirmIdentifier Year)
summarize
local i=`i'+1
restore
}
local j=`j'+1
}


雷达卡


京公网安备 11010802022788号







