我已經使用getsymbols
函數加載並保存了300多個股票的歷史數據。現在我試圖用新的日常數據更新我的歷史數據集,但它不起作用。我嘗試使用merge()
和rbind()
,但它似乎不適用於環境。感謝您對此問題的幫助!如何使用每日庫存數據更新我的xts環境?
這裏是我的代碼:
load.packages('quantmod')
tickers = spl('A,AA,AAL,AAP,AAPL,ABT,ACN,ADBE,ADI,ADM,ADP,ADS,AEE,AEP')
getSymbols(tickers, src = 'yahoo', from = '2010-01-01' , env = data, auto.assign = TRUE)
save(data, file="myTickersData.rda")
現在,我想今天的數據附加它,而無需重新運行這一切再次從2010,因爲它會佔用大量的時間。
data.today = new.env()
getSymbols(tickers, src = 'yahoo', from = '2015-10-14' , env = data.today, auto.assign = T)
updated.data = merge(data,data.today)
我收到此錯誤:
Error in as.data.frame.default(x) :
cannot coerce class ""environment"" to a data.frame
哪裏了'load.packages'和'spl'功能從何而來? –
對不起約書亞我忘了提及!這些函數來自SIT(系統投資工具箱) con = gzcon(url('http://www.systematicportfolio.com/sit.gz','rb')) 來源(con) 關閉(con) load.packages('quantmod') #tickers = dow.jones.components() tickers = spl('SPY,SHY,AAPL,ADBE,AMZN,DHI,DIS') –
追加數據是一個非常糟糕的主意!歷史股票數據在每次分紅,拆分或現金分配後都在變化。因此,在將數據附加數月之後,這實際上是無用的。你真的應該每天下載它,或者如果你有這方面的知識,並且你準備投入時間和精力,你可以用原始數據維護一個數據庫,並且自己完成所有必要的工作。 (保留公司行爲調整因素,現金股利調整因素,變更符號的映射,例如合併,分拆等) – hvollmeier