はじめに
本記事では、PythonでYahooFinanceのデータベースから個別銘柄の株価情報を取得する方法を紹介します。取得できるデータは、銘柄ごとの始値・高値・安値・終値・調整後終値・出来高です。
手順
1. yfinanceをインストール
以下のコードを実行してyfinanceをインストールします。実行環境はGoogle Colabを想定しています。
!pip install yfinance
2. 必要なライブラリをインポート
以下のコードを実行して、必要なライブラリをインポートします。
import yfinance as yf
yf.pdr_override()
import numpy as np
import pandas as pd
from pandas_datareader import data
import datetime
from IPython.display import display
3. データを取得する期間の指定
以下のコードを実行して、データを取得する期間を指定します。当日までのデータを取得するためには、終了日時に1日後を設定する必要があります。
# データの取得開始日・取得終了日を設定
day_start = datetime.date(2021,1,1)
day_end = datetime.date.today() + datetime.timedelta(days=1)
4. 株価データの取得と表示
以下のコードを実行して、株価データを取得し、コンソールに結果を表示します。銘柄名"4689.T"はLINEヤフーを表しています。これ以外でも、日本株の銘柄コードは株式コード末尾に".T"を追加すれば指定できます。
# 銘柄名を変数に格納
stock_name = ["4689.T"]
# 株価データを読み込み
df_stock = data.DataReader(stock_name, day_start, day_end, interval="1d")
# 結果をコンソールに表示
display(df_stock)
なお、以下のように記述すれば、当該株価の全期間のデータを取得できます。
df_stock = data.DataReader(stock_name, period="max", interval="1d")
ソースコード全文
以下にソースコード全文を示します。
!pip install yfinance
# 必要なライブラリをインポート
import yfinance as yf
yf.pdr_override()
import numpy as np
import pandas as pd
from pandas_datareader import data
import datetime
from IPython.display import display
# データの取得開始日・取得終了日を設定
day_start = datetime.date(2021,1,1)
day_end = datetime.date.today() + datetime.timedelta(days=1)
# 銘柄名を変数に格納
stocks = ["4689.T"]
# 株価データを読み込み
df_stock = data.DataReader(stocks, day_start, day_end, interval="1d")
# 結果をコンソールに表示
display(df_stock)
プログラムを実行し、コンソール上に指定した期間の株価情報が表示されれば成功です。
目次へのリンク