用 R 中的 getSymbols 数据替换排列列表
Replace list of permutations with getSymbols data in R
我下载了一些股票数据:
require("quantmod")
s <- c("AAPL", "ADBE", "ADI", "ADP", "ADSK")
e <- new.env()
getSymbols(s, src='yahoo', from='2015-01-10', env = e )
#get closing prices
close <- do.call(merge, eapply(e, function(x) Cl(x)))
我找到了所有符号名称对:
#find all the pairwise permutations
perm<-combn(s,2)
perm
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] "AAPL" "AAPL" "AAPL" "AAPL" "ADBE" "ADBE" "ADBE" "ADI" "ADI" "ADP"
[2,] "ADBE" "ADI" "ADP" "ADSK" "ADI" "ADP" "ADSK" "ADP" "ADSK" "ADSK"
我想获取每个名称的 "close" 数据,并替换 "perm" 的每对组,以便稍后分析这些对。
如果你想得到一个数据框列表,每对一个,你可以尝试:
dfs <- lapply(seq_len(ncol(perm)), function(x) close[,paste0(perm[,x], ".Close")])
现在您可以使用 dfs[[1]]
、dfs[[2]]
等获取每对的 2 列数据帧。您可以使用 lapply
函数对每对进行统计分析。这是一个简单的示例,您可以在其中获取每个配对数据框的摘要:
lapply(dfs, summary)
我下载了一些股票数据:
require("quantmod")
s <- c("AAPL", "ADBE", "ADI", "ADP", "ADSK")
e <- new.env()
getSymbols(s, src='yahoo', from='2015-01-10', env = e )
#get closing prices
close <- do.call(merge, eapply(e, function(x) Cl(x)))
我找到了所有符号名称对:
#find all the pairwise permutations
perm<-combn(s,2)
perm
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] "AAPL" "AAPL" "AAPL" "AAPL" "ADBE" "ADBE" "ADBE" "ADI" "ADI" "ADP"
[2,] "ADBE" "ADI" "ADP" "ADSK" "ADI" "ADP" "ADSK" "ADP" "ADSK" "ADSK"
我想获取每个名称的 "close" 数据,并替换 "perm" 的每对组,以便稍后分析这些对。
如果你想得到一个数据框列表,每对一个,你可以尝试:
dfs <- lapply(seq_len(ncol(perm)), function(x) close[,paste0(perm[,x], ".Close")])
现在您可以使用 dfs[[1]]
、dfs[[2]]
等获取每对的 2 列数据帧。您可以使用 lapply
函数对每对进行统计分析。这是一个简单的示例,您可以在其中获取每个配对数据框的摘要:
lapply(dfs, summary)