悬赏 5 个论坛币 未解决
我需要做如下时间序列回归:rj,t = a1 + a2*rm,t-1+ a3*rm,t +a4*rm,t+1 + ej, t
其中,r j,t 是每个上市公司股票的周回报率,r m,t 是每周股市的综合回报率,残差表示每个上市公司每周的特殊回报率(weekly firm—specific return)。
现在的问题是,我需要对每年都对每一家上市公司进行上述回归获得残差项,参考了先前一位楼主发的跟我做的一样回归的帖的代码,但是报错说no observation变量类型改过了,不知道哪里有问题求指点,还有的问题是我的数据是非平衡面板数据不知道可不可以这样做。代码如下:
stkcd是公司代码 wretwd是每周股票收益率 marketreturn是每周股市的综合回报率
egen w123 = group(year1 week1)
tsset stkcd w123
xtdes
global N = r(N)
global firmreturn "wretwd"
global marketr "L.marketreturn L2.marketreturn marketreturn F.marketreturn F2.marketreturn"
cap drop res
gen res = .
forvalues i = 1/$N{
qui reg $firmreturn $marketr if (w123==`i')
qui predict e if e(sample), res
qui replace res = e if e(sample)
drop e
}