本篇文章說明 quantmod 套件的使用方法與遭遇錯誤 "Errors Downloading Stock Price Data from Yahoo Finance" 的解決方法.
library(quantmod)
getSymbols("IBM", from="2010-1-1")
在使用 quantmod 套件時, 如果資料下載顯示有錯誤, 參考以下步驟設定, 如果一般安裝與下載皆正常, 則不用使用此方法.
步驟1: 下載 Rtools 程式, 本程式具有建立套件等輔助工具
連結 http://cran.csie.ntu.edu.tw/bin/windows/Rtools/ , 選取 Rtools Downloads 下載.
步驟2: 安裝 Rtools 程式, 使用預設安裝選項,不可更改安裝路徑, 安裝完成後的目錄為 C:\Rtools
步驟3: 在 RStudio 程式中安裝 devtools 套件, 輸入 install.packages("devtools")
步驟4: 在 RStudio 程式中輸入以下R程式即可完成 quantmod 安裝.
# 參考: https://robotwealth.com/solved-errors-downloading-stock-price-data-yahoo-finance/
# end
安裝 quantmod 套件
install.packages("quantmod")library(quantmod)
下載財金資料 - Input
使用 getSymbols 函數以下載財金資料, 該函數預設的資料來源是 yahoo finance, 使用 from 參數可設定開始日期, 同理to參數可設定結束日期, 本例使from參數getSymbols("IBM", from="2010-1-1")
理解財金資料 - Process
- 使用 class 函數可知回傳物件是xts物件與zoo物件, 其中 xts 物件延伸來自於 zoo物件(注意: zoo不是動物園物件 ^_^).
- 使用 str 函數, 可知資料有1877列, 6欄資料.
- summary函數結果顯示 Index 屬性 為年月日資料
- head 結果是從2010年1月4日開始, tail 結果表示資料至2017年6月16日結束.
- 使用?periodReturn 可查詢計算報酬率的使用, 包括週,日,月,季的報酬率.
繪製結果 - Output
- plot 函數即可繪製資料圖形, 預設是以 Close 欄位為主
- plot(IBM, major.ticks='years') , major.ticks 參數可顯示主要縱軸刻度位置, 本例為年, 此時圖形會較簡潔.
- chartSeries(IBM) 提供收盤價(Close)與成交量(Volume)股票圖.
台股範例
台股使用的符號是 ^TWII, 如果有 NA, 可配合na.omit 將該NA資料刪除.
getSymbols("^TWII", from="2010-1-1")
程式碼
# 安裝 quantmod 套件
install.packages("quantmod")
library(quantmod)
# 下載財金資料
getSymbols("IBM", from="2010-1-1")
# 理解財金資料
class(IBM)
str(IBM)
summary(IBM)
head(IBM)
tail(IBM)
# ?periodReturn
allReturns(IBM)
periodReturn(IBM, period='monthly',subset='2013::') # 回傳自2013年至目前報酬率
periodReturn(IBM, period='yearly',subset='2013') # 回自2013年報酬率
monthlyReturn(IBM, subset='2013::')
yearlyReturn(IBM, subset='2013::')
# 繪製結果
plot(IBM)
plot(IBM, major.ticks='years')
chartSeries(IBM)
# 台股範例,讀取資料-台灣加權指數 TWII (TSEC weighted index)
getSymbols("^TWII", from="2010-1-1")
dim(TWII)
summary(TWII)
chartSeries(TWII)
!!!Errors Downloading Stock Price Data from Yahoo Finance
在使用 quantmod 套件時, 如果資料下載顯示有錯誤, 參考以下步驟設定, 如果一般安裝與下載皆正常, 則不用使用此方法.
步驟1: 下載 Rtools 程式, 本程式具有建立套件等輔助工具
連結 http://cran.csie.ntu.edu.tw/bin/windows/Rtools/ , 選取 Rtools Downloads 下載.
步驟2: 安裝 Rtools 程式, 使用預設安裝選項,不可更改安裝路徑, 安裝完成後的目錄為 C:\Rtools
步驟3: 在 RStudio 程式中安裝 devtools 套件, 輸入 install.packages("devtools")
步驟4: 在 RStudio 程式中輸入以下R程式即可完成 quantmod 安裝.
devtools::install_github("joshuaulrich/quantmod", ref="157_yahoo_502")
# 參考: https://robotwealth.com/solved-errors-downloading-stock-price-data-yahoo-finance/
# end