【Python】Yahooファイナンスから簡単に株価をダウンロードする方法

FINANCE

これまでは、スクレイピングで株価を取得しようとしていましたが、pandas_datareaderを使えば簡単に株価を取得できることがわかりました。

今回は、pandas_datareaderを使って株価を取得し可視化する方法をご紹介します。

pandas_datareaderのインストール

Anacondaを使って、pandas-datareaderをインストールしていきます。

SearchPackagesからpandas_datareaderと検索して、赤枠のチェックボックスにチェックを入れます。その後右下に表示されるApplyボタンを押下してインストールを行います。

pandas_datareaderの使い方

pandas-datareader — pandas-datareader 0.9.0rc1+2.g427f658 documentation
  • 使い方は簡単です。下記のコードだけでデータを取得できます。
  • 下記は海外指数(S&P500)を取得するためにstock_codeを ^GSPCとしています。
# pandas_datareaderのインポート
import pandas_datareader.data as dr

#stock_codeを入力し、DataFrameにデータを格納
stock_code = '^GSPC'
df = dr.DataReader(stock_code, 'yahoo', start, end)
  • stock_codeには、ティッカーシンボルを指定します。ティッカーシンボルは下記のURLから確認できます。
SBI証券

pandas_datareaderで株価を取得しグラフ化する

注意

下記以降のサンプルコードでは、始値・終値・高値・安値等を取得していますが、可視化しているのは終値のみです

SampleCode

  • S&P 500のデータを取得するには、下記のコードで実装できます。
  • 最後の出力としては、データフレームの5行分だけ表示しています。
#ライブラリのインポート
import datetime
import pandas as pd
import pandas_datareader.data as dr
import plotly.express as px

#データの期間を指定
start = datetime.datetime(2019, 1, 1)
end = datetime.datetime(2020, 12, 31)

#銘柄の指定・データフレームに格納
stock_code = '^GSPC'
df = dr.DataReader(stock_code, 'yahoo', start, end)

#データフレームの表示
df.head()
  • plotly.expressを使って可視化をするには、先ほどのデータフレームを入力してやれば可視化できます。
# plotly.expressで線グラフを描画する
px.line(data_frame=df,x=df.index,y='Close',title='S&P500')

Apple株価をダウンロードしてグラフ化する

  • 下記のサンプルコードでは、アップルの株価を取得して、plotly.expressで線グラフにしています。
import datetime
import pandas as pd
import pandas_datareader.data as dr
import plotly.express as px

start = datetime.datetime(2019, 1, 1)
end = datetime.datetime(2020, 12, 31)

stock_code = 'AAPL'
df = dr.DataReader(stock_code, 'yahoo', start, end)
px.line(data_frame=df,x=df.index,y='Close',title='APPLE')

Youtubeで「【Python】Yahooファイナンスから簡単に株価をダウンロードする方法」を公開しました。

【Python】Yahooファイナンスから簡単に株価をダウンロードする方法

コメント

タイトルとURLをコピーしました