【问题标题】:R: Why this strange ccf result with xts dataR:为什么这个奇怪的 ccf 结果与 xts 数据
【发布时间】:2012-08-08 04:13:07
【问题描述】:

我看到here 在将(单列)XTS 对象传递给ccf(互相关)函数时应该使用drop。 (样本数据挺大的,我就放in a gist

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?

我预计在 lag=0 附近会出现一个小峰值,两边大部分都是噪音。相反,我得到了一条直线:

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

如果这是 ccf 错误、我使用 xts 对象的方式有问题、我对 ccf 所做的事情的误解,或者我神奇地发现了击败股票的公式,我有点难过市场...

【问题讨论】:

  • @JoshuaUlrich 感谢您编辑代码以将其直接链接到 gist;我不知道这是可能的。但是,由于“不支持的 URL 方案”,我得到“无法打开连接”;我需要配置一些东西,还是加载另一个包?
  • 这很奇怪。它对我有用。我正在使用 R-2.15.1。也许您使用的是旧版本?
  • @JoshuaUlrich 这很奇怪,因为我也在使用 2.15.1。我也用--vanilla 启动了 R,得到了同样的抱怨。
  • @JoshuaUlrich 实际上我已经看过了,但不确定它是否相关。那你在Windows上吗? (我在 Linux 上)

标签: r correlation xts


【解决方案1】:

您的结果并不令人惊讶,因为您正在查看股票价格之间的交叉相关性。价格通常在几个滞后处具有高度的序列自相关性。

acf(tmp1)
acf(tmp2)

大多数相关性分析都是在 returns 上完成的,这会产生更像您预期的结果:

ccf(drop(diff(tmp1,na.pad=FALSE)),drop(diff(tmp2,na.pad=FALSE)))

【讨论】:

  • 感谢 Joshua,这确实创造了我所期待的那种嘈杂的图表。我在内部不明白为什么使用原始价格会给出看起来很正常的图表...我想我可能不得不在源代码中四处寻找。
  • 达伦,想象一下一系列股票价格。你会期待这样的东西:58 美元、57 美元、62 美元、64 美元……等等。你不会期待这样的东西:2 美元、500 美元、4 美元、32 美元、1 美元、600 美元。这是因为某一时间点的价格相对接近之前的价格。因此,您希望及时收盘的价格相似。
猜你喜欢
  • 2019-12-11
  • 2013-05-12
  • 2016-12-03
  • 2022-01-11
  • 2021-05-11
  • 2022-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多