機械学習ファクター(メタラベル)(東証グロース)のバックテスト
ML Factor with Meta-Label Filter (JP Growth Stocks)
slug: ml-factor-meta-label-jp-growth
東証グロース(約495銘柄)で機械学習ファクター(メタラベル)をバックテストした。48通りの中央値 Sharpe は +0.66。p-value は 0.06。Max DD は -30.6%。期間は 2024-07-01〜2025-06-30。最良 Sharpe +3.14 は代表値ではない。
判定は marginal。どこかのパラメータでは p-value が 0.10 を下回るが、中央値自体は promising の基準(Sharpe > 0.5 かつ p-value < 0.05)に届いていない。主因は no_edge。レジーム・取引回数・コストには分類されず、中央値が採用ラインに届いていない。
成績の中央値
Sharpe(中央値)
+0.66
Max DD
-30.6%
勝率
—
Alpha(年率)
—
p-value
0.06
期間: 2024-07-01 → 2025-06-30
48通りの Sharpe:中央値 0.66最良 3.14 (代表値ではない)最悪 -3.47p25–p75 -1.07–2.19
仮説
原文は英語。
Applying meta-labeling (2-stage P(win) filter via LogisticRegression) to ml-factor predictions filters low-confidence signals, improving Sharpe at the cost of lower trade frequency. meta_label.py is implemented but never deployed.
採用しなかった理由
Across 48 grid combinations, median Sharpe=0.66, best=3.14. Primary failure mode: no_edge.
検証ファクト (5)
Best grid Sharpe ratio is 3.14 (p=0.0019).
period 2024-07-01–2025-06-30; cost=5.0bps
cite ↗ /cite/ml-factor-meta-label-jp-growth-fact-best-sharpevia r-ml-factor-meta-label-jp-growth-0046
Median Sharpe across 48 grid runs is 0.66.
Full grid of 48 parameter combinations.
Median Sharpe in DOWN regime is 4.27 across 48 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
Median Sharpe in FLAT regime is -0.40 across 48 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
Median Sharpe in UP regime is 0.88 across 48 runs.
Regime=UP, N225 SMA20/SMA60 classification.
検証ラン (30)
| run | params | sharpe | UP | FLAT | DOWN |
|---|---|---|---|---|---|
meta_threshold=0.5, n_short_max=10, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0001 | n_short_max: 10 meta_threshold: 0.5 base_num_leaves: 15 | +2.49 | +4.02 | +1.18 | +2.74 |
meta_threshold=0.5, n_short_max=10, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0002 | n_short_max: 10 meta_threshold: 0.5 base_num_leaves: 15 | -0.31 | +0.00 | -2.09 | +13.20 |
meta_threshold=0.5, n_short_max=10, base_num_leaves=31 r-ml-factor-meta-label-jp-growth-0004 | n_short_max: 10 meta_threshold: 0.5 base_num_leaves: 31 | +1.89 | +2.75 | +1.01 | +2.15 |
meta_threshold=0.5, n_short_max=10, base_num_leaves=31 r-ml-factor-meta-label-jp-growth-0005 | n_short_max: 10 meta_threshold: 0.5 base_num_leaves: 31 | -0.89 | -0.63 | -2.28 | +21.08 |
meta_threshold=0.5, n_short_max=15, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0007 | n_short_max: 15 meta_threshold: 0.5 base_num_leaves: 15 | +1.75 | +3.55 | -0.07 | +2.49 |
meta_threshold=0.5, n_short_max=15, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0008 | n_short_max: 15 meta_threshold: 0.5 base_num_leaves: 15 | -0.95 | -0.58 | -2.70 | +12.38 |
meta_threshold=0.5, n_short_max=15, base_num_leaves=31 r-ml-factor-meta-label-jp-growth-0010 | n_short_max: 15 meta_threshold: 0.5 base_num_leaves: 31 | +2.00 | +2.83 | +0.42 | +4.55 |
meta_threshold=0.5, n_short_max=15, base_num_leaves=31 r-ml-factor-meta-label-jp-growth-0011 | n_short_max: 15 meta_threshold: 0.5 base_num_leaves: 31 | +0.19 | +0.44 | -1.50 | +22.54 |
meta_threshold=0.5, n_short_max=20, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0013 | n_short_max: 20 meta_threshold: 0.5 base_num_leaves: 15 | +0.87 | +3.30 | -1.60 | +2.18 |
meta_threshold=0.5, n_short_max=20, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0014 | n_short_max: 20 meta_threshold: 0.5 base_num_leaves: 15 | -1.10 | -0.70 | -3.10 | +10.02 |
meta_threshold=0.5, n_short_max=20, base_num_leaves=31 r-ml-factor-meta-label-jp-growth-0016 | n_short_max: 20 meta_threshold: 0.5 base_num_leaves: 31 | +1.31 | +2.18 | -0.27 | +3.88 |
meta_threshold=0.5, n_short_max=20, base_num_leaves=31 r-ml-factor-meta-label-jp-growth-0017 | n_short_max: 20 meta_threshold: 0.5 base_num_leaves: 31 | -0.06 | +0.11 | -1.37 | +18.95 |
meta_threshold=0.55, n_short_max=10, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0019 | n_short_max: 10 meta_threshold: 0.55 base_num_leaves: 15 | +2.76 | +4.06 | +1.41 | +3.95 |
meta_threshold=0.55, n_short_max=10, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0020 | n_short_max: 10 meta_threshold: 0.55 base_num_leaves: 15 | -1.06 | -1.27 | -1.42 | +19.72 |
meta_threshold=0.55, n_short_max=10, base_num_leaves=31 r-ml-factor-meta-label-jp-growth-0022 | n_short_max: 10 meta_threshold: 0.55 base_num_leaves: 31 | +2.25 | +2.18 | +1.81 | +3.13 |
meta_threshold=0.55, n_short_max=10, base_num_leaves=31 r-ml-factor-meta-label-jp-growth-0023 | n_short_max: 10 meta_threshold: 0.55 base_num_leaves: 31 | +0.32 | +0.69 | -1.62 | +17.43 |
meta_threshold=0.55, n_short_max=15, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0025 | n_short_max: 15 meta_threshold: 0.55 base_num_leaves: 15 | +2.42 | +3.34 | +1.58 | +3.19 |
meta_threshold=0.55, n_short_max=15, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0026 | n_short_max: 15 meta_threshold: 0.55 base_num_leaves: 15 | -0.47 | -0.28 | -1.91 | +15.65 |
meta_threshold=0.55, n_short_max=15, base_num_leaves=31 r-ml-factor-meta-label-jp-growth-0028 | n_short_max: 15 meta_threshold: 0.55 base_num_leaves: 31 | +2.97 | +3.31 | +1.01 | +7.00 |
meta_threshold=0.55, n_short_max=15, base_num_leaves=31 r-ml-factor-meta-label-jp-growth-0029 | n_short_max: 15 meta_threshold: 0.55 base_num_leaves: 31 | +0.13 | +0.54 | -1.52 | +55.83 |
meta_threshold=0.55, n_short_max=20, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0031 | n_short_max: 20 meta_threshold: 0.55 base_num_leaves: 15 | +1.88 | +3.30 | +0.60 | +2.89 |
meta_threshold=0.55, n_short_max=20, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0032 | n_short_max: 20 meta_threshold: 0.55 base_num_leaves: 15 | -1.07 | -0.72 | -2.49 | +15.75 |
meta_threshold=0.55, n_short_max=20, base_num_leaves=31 r-ml-factor-meta-label-jp-growth-0034 | n_short_max: 20 meta_threshold: 0.55 base_num_leaves: 31 | +2.37 | +3.01 | +0.73 | +5.09 |
meta_threshold=0.55, n_short_max=20, base_num_leaves=31 r-ml-factor-meta-label-jp-growth-0035 | n_short_max: 20 meta_threshold: 0.55 base_num_leaves: 31 | +0.45 | +0.19 | +0.55 | +58.41 |
meta_threshold=0.6, n_short_max=10, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0037 | n_short_max: 10 meta_threshold: 0.6 base_num_leaves: 15 | +1.89 | +1.50 | +1.62 | +3.38 |
meta_threshold=0.6, n_short_max=10, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0038 | n_short_max: 10 meta_threshold: 0.6 base_num_leaves: 15 | -2.05 | -2.15 | -1.94 | +2.70 |
meta_threshold=0.6, n_short_max=10, base_num_leaves=31 r-ml-factor-meta-label-jp-growth-0040 | n_short_max: 10 meta_threshold: 0.6 base_num_leaves: 31 | +2.38 | +2.19 | +1.92 | +3.68 |
meta_threshold=0.6, n_short_max=15, base_num_leaves=31 r-ml-factor-meta-label-jp-growth-0046 | n_short_max: 15 meta_threshold: 0.6 base_num_leaves: 31 | +3.14 | +2.87 | +1.83 | +6.82 |
meta_threshold=0.65, n_short_max=10, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0055 | n_short_max: 10 meta_threshold: 0.65 base_num_leaves: 15 | +1.29 | +1.56 | +0.02 | +4.04 |
meta_threshold=0.65, n_short_max=15, base_num_leaves=15 r-ml-factor-meta-label-jp-growth-0062 | n_short_max: 15 meta_threshold: 0.65 base_num_leaves: 15 | -3.47 | -3.45 | -3.69 | -0.60 |
対象ユニバース
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-24T02:22:16