回測

平均回報的 t 統計量,使用 Newey-West 標準誤差

  • June 6, 2015

我已經看到,在幾篇旨在評估某種投資策略的績效的論文中,他們使用 t 統計量來檢驗結果的顯著性。然而,這對我來說似乎有點奇怪,因為 t 統計假設你有一些理論平均值,而觀察到的平均值偏離了,這在文章中沒有說明。我所指的特定文章是Gatev 等人的*“配對交易:相對價值套利規則的表現”。*還有其他幾個使用類似的測試。

所以我的第一個問題是這些 t 統計量告訴他們什麼(或者我不明白什麼)?

此外,我想知道如何在 Matlab 中計算以這種方式使用的 Newey-West 標準誤差。據我了解,沒有內置功能可以做到這一點。經過一些Google搜尋,我可以找到一個程式碼,雖然它似乎有幾個缺陷(如果我理解關於它的對話)所以我猜它是不可用的。

似乎之前已經提出了幾個類似的問題但沒有成功(https://stats.stackexchange.com/questions/43898/newey-west-t-statistics),希望這次我幸運一點!

注意:我不確定我是否可以像這樣交叉發布,我最初在 stats.stackexchange 上提出了這個問題,但沒有成功。但由於它涉及到某種程度的量化交易,我想我不妨試著在這裡問一下。

在這種情況下,t 統計量用於確定收益是否在統計上不同於零(理論平均值)。一個小的 t 統計量意味著不能拒絕原假設(沒有顯著的超額收益)。Newey-West 標準誤差用於校正誤差項隨時間的相關性。

我編寫了一個 Matlab 函式來計算 Newey-West 標準誤差,並可以選擇由 Newey-West (1994) 外掛程序確定滯後長度。

為了使用程式碼,您需要計算回歸殘差矩陣。

function nwse = NeweyWest(e,X,L)
% PURPOSE: computes Newey-West adjusted heteroscedastic-serial
%          consistent standard errors
%---------------------------------------------------
% where: e = T x n vector of model residuals
%        X = T x k matrix of independant variables
%        L = lag length to use
%
%        se = Newey-West standard errors
%---------------------------------------------------

indexxx = sum(isnan(X),2)==0;
X = X(indexxx,:);
e = e(indexxx,:);

[N,k] = size(X);
k = k+1;
X = [ones(N,1),X];


if nargin < 3
% Newey-West (1994) plug-in procedure
L = floor(4*((N/100)^(2/9)));
end


Q = 0;
for l = 0:L
   w_l = 1-l/(L+1);
   for t = l+1:N
       if (l==0)   % This calculates the S_0 portion
           Q = Q  + e(t) ^2 * X(t, :)' * X(t,:);
       else        % This calculates the off-diagonal terms
           Q = Q + w_l * e(t) * e(t-l)* ...
               (X(t, :)' * X(t-l,:) + X(t-l, :)' * X(t,:));
       end
   end
end
Q = (1/(N-k)) .*Q;

nwse = sqrt(diag(N.*((X'*X)\Q/(X'*X))));

end

我認為這段程式碼可以解決您的問題。在您的情況下, h0 為零,而 lag 可以設置為等於 6(或 5)

函式 y=NWtest(ret,lag,h0)

T=size(ret,1);
vv=var(ret);

for l=1:1:lag

   cc=cov(ret(1:end-l),ret(l+1:end));
   vv=vv+2*(1-l/lag)*cc(1,2);
end

y=(mean(ret)-h0)/sqrt(vv)*sqrt(T);

結尾

引用自:https://quant.stackexchange.com/questions/7728