*修正一下,以过去的观测值数求均值:
sort stkcd date fep
by stkcd: g m=sum(fep[_n-1])
by stkcd: replace m=m[_n-1] if date==date[_n-1]
by stkcd: g n=_n-1
by stkcd: replace n=n[_n-1] if date==date[_n-1]
replace m=m/n
需要注意:这种情况下变量组stkcd date无法定义panel data。这时以往值的均值怎么求?
sort stkcd date fep
by stkcd: g m=sum(fep[_n-1])
by stkcd: replace m=m[_n-1] if date==date[_n-1]
by stkcd: g n=_n-1
by stkcd: replace n=n[_n-1] if date==date[_n-1]
replace m=m/n
sungmoo 发表于 2012-3-27 15:10
*不能存在缺失值
bys stkcd (date): egen b=sum(a/_n)
恩,谢谢sungmoo版主的回复,可是b的运算法则就是a在预测之前所有的预测值的算术平均值,所以按照这样的逻辑b的第一个值应该就没有吧,因为2005-03-01是第一条记录,执行命令出现错误
" factor variables and time-series operators not allowed"
数据是从2005年到2010年,要求每个公司内部计算一次,应该是双嵌套循环吧,实在是出不来结果。谢谢你的解答!
*以过去日期个数求均值:
sort stkcd date fep
egen t=tag(date)
by stkcd: g n=sum(t)-1
by stkcd: g m=sum(fep[_n-1])
by stkcd: replace m=m[_n-1] if !t
by stkcd: replace m=m/n