老师:
您好
我想用每只股票的周数据对对应的市场收益率数据做回归,并且保存每个回归的残差。我试过您给出的命令,之后又单独对几只股票做了回归,发现两者的残差不一样。
(您给出的命令):
假设变量安排如下:
id year month y x1 x2 x3
则处理命令如下:
*-月份重新编码 1,2,3 ……
gen res = .
egen m123 = group(year month) , label lname(year_month)
sum m123
global N = r(max)
*-分年度、月份回归分析
cap drop res
cap drop e
gen res = .
forvalues i = 1/$N{
qui reg y x1 x2 x3 if (m123==`i')
qui predict e if e(sample), res
qui replace res = e if e(sample)
drop e
}
我按照命令,对2000年的部分股票先做了如下回归(略有变动):
gen res = .
egen w123 = group(week) , label lname(week)
sum w123
global N = r(max)
cap drop res
cap drop e
gen res = .
forvalues i = 1/$N{
qui reg rt rmt_2 rmt_1 rmt rmt1 rmt2 if (w123==`i')
qui predict e if e(sample), res
qui replace res = e if e(sample)
drop e
}
然后,我又对前3只股票单独做了回归,分别得到e1,e2,e3的残差。
reg rt rmt_2 rmt_1 rmt rmt1 rmt2 if code==1
predict e1 if e(sample)
reg rt rmt_2 rmt_1 rmt rmt1 rmt2 if code==2
predict e2 if e(sample)
reg rt rmt_2 rmt_1 rmt rmt1 rmt2 if code==3
predict e3 if e(sample)
这样,回归的残差(res 和e1,e2,e3)就不一样了。如果这样,之后的分析结果也会不一样了。急盼老师您能进一步指导下。
(注:附件表格里有具体的数据结果,方便您查看)