簡體   English   中英

如何使用Quantmod R在rda / RData文件中導入時間序列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM