组合由 getSymbols 创建的多个 xts 对象
Combine multiple xts objects created by getSymbols
我正在尝试进行一些股票投资组合模拟。使用包 'quantmod' 我已经下载了多种证券的价格数据。我想完成两件事。
1) 我想创建一个 list/array 的 xts 对象,其中每个证券代码将对应于列表中的一个时间序列对象。
2) 更重要的是,我想创建一个时间序列数据框,其中包含按天调整的每种证券的股价。
我有以下代码,可以下载所有价格数据。
library(quantmod)
tickers <- c("SNC.TO", "PHII", "HBC.TO", "GTE", "MOO",
"MND.TO", "STKL", "SXC","XIU.TO")
for(i in tickers) {
getSymbols(i, from = "2010-06-30", to = "2015-06-30")
}
这是我到目前为止尝试创建的数据帧列表
pframe <- list()
for(i in tickers) {
pframe[[i]] <- assign(i)
}
最简单的方法是将所有数据加载到新环境中。然后您可以使用 eapply
将所有调整后的关闭列提取到列表中。最后,您可以使用 do.call
将列表中所有调整后的收盘价合并为一个 xts 对象。
library(quantmod)
tickers <- c("SNC.TO", "PHII", "HBC.TO", "GTE", "MOO",
"MND.TO", "STKL", "SXC","XIU.TO")
dataEnv <- new.env()
getSymbols(tickers, from="2010-06-30", to="2015-06-30", env=dataEnv)
plist <- eapply(dataEnv, Ad)
pframe <- do.call(merge, plist)
我正在尝试进行一些股票投资组合模拟。使用包 'quantmod' 我已经下载了多种证券的价格数据。我想完成两件事。
1) 我想创建一个 list/array 的 xts 对象,其中每个证券代码将对应于列表中的一个时间序列对象。
2) 更重要的是,我想创建一个时间序列数据框,其中包含按天调整的每种证券的股价。
我有以下代码,可以下载所有价格数据。
library(quantmod)
tickers <- c("SNC.TO", "PHII", "HBC.TO", "GTE", "MOO",
"MND.TO", "STKL", "SXC","XIU.TO")
for(i in tickers) {
getSymbols(i, from = "2010-06-30", to = "2015-06-30")
}
这是我到目前为止尝试创建的数据帧列表
pframe <- list()
for(i in tickers) {
pframe[[i]] <- assign(i)
}
最简单的方法是将所有数据加载到新环境中。然后您可以使用 eapply
将所有调整后的关闭列提取到列表中。最后,您可以使用 do.call
将列表中所有调整后的收盘价合并为一个 xts 对象。
library(quantmod)
tickers <- c("SNC.TO", "PHII", "HBC.TO", "GTE", "MOO",
"MND.TO", "STKL", "SXC","XIU.TO")
dataEnv <- new.env()
getSymbols(tickers, from="2010-06-30", to="2015-06-30", env=dataEnv)
plist <- eapply(dataEnv, Ad)
pframe <- do.call(merge, plist)