我需要将所有S&P500股票的收盘价调整为一个xts对象。
getSymbols("AAPL;AMZN;...")
我知道如何单独做
AAPL <- AAPL[,6]
AMZN <- AMZN[,6]
但是这样做500次会太多。
最后,我想合并它们。另外,我想合并它们。像这样
S&P <- AAPL;AMZN
答案 0 :(得分:0)
使用environment
分配股票,然后可以提取所需的股票。如果需要调整的列,Ad
会更好。
e <- new.env()
stks <- "AAPL;AMZN;IBM;MSFT;GOOG;TSLA"
getSymbols(stks, env = e)
sp=eapply(env = e,Ad)
spf=do.call("merge",sp)
tail(spf)
# > tail(spf)
# TSLA.Adjusted AAPL.Adjusted IBM.Adjusted GOOG.Adjusted AMZN.Adjusted MSFT.Adjusted
# 2019-05-31 185.16 175.07 126.99 1103.63 1775.07 123.68
# 2019-06-03 178.97 173.30 128.27 1036.23 1692.69 119.84
# 2019-06-04 193.60 179.64 132.69 1053.05 1729.56 123.16
# 2019-06-05 196.59 182.54 131.49 1042.22 1738.50 125.83
# 2019-06-06 205.95 185.22 132.22 1044.34 1754.36 127.82
# 2019-06-07 204.50 190.15 133.31 1066.04 1804.03 131.40