现有321家公司,已处理为平衡面板,时间有185个月份。
希望在一次模拟中,对321家公司的重复抽样出来的月份使相同的。同时希望运行1000次这样的模拟。
代码如下:
mat bs_alpha_t = J(321,1000,0) /*一列为一次模拟的t*/
quietly{
forvalues j = 1/1000{
forvalues i=1/321{
preserve
set seed 1234
bsample 185 if id==`i'
reg bs_growth mkt_rf smb hml umd if id==`i'
mat bs_alpha_t[`i',`j'] = (_b[_cons])/(_se[_cons])
restore
}
}
svmat bs_alpha_t, name(bs_t_alpha)
}
如果在第二次循环中设置种子数(如上),可以保证321公司对应的可重复月份样本相同,但是往后的模拟会和前面的相同。
将种子数设置在其他地方,则无法保证在一次模拟中的321公司对应的可重复月份样本相同。
是否有更好的函数使得一次模拟的321个可重复月份样本相同,又能够使1000次模拟可重复。