bysort id: gen t = _n
order id t
qui tab id
local N = r(r) (这一句的作用是什么?)
gen ret = firm_r - hush300
//这样处理后,ARCH模型中就不用加常数项了,否则很难收敛
*local N = 20 // test (为什么要这样做?)
mat R = J(`N', 2, .) // 记录系数的矩阵
forvalues i=1/`N' {
preserve
qui keep if id==`i'
qui tsset t
cap arch ret, arch(1) garch(1)
// 有些公司的估计可能无法收敛,所以我附加了cap命令
if _rc == 0{ (这一句的作用是什么?)
mat b = e(b)
mat R[`i', 1] = b[1,2..3]
}
restore
}
mat colnames R = arch garch
mat list R
bysort id: gen t = _n
order id t
qui tab id
local N = r(r) (这一句的作用是什么?)
答复:记录公司数目。
gen ret = firm_r - hush300
//这样处理后,ARCH模型中就不用加常数项了,否则很难收敛
*local N = 20 // test (为什么要这样做?)
答复:这一句是注释,建议你看看Stata简介中的内容。
mat R = J(`N', 2, .) // 记录系数的矩阵
forvalues i=1/`N' {
preserve
qui keep if id==`i'
qui tsset t
cap arch ret, arch(1) garch(1)
// 有些公司的估计可能无法收敛,所以我附加了cap命令
if _rc == 0{ (这一句的作用是什么?)
答复:上一句的注释中说明了这个处理的目的,至于 _rc,请输入 help _rc 查看说明。
mat b = e(b)
mat R[`i', 1] = b[1,2..3]
}
restore
}
mat colnames R = arch garch
mat list R