code

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抓取股票資料大致上就這樣

抓取之後再看大家要怎麼處理這些資料,找個地方存起來再用收盤分析資料等

用途非常多,主要還是要先把資料抓下來才能來分析

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *