J-Quants MCP × Claude Codeで日本株の決算分析を自動化する【2026年版】

「決算発表シーズンになるたびに数十銘柄を手作業でチェックしている…」——そんな苦労から解放されるのがJ-Quants API × Claude Codeの組み合わせです。JPXグループが提供する公式株価・財務APIをMCPで接続することで、Claude Codeが日本株のデータを直接取得し、決算サプライズや財務指標の異常を自動で検出してくれます。

✅ この記事でわかること

  • J-Quants APIとは(無料プランで何ができるか)
  • J-Quants MCP接続の設定手順
  • Claude CodeでJ-Quantsデータを取得するコード例
  • 決算サプライズを自動検出するプロンプト例
  • 財務指標スクリーニングの実装(ROE・営業利益率・PBR)

J-Quants APIとは?無料プランでできること

J-Quants APIはJPX(日本取引所グループ)が公式提供する金融データAPIです。東証上場銘柄の株価・財務データ・決算情報などをプログラマティックに取得できます。

J-Quants API プラン比較

プラン 費用 データ提供範囲
Free(無料) ¥0 過去2年(12週間遅延あり)・決算データ含む
Light ¥990/月 過去2年・リアルタイム近い
Standard ¥4,950/月 過去10年・財務詳細・アナリスト予想
Premium ¥9,900/月 フル機能・高優先度API

Claude Code × J-Quants MCPの学習・検証には無料プランで十分です。決算データ・財務情報・株価の基本データを取得できます。

J-Quants APIで取得できる主なデータ

  • 株価(OHLCV):始値・高値・安値・終値・出来高
  • 財務情報:売上高・営業利益・純利益・ROE・PBR・PER
  • 決算発表日:DiscDate(決算発表日)・決算種別(本決算/四半期)
  • 上場銘柄一覧:全東証上場銘柄のコード・名称・業種

ステップ1:J-Quants APIに登録してAPIキーを取得

  1. jpx-jquants.com にアクセスして新規登録
  2. メールアドレス・パスワードで会員登録(無料)
  3. ダッシュボードにログイン
  4. 「APIキー」メニューからIDトークンを発行
  5. または Python クライアントで認証:
pip install jquants-api-client
import jquantsapi

# メールとパスワードで認証(初回のみ)
cli = jquantsapi.Client(
    mail_address="your@email.com",
    password="yourpassword"
)

# 認証トークンを確認
print(cli.get_id_token())

ステップ2:J-Quants MCPをClaude Codeに接続する

J-Quants専用のMCPサーバーを使うか、またはJupyterカーネル経由でClaudeにJ-Quantsデータを渡す方法があります。ここではMCP経由でのデータ取得パターンを解説します。

方法A:カスタムMCPサーバーを作成する

# jquants_mcp_server.py
import jquantsapi
import json
from mcp.server import Server
from mcp.server.stdio import stdio_server

cli = jquantsapi.Client(
    mail_address="your@email.com",
    password="yourpassword"
)

server = Server("jquants-mcp")

@server.tool()
async def get_financial_statements(code: str) -> str:
    """指定銘柄の財務データを取得"""
    df = cli.get_statements_data(code=code)
    return df.tail(4).to_json(orient="records", force_ascii=False)

@server.tool()
async def get_stock_prices(code: str, from_date: str, to_date: str) -> str:
    """指定銘柄の株価データを取得"""
    df = cli.get_price_range(
        start_dt=from_date,
        end_dt=to_date,
        code=code
    )
    return df.to_json(orient="records", force_ascii=False)

if __name__ == "__main__":
    import asyncio
    asyncio.run(stdio_server(server))

mcp.jsonへの登録

// ~/.claude/mcp.json に追加
{
  "mcpServers": {
    "jquants": {
      "type": "stdio",
      "command": "python",
      "args": ["C:/Users/user/Claude/jquants_mcp_server.py"],
      "env": {}
    }
  }
}

ステップ3:Claude Codeで決算分析を自動化する

プロンプト例①:決算サプライズを自動検出

「以下の手順で決算サプライズ銘柄を検出するPythonスクリプトを作って。

1. jquants-api-clientを使って直近3ヶ月に決算を発表した銘柄一覧を取得
2. 各銘柄の今期・前期の営業利益を取得
3. 前期比+20%以上の増益をサプライズと定義
4. サプライズ銘柄を増益率の高い順にCSVに出力
5. 上位10銘柄をコンソールに表示」

プロンプト例②:ROE・PBR・営業利益率スクリーニング

「J-Quants APIで東証プライム全銘柄を対象に
以下の条件でスクリーニングするコードを作って。

条件:
- ROE > 15%
- PBR < 1.5
- 営業利益率 > 10%
- 直近4四半期すべてで増収

出力:銘柄コード・企業名・ROE・PBR・営業利益率・直近株価
をDataFrameにまとめてCSV保存」

実行例の出力イメージ

🔍 決算サプライズ検出結果(直近3ヶ月)
==============================================
順位  銘柄コード  企業名          前期比     営業利益(百万円)
1     7203      トヨタ自動車    +47.2%     4,820,000
2     6758      ソニーG         +38.9%       889,000
3     4063      信越化学         +31.5%     562,000
...

合計: 23銘柄がサプライズ閾値(+20%)を超えました

ステップ4:応用 — 決算スケジュール×株価変動の相関分析

「J-Quants APIで以下を分析するPythonスクリプトを作って。

1. 過去2年間の決算発表データを全銘柄取得
2. 決算発表日の翌営業日の株価変動率を計算
3. 営業利益増減率と翌日株価変動率の散布図を作成(matplotlib)
4. 相関係数と回帰直線を表示
5. 結果をHTMLレポートに出力」

注意点とよくあるエラー

APIレート制限エラー(429)が出る

無料プランはAPIコールに制限があります。time.sleep(0.5)を各リクエストに挟むか、取得データをローカルにキャッシュして再実行時の重複取得を避けましょう。

財務データが空(NaN)で返ってくる

無料プランは12週間のデータ遅延があります。直近の決算データが取得できない場合は、Light以上のプランへのアップグレードをご検討ください。

v2 APIとv1の違いは?

2025年12月以降に登録したユーザーはv2 API(APIキー認証方式)のみ利用可能です。v1はメール+パスワードの認証トークン方式でしたが、v2ではダッシュボードから直接APIキーを発行して使用します。


まとめ

J-Quants API × Claude Codeを組み合わせることで、決算サプライズ検出・財務スクリーニング・株価変動分析を数十行のコードで自動化できます。無料プランから始めて、使い勝手を確認したうえでプランをアップグレードするのがおすすめです。

できること 使用するデータ
決算サプライズ検出 財務情報・決算発表日
財務指標スクリーニング ROE・PBR・営業利益率
株価バックテスト 株価OHLCV
決算×株価変動相関分析 財務情報 + 株価