ML Factor with Meta-Label Filter (JP Growth Stocks)
ML Factor with Meta-Label Filter (JP Growth Stocks) backtest. Median Sharpe across 48 parameter sets is +0.66. p-value is 0.06. Max DD is -30.6%. Period: 2024-07-01 to 2025-06-30. Best Sharpe +3.14 is not the representative figure.
Verdict: marginal. Some parameter set has a p-value under 0.10, but the median itself misses promising (Sharpe > 0.5 and p-value < 0.05). Primary reason: no_edge. It is not regime, frequency, or cost, and the median does not clear the bar.
Performance summary
Hypothesis
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.
Why it didn't work
Across 48 grid combinations, median Sharpe=0.66, best=3.14. Primary failure mode: no_edge.
Facts (5)
Runs (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 |
Target universe
Related strategies
Related strategies
- ML Factor 12f-Quality with Meta-Label Filter (JP Growth Stocks)marginal
- ML Factor Regime-Gated 9f-base (JP Growth Stocks)marginal
- ML Factor Regime-Gated 12f-quality (JP Growth Stocks)marginal
- LightGBM Factor Model 12f-quality (JP Growth Stocks)marginal
- LightGBM Factor Model 13f-financial (JP Growth Stocks)marginal