こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- Pythonを用いて日本株のファンダメンタルズ分析を行いたい!
- ファンダメンタルズ分析に必要な「株価・財務データ」の取得方法が知りたい。
【株式投資】ファンダメンタルズ分析とは
ファンダメンタルズ分析とは、企業の財務・経済的な健全性を評価し、株式の適正な価値を見積もるための方法です。株式の長期的なパフォーマンスを評価し、株式を購入・売却の意思決定をサポートします。
【参考】厳選した株式投資におすすめの証券口座一覧
株式投資を始めたい方向けに使い勝手の良いおすすめ証券口座を紹介します。
証券口座 | 概要 | 使い勝手 | 手数料 | 投信 | NISA | 米株 | IPO | 信用取引 |
---|---|---|---|---|---|---|---|---|
マネックス証券 | 取引に役立つ豊富な情報や操作性に優れたツールを提供。 株初心者にはおすすめ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ |
GMOクリック証券 | 「NTTコム オンラインNPSRベンチマーク調査 2020」において 家族・友人におすすめしたいネット証券No.1に選出 | ⭕️ | ⭕️ | △ | ⭕️ | ⭕️ | △ | ⭕️ |
au株コム証券 | KDDI x MUFG MUFGグループという信頼感ある証券会社 | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | △ | ⭕️ |
【事前準備】Pythonによる株価・財務データ取得のための環境構築
本記事では、J-QuantsのAPIをもとにファンダメンタルズ分析に必要な株価・財務データを取得します。
J-QuantsのAPIユーザー登録を事前に行う必要があるため、以下手順を実施しましょう。
① J-QuantsのAPIユーザー登録
J-Quantsの会員登録ページ(https://jpx-jquants.com/auth/signup/?lang=ja)にアクセスします。
② プランを選択(無料)
会員登録完了後、J-Quantsにログインすると、プラン表が表示されます。
APIで利用できる機能範囲に応じて価格が異なるプランが用意されています。
無料プランでも十分なデータが取得可能なため、今回は無料プランを登録しましょう!
Pythonを用いた日本株価・財務データの取得実践
J-Quants APIとPythonをもとにファンダメンタルズ分析に必要な日本株価・財務データ取得方法を解説します。
API認証情報を設定
はじめに、Pythonコードの先頭に以下のAPI認証情報を記述します。
加えて、コード内のEmail
とPassword
を修正し実行しましょう。
import requests
import json
# =============================================================
# 会員情報入力
# =============================================================
# 認証情報
Email = ".............." # ご自身のメールアドレスを入力
Password = ".............." # ご自身のパスワードを入力
# =============================================================
# API認証情報取得
# =============================================================
# RefreshToken取得
data = {"mailaddress":Email, "password":Password}
req_post = requests.post("https://api.jquants.com/v1/token/auth_user", data=json.dumps(data))
REFRESH_TOKEN = req_post.json()["refreshToken"]
# idToken取得
req_post = requests.post(f"https://api.jquants.com/v1/token/auth_refresh?refreshtoken={REFRESH_TOKEN}")
idToken = req_post.json()["idToken"]
ご自身の会員情報(メールアドレス+パスワード)をもとに上記コードを実行すると、RefreshToken
およびidToken
が取得できます。後述ではこちらをもとに株価や銘柄情報を取得していく流れとなります。
上場銘柄の業種・マーケット情報を取得
上場している銘柄の業種・マーケット情報を取得するには、次のコードを実行します。
コード(全銘柄取得)
全銘柄の情報を一括取得したい場合、以下のコードを実行します。
# ===============================================================
# 上場銘柄一覧
# ===============================================================
headers = {'Authorization': 'Bearer {}'.format(idToken)}
urlPath = "https://api.jquants.com/v1/listed/info"
req = requests.get(urlPath, headers=headers)
# 取得結果
result = req.json()
# 出力
print(result)
コード(個別銘柄取得)
個別銘柄を指定し、業種・マーケット情報を取得したい場合、次のようなコードを実行します。
code
部分にお好きな銘柄コードを指定しましょう。
# ===============================================================
# パラメータ
# ===============================================================
# 銘柄コード
code = 6758
# ===============================================================
# 上場銘柄一覧
# ===============================================================
headers = {'Authorization': 'Bearer {}'.format(idToken)}
urlPath = f'https://api.jquants.com/v1/listed/info?code={code}'
req = requests.get(urlPath, headers=headers)
# 結果取得
result = req.json()
# 出力
print(result)
出力イメージ
上記を実行すると、上場している銘柄の業種やマーケット情報が取得できます。
- 日付
- 銘柄コード
- 企業名
- 企業名(英語)
- 業種コード
- 市場区分コード
- 市場区分
財務情報(決算短信・業績・配当)の取得
上場企業の直近二年分の四半期毎の決算短信サマリー・業績・配当情報の取得は、以下のコードで実現できます。
コード
# ===============================================================
# パラメータ
# ===============================================================
# 銘柄コード
code = 6758
# ===============================================================
# 財務情報取得
# ===============================================================
headers = {'Authorization': 'Bearer {}'.format(idToken)}
urlPath = f'https://api.jquants.com/v1/fins/statements?code={code}'
req = requests.get(urlPath, headers=headers)
# 結果取得
result = req.json()
# 出力イメージ
print(result)
出力イメージ
上記を実行すると、次のような上場銘柄の財務情報が取得できます。(主要指標のみ抜粋)
- 開示日
- 銘柄コード
- 売上高
- 営業利益
- 経常利益
- 当期純利益
- EPS
- 総資産
- 純資産
- 自己資本比率
- 営業キャッシュフロー
- 投資キャッシュフロー
- 財務キャッシュフロー
- 配当実績情報
株価情報の取得
個別銘柄の株価四本足情報の取得は、以下のコードで実現可能です。
コード
# ===============================================================
# パラメータ
# ===============================================================
# 銘柄コード
code = 6758
# 日付
date = 20230324
# ===============================================================
# 株価四本足取得
# ===============================================================
headers = {'Authorization': 'Bearer {}'.format(idToken)}
urlPath = f'https://api.jquants.com/v1/prices/daily_quotes?code={code}&date={date}'
req = requests.get(urlPath, headers=headers)
# 結果取得
result = req.json()
# 出力イメージ
print(result)
出力イメージ
- 日付
- 銘柄コード
- 始値(Open)
- 安値(Low)
- 高値(High)
- 終値(Close)
- 調整終値(Adjustment Close)
- 出来高(Volume)
決算スケジュールを取得
各企業の決算発表予定日は、以下のコードで取得できます。
コード
# ===============================================================
# 決算スケジュール取得
# ===============================================================
headers = {'Authorization': 'Bearer {}'.format(idToken)}
urlPath = "https://api.jquants.com/v1/fins/announcement"
req = requests.get(urlPath, headers=headers)
# 結果取得
result = req.json()
# 出力
print(result)
出力イメージ
- 決算予定日
- 銘柄コード
- 会社名
- 業種
- 決算期
【参考】Pythonによるファンダメンタルズ分析
前述で取得の株価・財務データを用いてファンダメンタルズ分析したい方向けに、こちらも配信しています。
【参考】株式投資の自動化|Pythonによるシステムトレード
本記事ではPythonを用いた株式投資のシステムトレーディング手法を多数配信しています。
株式の関連記事一覧
株式投資の「自動売買」「システムトレード」に興味がある方向けの記事を多数配信しています。
人気記事一覧
# | 記事タイトル |
---|---|
1 | 【Python】日本株銘柄の株価・財務データの取得方法 |
2 | 【Python】日本株銘柄のファンダメンタルズ分析 |
3 | 【Python】日本株価データを用いたテクニカル分析 |
4 | 【Python】米国株銘柄の株価・財務データの取得方法 |
全ての関連記事を見る
【有料版】株式投資のシステムトレード
株式投資のシステムトレード実現に際して、中・上級者向け応用情報も配信しております。
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら