Skip to content
Go back

日本株の倒産リスクをシステマティックに管理する:定量的アプローチ

Edit page

日本株の自動売買でテクニカル指標だけに頼っていると、「テクニカル的には買いシグナルだが、企業が経営危機で株価が暴落」というリスクを見逃す。特に中小型株は倒産リスクが無視できない。

本記事では、J-Quants API(東証公式データAPI)から取得した財務データを使い、倒産リスクの高い銘柄を自動的にスクリーニングから除外する仕組みの設計を記録する。銘柄拡大(27→50銘柄)施策と合わせて、「安全な銘柄プール」を維持する方法論を解説する。


テクニカル分析の盲点

テクニカル指標は企業の健全性を測れない

RSI、MACD、ボリンジャーバンド——これらはすべて「価格と出来高の過去データ」から計算される。企業の財務状況(借入金の額、利益率、キャッシュフロー)は一切反映されない。

極端な例を挙げると、倒産直前の企業の株価がテクニカル的に「売られすぎ」と判定され、買いシグナルが出ることがある。RSIが10まで下がっている銘柄は確かに「売られすぎ」だが、倒産するなら0になる。

日本株ユニバースの安全性

この問題を軽減するために、投資対象の銘柄プール(ユニバース)を以下のように設計した。

Core30(日経Core30指数構成銘柄): 14銘柄
  → 時価総額上位30社。倒産リスクは極めて低い

Large70(日経Large70指数構成銘柄): 9銘柄
  → 大型株。倒産リスクは低い

Phase T8で追加された銘柄: 27銘柄
  → 流動性・財務健全性の基準をクリアした銘柄

合計: 50銘柄(JS-ADD-C3施策後)

銘柄拡大(27→50銘柄)の設計

スクリーニング基準

50銘柄への拡大時に、以下の定量的な基準でスクリーニングを実施した。

SCREENING_CRITERIA = {
    "market_cap_min": 500_000_000_000,  # 時価総額5,000億円以上
    "avg_daily_volume_min": 500_000,     # 20日平均出来高50万株以上
    "debt_equity_ratio_max": 2.0,        # D/Eレシオ2.0以下
    "current_ratio_min": 1.0,            # 流動比率1.0以上
    "consecutive_loss_years_max": 2,     # 連続赤字2年以下
    "listing_years_min": 5,              # 上場5年以上
}

各基準の意味:

基準目的
時価総額≥ 5,000億円大型株に限定。突然の倒産リスクを排除
平均出来高≥ 50万株/日流動性確保。スリッページ(注文価格と約定価格の差)を抑制
D/Eレシオ≤ 2.0過剰債務を排除。D/Eレシオ = 有利子負債 ÷ 自己資本
流動比率≥ 1.0短期支払い能力の確認。流動資産 ÷ 流動負債
連続赤字≤ 2年構造的な収益問題のある企業を除外
上場年数≥ 5年実績のない新規上場銘柄を除外

J-Quants APIの活用

J-Quants(日本取引所グループの公式データAPI)から財務データを自動取得し、スクリーニング基準への適合を定期的にチェックする。

def fetch_financial_data(stock_code: str) -> dict:
    """J-Quants APIから財務データを取得"""
    response = jquants_api.get_financial_statements(
        code=stock_code,
        date="latest",
    )
    return {
        "market_cap": response["MarketCapitalization"],
        "debt_equity_ratio": response["DebtEquityRatio"],
        "current_ratio": response["CurrentRatio"],
        "net_income": response["NetIncome"],
    }

決算前後エントリー制限(NEW-02)

倒産リスク管理と関連して、決算発表前後のエントリーを制限するフィルター(earnings_filter)も実装した。

なぜ決算前後を制限するか

決算発表は、株価が大きく動くイベントだ。好決算なら+10%以上の急騰もあるが、悪決算なら-20%の急落もある。テクニカル分析では決算内容を予測できないため、「ギャンブル」になりやすい。

EARNINGS_FILTER_CONFIG = {
    "days_before": 3,   # 決算発表3日前からエントリー禁止
    "days_after": 1,    # 決算発表1日後まで禁止
}

決算日はJ-Quants APIから取得し、自動的にフィルタリングする。


PEAD戦略(NEW-04)

決算「前」はエントリーを制限するが、決算「後」には新たな戦略チャンスがある。PEAD(Post-Earnings Announcement Drift)は、「好決算の銘柄は発表後もしばらく上昇を続ける」というアノマリー(市場の非効率性)を利用した戦略だ。

PEAD_CONFIG = {
    "eps_surprise_threshold": 0.10,  # EPS(1株当たり利益)が予想比+10%以上
    "drift_days": 5,                  # 決算発表後5日間が対象
    "min_volume_ratio": 1.5,          # 出来高が通常の1.5倍以上
}

PEADは学術研究で繰り返し確認されているアノマリーであり、個人投資家がアクセスしやすい数少ない「エッジ」の1つだ。


学んだこと

1. ユニバースの品質がシステム全体の品質を決める

どれだけ優秀なテクニカル分析を組んでも、投資対象に倒産リスクの高い銘柄が含まれていたら意味がない。ユニバースの選定は「戦略の設計」と同じかそれ以上に重要だ。

2. 財務データは「フィルター」として使う

ファンダメンタルズ分析で「買うべき銘柄を選ぶ」のは難しい。しかし「買ってはいけない銘柄を除外する」フィルターとしてなら、定量的な基準で自動化できる。

3. 決算は「リスク」と「チャンス」の両面がある

決算前は予測不能なリスクとして制限し、決算後は統計的なアノマリー(PEAD)としてチャンスにする。同じ「決算」というイベントを、前後で真逆に扱うのが合理的だ。


まとめ

日本株の倒産リスク管理で重要なのは以下の3点だ。

  1. 定量スクリーニング: 時価総額・出来高・D/Eレシオ・流動比率で安全な銘柄プールを構築
  2. 決算前後の分離管理: 決算前 = エントリー制限(リスク回避)、決算後 = PEAD戦略(チャンス活用)
  3. J-Quants APIの自動化: 財務データの取得と基準チェックを自動化し、メンテナンスフリーを実現

テクニカル分析だけでは見えない企業の健全性を、定量的なフィルターで補完する。これが「安全な自動売買」の基盤だ。


Edit page
Share this post on:

Previous Post
ファンダメンタル複合スコア:財務データ5軸で銘柄の質を判定する
Next Post
市場レジーム自動識別:ADXとVIXのマトリクスでエントリー閾値を動的制御する