[英]How to import time series in rda/RData file using quantmod R
我试图将股票时间序列保存在rda / RData文件中,然后在quantmod中调用它。
我已使用此代码将APL的股票时间序列下载并保存为rda / RData文件
data=getSymbols("AAPL",auto.assign=F)
save(data,file="AAPL.rda")
#Cleared environment
现在,我应该如何使用quantmod来调用此rda / RData文件。 试试这个
getSymbols('AAPL',src='rda')
但它显示此错误
fr [,-1]中的错误:维数不正确
下一个问题是,如果我有多个rda文件(如AAPL.rda,GOOG.rda,F.rda),在使用quantmod的环境中应如何调用这些文件。
已编辑
我想从getSymbols()而不是load()调用这一点,因为我需要对时间序列进行更多控制
例如
getSymbols('AAPL',src='rda',from="2010-02-02",to="2011-01-01")
从quantmod
包中的getSymbols()
的文档中:
当前可用的src方法为:yahoo,google,MySQL,FRED,csv,RData和oanda。
您可以执行以下操作来保存文件并随后加载它:
data <- getSymbols("AAPL",auto.assign=FALSE)
save(data,file="AAPL.rda")
(开始一个新的R会话,或清除环境等)
要检索以前保存的数据,我们可以使用
load(file = "AAPL.rda")
现在,具有AAPL时间序列的数据集data
再次可用。 注意,一个应的输出不分配load()
到一个对象,像data <- load(file=...)
这是一个经常引起混乱的常见错误。 此示例中的data
文件是使用load()
函数本身还原的。
例如,可以使用
data['2010-02-02::2011-01-01']
#> head(data['2010-02-02::2011-01-01'])
# AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume AAPL.Adjusted
#2010-02-02 195.91 196.32 193.38 195.86 174585600 25.75517
#2010-02-03 195.17 200.20 194.42 199.23 153832000 26.19832
#2010-02-04 196.73 198.37 191.57 192.05 189413000 25.25416
#2010-02-05 192.63 196.00 190.85 195.46 212576700 25.70257
#2010-02-08 195.69 197.88 194.00 194.12 119567700 25.52636
#2010-02-09 196.42 197.50 194.75 196.19 158221700 25.79856
编辑:
下面的示例说明了如何使用.RData
文件:
saveSymbols(getSymbols("AAPL"), file.path=getwd()) #saves 'AAPL.RData' in working directory
rm(AAPL)
data <- getSymbols("AAPL", src="RData", extension="RData", auto.assign=FALSE)
#> head(data)
# AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume AAPL.Adjusted
#2007-01-03 86.29 86.58 81.90 83.80 309579900 11.01952
#2007-01-04 84.05 85.95 83.82 85.66 211815100 11.26411
#2007-01-05 85.77 86.20 84.40 85.05 208685400 11.18389
#2007-01-08 85.96 86.53 85.28 85.47 199276700 11.23912
#2007-01-09 86.45 92.98 85.15 92.57 837324600 12.17276
#2007-01-10 94.75 97.80 93.45 97.00 738220000 12.75529
进一步编辑:
我可以在评论中确认@ Hack-R的发言。 尽管文档以相当隐蔽的方式对此进行了描述,但通过阅读有关getSymbols.rda()
的部分,可以清楚地看到src="rda"
选项仍受支持为getSymbols()
的有效参数。 实际上,它仍然适用于我的安装:
data <- getSymbols("AAPL",auto.assign=FALSE)
save(data,file="AAPL.rda")
rm(data)
data <- getSymbols("AAPL", src="rda", auto.assign=FALSE)
#>head(data)
# AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume AAPL.Adjusted
#2007-01-03 86.29 86.58 81.90 83.80 309579900 11.01952
#2007-01-04 84.05 85.95 83.82 85.66 211815100 11.26411
#2007-01-05 85.77 86.20 84.40 85.05 208685400 11.18389
#2007-01-08 85.96 86.53 85.28 85.47 199276700 11.23912
#2007-01-09 86.45 92.98 85.15 92.57 837324600 12.17276
#2007-01-10 94.75 97.80 93.45 97.00 738220000 12.75529
总之,在使用quantmod保存,加载和操纵时间序列后,我们似乎又回到了平方:在OP中描述的错误似乎不可重现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.