1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

機械学習で株価分析 07.個別の株式情報データの取得

Last updated at Posted at 2023-12-19

はじめに

本記事では、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. 株価データの取得と表示

以下のコードを実行して、財務データを取得し、コンソールに結果を表示します。
以下では年単位・四半期単位の情報をそれぞれ表示しています。

# 銘柄名を変数に格納
stocks      = ["4689.T"]
ticker_info = yf.Ticker("".join(stocks))

# 年単位の財務情報を表示
display(ticker_info.financials.T)

# 四半期単位の財務情報を表示
display(ticker_info.quarterly_financials.T)

5. 財務データの統合と整理

以下のコードを実行して、年単位・四半期単位の財務データを統合・整理し、コンソールに結果を表示します。

# 年単位の財務情報と四半期単位の財務情報を統合
df_tickerinfo = pd.concat([ticker_info.financials.T, ticker_info.quarterly_financials.T[~ticker_info.quarterly_financials.T.index.isin(ticker_info.financials.T.index)]])

# データを時系列順に並び替え
df_tickerinfo = df_tickerinfo.sort_index()

# 統合したデータを表示
display(df_tickerinfo)

ソースコード全文

以下にソースコード全文を示します。

!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"]
ticker_info = yf.Ticker("".join(stocks))

# 年単位の財務情報を表示
display(ticker_info.financials.T)

# 四半期単位の財務情報を表示
display(ticker_info.quarterly_financials.T)

# 年単位の財務情報と四半期単位の財務情報を統合
df_tickerinfo = pd.concat([ticker_info.financials.T, ticker_info.quarterly_financials.T[~ticker_info.quarterly_financials.T.index.isin(ticker_info.financials.T.index)]])

# データを時系列順に並び替え
df_tickerinfo = df_tickerinfo.sort_index()

# 統合したデータを表示
display(df_tickerinfo)

プログラムを実行し、コンソール上に指定した期間の財務情報が表示されれば成功です。

目次へのリンク

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?