Python 如何利用 pandas-datareader 抓取股票資料!3分鐘讓你了解!
因為最近在研究股票資料,就想說股票資料可不可以用程式抓下來存檔
就在網路上找了不少資料,找到Python就有一個API可以做這事情
首先要先安裝pandas跟pandas-datareader,因為在用之前必須先取得套件
安裝pandas跟pandas-datareader
pip install pandas-datareader
首先,先import
import datetime
import pandas as pd
import pandas_datareader as pdr
定義抓取股票資料的時間範圍
start = datetime.datetime(2021,1,1)
end = datetime.datetime(2022,12,31)
抓取資料的地方
pandas_datareader只是一個抓取的工具,他提供了非常多的抓取來源
因為我們這邊要抓取台股,所以我們選用yahoo來抓取
pandas_datareader 提供的來源有下列幾項
“yahoo”,”iex”,”iex-tops”,”iex-last”,”iex-last”,”bankofcanada”,”stooq”,”iex-book”,”enigma”,”fred”,”famafrench”,”oecd”,”eurostat”,”nasdaq”,
“quandl”,”moex”,”tiingo”,”yahoo-actions”,”yahoo-dividends”,”av-forex”,”av-forex-daily”,”av-daily”,”av-daily-adjusted”,”av-weekly”,”av-weekly-adjusted”,”av-monthly”,”av-monthly-adjusted”,”av-intraday”,”econdb”,”naver”
如果有興趣可以去pandas_datareader這裡看,裡面有提供每個來源的解說跟範例
定義抓取股票的代碼
我們這邊要抓取股票資料都會有一個代碼
這邊以台灣50為例就是0050.TW,這邊注意要加上.TW
stock_number = '0050.TW'
抓取股票資料
綜合上面最後我們程式碼會變成這樣
import datetime
import pandas as pd
import pandas_datareader as pdr
stock_number = '0050.TW'
start = datetime.datetime(2021,1,1)
end = datetime.datetime(2022,12,31)
dataFrame = pdr.DataReader(stock_number, 'yahoo', start, end)
抓取資料後會用一個dataFrame呈現資料
Date日期,Open開盤價,High最高價,Low最低價,Close收盤價,Adj Close調整後的收盤價, Volume為成交量

用pandas-datareader抓取股票資料大致上就這樣
抓取之後再看大家要怎麼處理這些資料,找個地方存起來再用收盤分析資料等
用途非常多,主要還是要先把資料抓下來才能來分析