時間序列

R中多個時間序列數據幀的增強Dickey-Fuller檢驗/單位根檢驗

  • August 2, 2020

我有一個數據集/數據框,我在其中計算了五千家公司的每日日誌回報,這些公司也是列。我想對這個數據框進行 ADF 測試。我找到瞭如何估計向量上的 ADF 測試,但找不到如何在數據幀或矩陣結構上計算它。此外,在估計公司的 ADF 測試時,如何省略日期列。在此處輸入圖像描述

圖片說明了我的數據集的某些部分。我執行的程式碼和收到的錯誤如下

library(tseries)
adf.test(logs, alternative = c("stationary", "explosive"),
    k = trunc((length(1)-1)^(1/3)))


Error in adf.test(logs, alternative = c("stationary", "explosive"), k = trunc((length(1) -  :  x is not a vector or univariate time series

從文章中不清楚您是否正在查詢循環系列的機制/程式碼或適當的臨界值。我在這裡對後者發表評論。

測試多個假設時的主要缺陷之一是某個百分比會在 null 下失敗(因為這個 xkcd 條很好地說明了https://xkcd.com/882/)。

如果您對 10,000 隻股票進行 DF 測試,即使它們都是獨立的隨機遊走,您也會期望 500 只以 5% 的可信度顯示為均值回歸。人們需要通過降低置信水平來解釋這一特徵。

如果您的測試是獨立的,那麼您可以對置信水平進行 Bonferroni 類型的調整以合併多倍測試 ( https://en.m.wikipedia.org/wiki/Bonferroni_correction )。但是股票不是獨立的,因此您的 t 統計量也不是獨立的。為了說明它們的相關性,我將在 t-stats 向量上使用自舉臨界值。

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