我在这里看到您应该drop在将(单列)XTS 对象传递给ccf(互相关)函数时使用。(样本数据比较大,我把它放在一个要点中)
library(xts)
gist="https://gist.github.com/raw/3291932"
tmp1=dget(file.path(gist,"e620647218626929b4ee370a05aa7748b2f9a32b/tmp1.txt"))
tmp2=dget(file.path(gist,"49b732db3eafa52f96006e3b1bb0be28380f5df0/tmp2.txt"))
ccf(drop(tmp1),drop(tmp2)) #Weird?
Run Code Online (Sandbox Code Playgroud)
我预计在lag=0 附近会有一个小峰值,两边大部分都是噪音。相反,我得到了一条直线:

那是400个酒吧。我在数千条柱的完整数据上得到了同样的线条。但是如果我只使用该数据的尾端 100 条,我会得到更接近我预期的结果:(50 条看起来更合理)

如果这是一个ccf错误,我使用 xts 对象的方式有问题,我对ccf正在做的事情的误解,或者我神奇地发现了击败股票市场的公式,我有点难倒……
您的结果并不令人惊讶,因为您正在查看股票价格之间的互相关。价格通常在几个滞后时具有高序列自相关。
acf(tmp1)
acf(tmp2)
Run Code Online (Sandbox Code Playgroud)
大多数相关性分析是在Returns上完成的,这会创建更像您似乎期望的东西:
ccf(drop(diff(tmp1,na.pad=FALSE)),drop(diff(tmp2,na.pad=FALSE)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1488 次 |
| 最近记录: |