我现在的问题是这样:我自己搞了个ARMA(3,4)作Excel里面的1000次模拟给数字。Excel写成:
Sub ARMAgenerate()
stack = Range("Carma").Value
the_1 = Range("the1arma").Value
the_2 = Range("the2arma").Value
the_3 = Range("the3arma").Value
gam_1 = Range("gam1arma").Value
gam_2 = Range("gam2arma").Value
gam_3 = Range("gam3arma").Value
gam_4 = Range("gam4arma").Value
Sigma = Range("sigarma").Value
f2 = 0
f4 = 0
f3 = 0
f1 = 0
t1 = 0
t2 = 0
t3 = 0
For n = 1 To 1050
Xr = Rnd
f0 = WorksheetFunction.NormSInv(Xr) * Sigma
gen = stack + t1 * the_1 + t2 * the_2 + t3 * the_3 + f0 + f1 * gam_1 + f2 * gam_2 + f3 * gam_3 + f4 * gam_4
Range("dataarma").Cells(n, 1).Value = gen
t3 = t2
t2 = t1
t1 = gen
f4 = f3
f3 = f2
f2 = f1
f1 = f0
Next
End Sub
然后我用GMM去估,工具变量取了AR(5)-AR(7)开始的,直接变量取了AR(1)-Ar(3),而且两个矩阵都给了常数,结果答案差距很远。我用OLS直接估,倒也差距不多(想用此排除过程错误的可能性)。顺便说,w我取的是单位阵。
请问,毛病出在哪里?或者是不是我的系数给得不好?