R 如何使用xts软件包计算日内数据的日平均相关系数?

R 如何使用xts软件包计算日内数据的日平均相关系数?,r,xts,R,Xts,我有很多股票的日内交易记录。我试图每天计算股票之间1分钟的相关性。我的目标是使用一段时间内每对的日平均值来确定特定交易策略的最佳对 我的想法是循环交易日,计算日内1分钟的相关性,计算所有交易日的平均值,下一对 然而,我却被困在交易日的循环中 my.xts.A <- xts(A_Frame[,-1], order.by=A_Frame[,1]) my.xts.B <- xts(B_Frame[,-1], order.by=B_Frame[,1]) my.min.A <- to.

我有很多股票的日内交易记录。我试图每天计算股票之间1分钟的相关性。我的目标是使用一段时间内每对的日平均值来确定特定交易策略的最佳对

我的想法是循环交易日,计算日内1分钟的相关性,计算所有交易日的平均值,下一对

然而,我却被困在交易日的循环中

my.xts.A <- xts(A_Frame[,-1], order.by=A_Frame[,1])
my.xts.B <- xts(B_Frame[,-1], order.by=B_Frame[,1])

my.min.A <- to.minutes(my.xts.A[,1],1,'minutes')
my.min.B <- to.minutes(my.xts.B[,1],1,'minutes')

my.day <- to.daily(my.xts.A[,1],1)

my.index <- index(my.day)

这里有一个可重复的例子,使用每日数据并计算价格之间的月度相关性

library(quantmod)
getSymbols("KO;PEP")
apply.monthly(merge(Cl(KO),Cl(PEP)), function(x) cor(x[,1],x[,2]))
在您的情况下,您可能需要以下内容:

apply.daily(merge(Cl(my.min.A), Cl(my.min.B)), function(x) cor(x[,1],x[,2]))

提问者想知道如何对一天中的特定时间进行子集划分。使用
xts
符号,如
x[“T09:30/T11:00”]
很容易做到这一点。这与你的情况有关吗?基于时间的子集已经处理好了。我的问题是如何根据日期进行子集划分?您是否可以编辑您的问题,以包括
dput(head(my.min.A,20))
或类似的输出,以便我们可以看到您的数据是什么样子。@E.D.my.index[i]==day(my.min.A)?我在这里是什么?在本例中,我指的是my.index中的观察值,因为my.index包含样本中的所有交易日。my.min.a(以及my.min.B)将包含打开/关闭/高/。。对于给定的时段..可能建议
apply.daily(merge(my.min.A,my.min.B),function(x)cor(x[,1],x[,5])
谢谢大家,很有魅力,我只是在两支股票中有一支没有交易的时段添加了na.locf()。
apply.daily(merge(Cl(my.min.A), Cl(my.min.B)), function(x) cor(x[,1],x[,2]))