我正在尝试使用GLS回归从Fama Macbeth过程计算RSquared,但是由于某种原因,我得到了负值,所以我想知道问题出在哪里。
Fama Macbeth过程使用许多因子_ {kt},k = 1,...,K(类似于面板数据)来解释return_ {it},i = 1,..,N
,t = 1,...,T
。
它有两个步骤。
1.对因子收益进行时间序列回归以获得因子负荷beta_k
2.对估计的beta_k进行收益的横截面回归以获得风险价格
我正在使用GLS程序调整beta_k。
我想知道在计算预测值以计算R2时,我们是否要获取每个时间段的残差或平均投资组合收益,即残差y_{i,t}−\hat{y}_{i,t}
(i×t
的残差数)或仅y_i−\hat{y}_i
(残渣数i
)。
这就是我尝试的:对于一系列因素和回报:
[Tf,K] = size(factors);
[T,N] = size(returns);
% Time series regressions
X = [ones(T,1) factors];
alphaBeta = X\returns;
alpha = alphaBeta(1,:)';
beta = alphaBeta(2:end,:)';
beta = [ones(N,1),beta];
% Cross-sectional regression
EReturns = mean(returns)';
lambda = beta\EReturns;
miReturns = beta*lambda;
%GLS estimation
u2 = cov(returns);
Sigma_u = u2/T;
lambda_GLS = inv((beta'*inv(Sigma_u)*beta))*beta'*inv(Sigma_u)*EReturns;
miReturns_GLS = beta*lambda_GLS;
%R Square calculation
u = EReturns-miReturns_GLS;
RSS_GLS = norm(u-mean(u))^2; % Regression sum of squares.
TSS_GLS = norm(EReturns-mean(EReturns))^2;
R2_GLS = 1-RSS_GLS/TSS_GLS;
R2_adj_GLS = 1-((N-1)/(N-K))*RSS_GLS/TSS_GLS;
问题是我得到的RSquare(R2_GLS)值为负。 任何建议将不胜感激!