2017-06-08 42 views
0

我在調用periodReturns函數時從Xts包得到以下錯誤。我已經從github升級了Quantmod和Xts包,但仍然存在錯誤。 任何人都可以建議如何解決這個問題?Xts計算返回時出錯

感謝,

getSymbols('AAPL', src = 'yahoo', from = '2016-01-01', auto.assign = T) 

> periodReturn(AAPL,by=years,from='2003-01-01') 
Error in lag.xts(x1, K.) : 
INTEGER() can only be applied to a 'integer', not a 'double' 

> sessionInfo() 
R version 3.4.0 (2017-04-21) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows 8.1 x64 (build 9600) 

Matrix products: default 

locale: 
[1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252 LC_MONETARY=English_Australia.1252 
[4] LC_NUMERIC=C      LC_TIME=English_Australia.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] PerformanceAnalytics_1.5.1 quantmod_0.4-9    TTR_0.23-1     xts_0.10-0     
[5] zoo_1.8-0     

loaded via a namespace (and not attached): 
[1] Rcpp_0.12.10    lattice_0.20-35   codetools_0.2-15   IKTrading_1.0    
[5] foreach_1.4.4    grid_3.4.0    curl_2.6     boot_1.3-19    
[9] blotter_0.11.3   iterators_1.0.8   FinancialInstrument_1.2.0 compiler_3.4.0   
[13] quantstrat_0.10.0   
+0

這看起來非常類似於[xts issue#180](https://github.com/joshuaulrich/xts/issues/180)中討論的內容。嘗試從GitHub重新安裝xts和/或重新啓動RStudio。還要注意'by'不是'periodReturn'的參數,因此被忽略......這是很好的,因爲'by = years'可能會返回一個錯誤,否則(可能意味着'by =「years」')。 –

回答

0

我無法重現你的錯誤。雖然您正在下載數據from = '2016-01-01'並計算返回from='2003-01-01'您的代碼仍然適用於我。也許你可以嘗試解決這個問題,看看?

> getSymbols('AAPL', src = 'yahoo', from = '2016-01-01', auto.assign = T) 
[1] "AAPL" 
> class(AAPL) 
[1] "xts" "zoo" 
> periodReturn(AAPL, by = years, from = '2003-01-01') 
      monthly.returns 
2016-01-29 -5.135956e-02 
2016-02-29 -6.677563e-03 
2016-03-31 1.272106e-01 
2016-04-29 -1.399211e-01 
2016-05-31 6.528700e-02 
2016-06-30 -4.265975e-02 
2016-07-29 9.006277e-02 
2016-08-31 1.813645e-02 
2016-09-30 6.550429e-02 
2016-10-31 4.334348e-03 
2016-11-30 -2.659859e-02 
2016-12-30 4.795515e-02 
2017-01-31 4.774649e-02 
2017-02-28 1.288835e-01 
2017-03-31 4.868968e-02 
2017-04-28 -6.967841e-05 
2017-05-31 6.341804e-02 
2017-06-08 1.459813e-02