这是Cochrane《Asset Pricing》教材中关于GMM应用的描述,在matlab中估计b1时,我编写了下面一段程序:
f = data2(:,2:4);
ex_return = data(:,2:size(data,2));
d = zeros(size(data,2)-1,size(f,2));
for i = 1:1:size(data,1)
d = d + ex_return(i,:)'*f(i,:);
end
d = d/size(data,1);
b1 = inv(d'*d)*d'*data_mean;
其中f是FF因素构成的矩阵,ex_return是超额收益率构成的矩阵,但是这样计算出来的估计值b1和我之前用cross-sectional以及Fama-Macbeth方法计算的估计值差异很大,求原因。。。