3

たくさんの株の日中の履歴があります。毎日、株式間の1分間の相関を計算しようとしています。私の目的は、特定の取引戦略に最適なペアを特定するために、ある期間のペアごとの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)

私は取引日を取得します、誰かがどこmy.indexのサブセットを選択する方法について私にいくつかのガイダンスを教えてもらえますか?my.min.Amy.index[i] == day(my.min.A)

ありがとう

編集:

dput(head(my.min.A, 20))
structure(c(3575, 3630, 3649, 3630, 3614, 3612, 3612, 3616, 3615, 
3602, 3602, 3602, 3605, 3605, 3605, 3605, 3605, 3604, 3604, 3605, 
3682, 3630, 3649, 3630, 3614, 3612, 3612, 3616, 3615, 3602, 3602, 
3606, 3605, 3605, 3605, 3605, 3605, 3605, 3604, 3608, 3575, 3630, 
3649, 3630, 3612, 3612, 3610, 3616, 3615, 3602, 3602, 3601, 3604, 
3603, 3604, 3604, 3604, 3604, 3604, 3604, 3682, 3630, 3649, 3630, 
3612, 3612, 3610, 3616, 3615, 3602, 3602, 3604, 3604, 3604, 3604, 
3604, 3605, 3604, 3604, 3605), tclass = c("POSIXct", "POSIXt"
), tzone = "", class = c("xts", "zoo"), .indexCLASS = c("POSIXct", 
"POSIXt"), .indexTZ = "", index = structure(c(1352790059, 1352790290, 
1352790306, 1352790467, 1352790521, 1352790547, 1352790757, 1352791124, 
1352791222, 1352791466, 1352791576, 1352791750, 1352791859, 1352791891, 
1352791970, 1352792006, 1352792041, 1352792149, 1352792181, 1352792227
), tzone = "", tclass = c("POSIXct", "POSIXt")), .Dim = c(20L, 
4L), .Dimnames = list(NULL, c("minutes.Open", "minutes.High", 
"minutes.Low", "minutes.Close")))
4

1 に答える 1

4

これは再現可能な例で、日次データを使用し、価格間の月次相関を計算します。

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]))
于 2013-01-09T13:01:08.310 に答える