財務クオリティ(東証グロース)のバックテスト
Financial Quality Factor (JP Growth Stocks)
slug: financial-quality-jp-growth
東証グロース(約495銘柄)で財務クオリティをバックテストした。108通りの中央値 Sharpe は -0.72。p-value は 0.47。Max DD は -3.3%。期間は 2025-01-06〜2025-06-02。最良 Sharpe +3.10 は代表値ではない。
判定は rejected。中央値は promising(Sharpe > 0.5 かつ p-value < 0.05)にも marginal(Sharpe > 0.05 かつ最良 p-value < 0.10)にも届いていない。シグナルの回数が少なく、中央値を語れるだけ取引がない。
成績の中央値
Sharpe(中央値)
-0.72
Max DD
-3.3%
勝率
—
Alpha(年率)
—
p-value
0.47
期間: 2025-01-06 → 2025-06-02
108通りの Sharpe:中央値 -0.72最良 3.10 (代表値ではない)最悪 -4.44p25–p75 -1.41–0.28
仮説
原文は英語。
A cross-sectional quality factor (operating margin improvement + EPS growth) achieves positive Sharpe on JP Growth stocks. Phase 1 tested zero fundamental strategies — all were price/volume based. FinancialStore has 4,709 records (505 tickers, 2023-12~2025-12).
採用しなかった理由
Across 108 grid combinations, median Sharpe=-0.72, best=3.10. Primary failure mode: signal_frequency.
検証ファクト (5)
Best grid Sharpe ratio is 3.10 (p=0.08).
period 2025-01-06–2025-06-02; cost=5.0bps
cite ↗ /cite/financial-quality-jp-growth-fact-best-sharpevia r-financial-quality-jp-growth-0070
Median Sharpe across 108 grid runs is -0.72.
Full grid of 108 parameter combinations.
Median Sharpe in DOWN regime is -1.40 across 108 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
Median Sharpe in FLAT regime is -1.00 across 108 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
Median Sharpe in UP regime is -0.33 across 108 runs.
Regime=UP, N225 SMA20/SMA60 classification.
検証ラン (30)
| run | params | sharpe | UP | FLAT | DOWN |
|---|---|---|---|---|---|
factor=operating_margin_change, n_long=10, n_short=0, holding_days=1 r-financial-quality-jp-growth-0001 | factor: "operating_margin_change" n_long: 10 n_short: 0 | -0.36 | — | +0.12 | -17.58 |
factor=operating_margin_change, n_long=10, n_short=0, holding_days=1 r-financial-quality-jp-growth-0002 | factor: "operating_margin_change" n_long: 10 n_short: 0 | -0.42 | -0.16 | -0.66 | — |
factor=operating_margin_change, n_long=10, n_short=0, holding_days=20 r-financial-quality-jp-growth-0004 | factor: "operating_margin_change" n_long: 10 n_short: 0 | +0.51 | — | +2.79 | -16.63 |
factor=operating_margin_change, n_long=10, n_short=10, holding_days=20 r-financial-quality-jp-growth-0010 | factor: "operating_margin_change" n_long: 10 n_short: 10 | +0.08 | — | +1.13 | -1.50 |
factor=operating_margin_change, n_long=10, n_short=15, holding_days=1 r-financial-quality-jp-growth-0013 | factor: "operating_margin_change" n_long: 10 n_short: 15 | +0.67 | — | -0.18 | +11.25 |
factor=operating_margin_change, n_long=10, n_short=15, holding_days=20 r-financial-quality-jp-growth-0017 | factor: "operating_margin_change" n_long: 10 n_short: 15 | -0.64 | +0.18 | -1.14 | — |
factor=operating_margin_change, n_long=15, n_short=0, holding_days=20 r-financial-quality-jp-growth-0023 | factor: "operating_margin_change" n_long: 15 n_short: 0 | -0.14 | +0.22 | -1.14 | — |
factor=operating_margin_change, n_long=15, n_short=10, holding_days=20 r-financial-quality-jp-growth-0029 | factor: "operating_margin_change" n_long: 15 n_short: 10 | -0.58 | +0.03 | -1.01 | — |
factor=operating_margin_change, n_long=15, n_short=15, holding_days=20 r-financial-quality-jp-growth-0035 | factor: "operating_margin_change" n_long: 15 n_short: 15 | -0.58 | +0.44 | -1.25 | — |
factor=operating_margin_change, n_long=20, n_short=0, holding_days=1 r-financial-quality-jp-growth-0037 | factor: "operating_margin_change" n_long: 20 n_short: 0 | -2.13 | — | -0.76 | -696.20 |
factor=operating_margin_change, n_long=20, n_short=10, holding_days=1 r-financial-quality-jp-growth-0043 | factor: "operating_margin_change" n_long: 20 n_short: 10 | -1.01 | — | -1.89 | +0.45 |
factor=operating_margin_change, n_long=20, n_short=15, holding_days=1 r-financial-quality-jp-growth-0049 | factor: "operating_margin_change" n_long: 20 n_short: 15 | -0.91 | — | -1.84 | +3.81 |
factor=eps_growth_yoy, n_long=10, n_short=0, holding_days=1 r-financial-quality-jp-growth-0055 | factor: "eps_growth_yoy" n_long: 10 n_short: 0 | -2.43 | — | -1.53 | -3.77 |
factor=eps_growth_yoy, n_long=10, n_short=10, holding_days=1 r-financial-quality-jp-growth-0061 | factor: "eps_growth_yoy" n_long: 10 n_short: 10 | -1.36 | — | +0.31 | -2.72 |
factor=eps_growth_yoy, n_long=10, n_short=15, holding_days=1 r-financial-quality-jp-growth-0067 | factor: "eps_growth_yoy" n_long: 10 n_short: 15 | -1.60 | — | -2.61 | -1.58 |
factor=eps_growth_yoy, n_long=10, n_short=15, holding_days=20 r-financial-quality-jp-growth-0070 | factor: "eps_growth_yoy" n_long: 10 n_short: 15 | +3.10 | — | +2.93 | +2.86 |
factor=eps_growth_yoy, n_long=15, n_short=0, holding_days=1 r-financial-quality-jp-growth-0074 | factor: "eps_growth_yoy" n_long: 15 n_short: 0 | -2.63 | -2.03 | -4.41 | — |
factor=eps_growth_yoy, n_long=15, n_short=10, holding_days=1 r-financial-quality-jp-growth-0080 | factor: "eps_growth_yoy" n_long: 15 n_short: 10 | -1.11 | -5.14 | +2.03 | — |
factor=eps_growth_yoy, n_long=15, n_short=15, holding_days=1 r-financial-quality-jp-growth-0086 | factor: "eps_growth_yoy" n_long: 15 n_short: 15 | -1.84 | -7.47 | +1.05 | — |
factor=eps_growth_yoy, n_long=20, n_short=0, holding_days=1 r-financial-quality-jp-growth-0091 | factor: "eps_growth_yoy" n_long: 20 n_short: 0 | -4.44 | — | -3.93 | -4.10 |
factor=eps_growth_yoy, n_long=20, n_short=0, holding_days=20 r-financial-quality-jp-growth-0094 | factor: "eps_growth_yoy" n_long: 20 n_short: 0 | -0.07 | — | +0.83 | -2.09 |
factor=eps_growth_yoy, n_long=20, n_short=10, holding_days=20 r-financial-quality-jp-growth-0100 | factor: "eps_growth_yoy" n_long: 20 n_short: 10 | +0.80 | — | +1.11 | +0.14 |
factor=eps_growth_yoy, n_long=20, n_short=15, holding_days=20 r-financial-quality-jp-growth-0106 | factor: "eps_growth_yoy" n_long: 20 n_short: 15 | +1.87 | — | +1.23 | +3.30 |
factor=composite, n_long=10, n_short=0, holding_days=1 r-financial-quality-jp-growth-0109 | factor: "composite" n_long: 10 n_short: 0 | -3.17 | — | -2.45 | -3.77 |
factor=composite, n_long=10, n_short=0, holding_days=20 r-financial-quality-jp-growth-0113 | factor: "composite" n_long: 10 n_short: 0 | -0.77 | -0.28 | -2.85 | — |
factor=composite, n_long=10, n_short=10, holding_days=20 r-financial-quality-jp-growth-0119 | factor: "composite" n_long: 10 n_short: 10 | -0.96 | +0.18 | -1.64 | — |
factor=composite, n_long=10, n_short=15, holding_days=20 r-financial-quality-jp-growth-0125 | factor: "composite" n_long: 10 n_short: 15 | -1.35 | -0.75 | -2.02 | — |
factor=composite, n_long=15, n_short=0, holding_days=20 r-financial-quality-jp-growth-0131 | factor: "composite" n_long: 15 n_short: 0 | -0.42 | -0.01 | -2.34 | — |
factor=composite, n_long=15, n_short=10, holding_days=20 r-financial-quality-jp-growth-0137 | factor: "composite" n_long: 15 n_short: 10 | -0.62 | +1.46 | -1.26 | — |
factor=composite, n_long=15, n_short=15, holding_days=20 r-financial-quality-jp-growth-0143 | factor: "composite" n_long: 15 n_short: 15 | -0.88 | -0.07 | -1.42 | — |
対象ユニバース
Tokyo Stock Exchange Growth Market, ~495 stocks, tv >= 30M JPY
source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-09-24T21:54:27