Asset-neutral close-H H10 — séparation 30m vs 1h et gate Validation-only
Construire deux scores Ridge/Huber rapides asset-neutral séparés sur contextes 30m et 1h, puis appliquer un gate Validation-only: consensus signe, moyenne rankée, ou fallback meilleur score; exclure 2h/4h qui ont dilué les edges précédents.
Gate 30m/1h intéressant mais non promotionnel: Validation choisit ridge_a1000_c50_fallback_best_score (score pénalisé 219.70) avec gain 254.55% DD -19.27% sur 59 trades. Test reporting-only 65.52% DD -19.20% sur 22 trades, avg 2.627%. Recent -0.55% DD -9.08% sur 2 trades. Consensus sélectionné: False.
Anti-leakage: scalers/modèles fit Train-only par fold; quantiles conformal sur queue chronologique Train; règle, coverage et modèle choisis sur Validation uniquement; Test/Recent reporting-only. Les contextes 30m/1h sont deux vues de features, sans 2h/4h.
Diagnostics exécution
TP hits 0 / timeouts 22 · hit-rate 0.0% · bars moyens 20.0 · open avg/max 1.00/1 · exposure avg/max 1.00/1.00.
Courbes

Table configurations
| Sel | Config | Split | Val pénalisé | Score | Gain | DD | Trades | Actifs | Avg/trade | Top actif | Top share |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ridge_a1000_c50_consensus_sign | val | 58.59 | 58.59 | 82.4% | -15.9% | 28 | 7 | 2.400% | XRP | 38.4% | |
| ridge_a1000_c50_consensus_sign | test | 58.59 | 13.21 | 21.3% | -5.4% | 6 | 2 | 3.402% | XRP | 94.6% | |
| ridge_a1000_c50_consensus_sign | recent | 58.59 | 1.91 | 1.9% | 0.0% | 1 | 1 | 1.914% | XRP | 100.0% | |
| ridge_a1000_c50_mean_margin | val | 68.83 | 68.83 | 93.7% | -16.5% | 33 | 8 | 2.283% | ADA | 37.6% | |
| ridge_a1000_c50_mean_margin | test | 68.83 | 28.00 | 37.4% | -6.3% | 10 | 2 | 3.371% | XRP | 57.7% | |
| ridge_a1000_c50_mean_margin | recent | 68.83 | 1.91 | 1.9% | 0.0% | 1 | 1 | 1.914% | XRP | 100.0% | |
| ✓ | ridge_a1000_c50_fallback_best_score | val | 219.70 | 225.65 | 254.6% | -19.3% | 59 | 7 | 2.420% | XRP | 49.0% |
| ✓ | ridge_a1000_c50_fallback_best_score | test | 219.70 | 36.72 | 65.5% | -19.2% | 22 | 6 | 2.627% | XRP | 46.2% |
| ✓ | ridge_a1000_c50_fallback_best_score | recent | 219.70 | -14.17 | -0.5% | -9.1% | 2 | 2 | 0.152% | XRP | 50.8% |
| ridge_a1000_c50_parent_30m | val | 116.20 | 125.80 | 154.7% | -19.3% | 48 | 7 | 2.250% | XRP | 51.4% | |
| ridge_a1000_c50_parent_30m | test | 116.20 | -6.28 | 29.0% | -23.5% | 15 | 5 | 2.139% | XRP | 54.1% | |
| ridge_a1000_c50_parent_30m | recent | 116.20 | -14.17 | -0.5% | -9.1% | 2 | 2 | 0.152% | XRP | 50.8% | |
| ridge_a1000_c50_parent_1h | val | 141.74 | 141.74 | 168.9% | -18.1% | 44 | 7 | 2.508% | ADA | 29.0% | |
| ridge_a1000_c50_parent_1h | test | 141.74 | 29.16 | 48.2% | -12.7% | 19 | 6 | 2.274% | ADA | 25.1% | |
| ridge_a1000_c50_parent_1h | recent | 141.74 | 5.90 | 6.3% | -0.3% | 2 | 2 | 3.150% | SUI | 96.2% | |
| ridge_a1000_c65_consensus_sign | val | 76.18 | 131.40 | 134.6% | -2.1% | 12 | 5 | 7.493% | XRP | 55.8% | |
| ridge_a1000_c65_consensus_sign | test | 76.18 | 28.31 | 28.3% | 0.0% | 4 | 2 | 6.470% | XRP | 72.1% | |
| ridge_a1000_c65_consensus_sign | recent | 76.18 | 10.91 | 10.9% | 0.0% | 1 | 1 | 10.912% | XRP | 100.0% | |
| ridge_a1000_c65_mean_margin | val | 26.45 | 88.61 | 106.5% | -12.0% | 15 | 5 | 5.146% | XRP | 66.4% | |
| ridge_a1000_c65_mean_margin | test | 26.45 | 26.82 | 26.8% | 0.0% | 4 | 2 | 6.148% | XRP | 70.7% | |
| ridge_a1000_c65_mean_margin | recent | 26.45 | 9.63 | 9.6% | 0.0% | 1 | 1 | 9.625% | XRP | 100.0% | |
| ridge_a1000_c65_fallback_best_score | val | 98.71 | 107.71 | 133.8% | -17.4% | 22 | 7 | 4.204% | XRP | 31.1% | |
| ridge_a1000_c65_fallback_best_score | test | 98.71 | 30.19 | 30.2% | 0.0% | 4 | 2 | 6.862% | XRP | 62.0% | |
| ridge_a1000_c65_fallback_best_score | recent | 98.71 | 9.27 | 9.3% | 0.0% | 1 | 1 | 9.271% | XRP | 100.0% | |
| ridge_a1000_c65_parent_30m | val | 86.60 | 113.23 | 139.3% | -17.4% | 19 | 6 | 5.016% | XRP | 50.8% | |
| ridge_a1000_c65_parent_30m | test | 86.60 | 32.15 | 32.2% | 0.0% | 4 | 2 | 7.272% | XRP | 64.2% | |
| ridge_a1000_c65_parent_30m | recent | 86.60 | 10.91 | 10.9% | 0.0% | 1 | 1 | 10.912% | XRP | 100.0% | |
| ridge_a1000_c65_parent_1h | val | 85.09 | 112.09 | 123.7% | -7.7% | 16 | 7 | 5.371% | XRP | 35.6% | |
| ridge_a1000_c65_parent_1h | test | 85.09 | 26.41 | 26.4% | 0.0% | 4 | 2 | 6.060% | XRP | 70.2% | |
| ridge_a1000_c65_parent_1h | recent | 85.09 | 9.27 | 9.3% | 0.0% | 1 | 1 | 9.271% | XRP | 100.0% | |
| huber_a0001_c50_consensus_sign | val | 44.46 | 53.46 | 71.4% | -12.0% | 22 | 6 | 2.664% | XRP | 33.3% | |
| huber_a0001_c50_consensus_sign | test | 44.46 | 37.66 | 42.4% | -3.2% | 6 | 3 | 6.172% | SOL | 43.5% | |
| huber_a0001_c50_consensus_sign | recent | 44.46 | 1.19 | 5.9% | -3.2% | 2 | 1 | 3.114% | XRP | 100.0% | |
| huber_a0001_c50_mean_margin | val | 27.02 | 27.02 | 61.9% | -23.3% | 36 | 8 | 1.567% | XRP | 33.4% | |
| huber_a0001_c50_mean_margin | test | 27.02 | 36.37 | 44.9% | -5.7% | 12 | 5 | 3.306% | XRP | 69.7% | |
| huber_a0001_c50_mean_margin | recent | 27.02 | 1.19 | 5.9% | -3.2% | 2 | 1 | 3.114% | XRP | 100.0% | |
| huber_a0001_c50_fallback_best_score | val | 166.78 | 166.78 | 198.2% | -21.0% | 82 | 9 | 1.606% | DOT | 42.5% | |
| huber_a0001_c50_fallback_best_score | test | 166.78 | 297.93 | 306.0% | -5.3% | 30 | 9 | 5.168% | DOT | 30.0% | |
| huber_a0001_c50_fallback_best_score | recent | 166.78 | 14.46 | 18.3% | -2.6% | 7 | 5 | 2.509% | XRP | 34.7% | |
| huber_a0001_c50_parent_30m | val | 125.01 | 125.01 | 153.9% | -19.3% | 37 | 8 | 2.995% | DOT | 34.7% | |
| huber_a0001_c50_parent_30m | test | 125.01 | 61.26 | 76.4% | -10.1% | 11 | 5 | 6.095% | DOT | 61.5% | |
| huber_a0001_c50_parent_30m | recent | 125.01 | 2.78 | 5.0% | -1.5% | 2 | 2 | 2.530% | XRP | 81.7% | |
| huber_a0001_c50_parent_1h | val | 89.72 | 105.11 | 136.6% | -21.0% | 75 | 7 | 1.321% | SUI | 55.3% | |
| huber_a0001_c50_parent_1h | test | 89.72 | 67.26 | 93.9% | -17.8% | 28 | 8 | 2.617% | ADA | 35.6% | |
| huber_a0001_c50_parent_1h | recent | 89.72 | 2.31 | 7.0% | -3.2% | 6 | 3 | 1.235% | LINK | 64.1% | |
| huber_a0001_c65_consensus_sign | val | -34.33 | 13.67 | 22.6% | -6.0% | 9 | 7 | 2.348% | XRP | 18.7% | |
| huber_a0001_c65_consensus_sign | test | -34.33 | 37.61 | 37.6% | 0.0% | 3 | 2 | 11.391% | DOT | 55.5% | |
| huber_a0001_c65_consensus_sign | recent | -34.33 | 10.91 | 10.9% | 0.0% | 1 | 1 | 10.912% | XRP | 100.0% | |
| huber_a0001_c65_mean_margin | val | 98.22 | 122.22 | 129.8% | -5.0% | 17 | 7 | 5.126% | XRP | 30.5% | |
| huber_a0001_c65_mean_margin | test | 98.22 | 20.86 | 24.5% | -2.4% | 5 | 3 | 4.564% | XRP | 61.5% | |
| huber_a0001_c65_mean_margin | recent | 98.22 | 9.27 | 9.3% | 0.0% | 1 | 1 | 9.271% | XRP | 100.0% | |
| huber_a0001_c65_fallback_best_score | val | 49.96 | 49.96 | 81.3% | -20.9% | 35 | 9 | 1.899% | SOL | 36.1% | |
| huber_a0001_c65_fallback_best_score | test | 49.96 | 56.61 | 60.2% | -2.4% | 9 | 6 | 5.496% | ADA | 38.6% | |
| huber_a0001_c65_fallback_best_score | recent | 49.96 | 11.77 | 11.8% | 0.0% | 2 | 2 | 5.792% | BCH | 83.5% | |
| huber_a0001_c65_parent_30m | val | -14.04 | 18.96 | 28.6% | -6.4% | 14 | 7 | 1.884% | SOL | 34.2% | |
| huber_a0001_c65_parent_30m | test | -14.04 | 32.15 | 32.2% | 0.0% | 4 | 2 | 7.272% | XRP | 64.2% | |
| huber_a0001_c65_parent_30m | recent | -14.04 | 10.91 | 10.9% | 0.0% | 1 | 1 | 10.912% | XRP | 100.0% | |
| huber_a0001_c65_parent_1h | val | 89.24 | 89.24 | 120.6% | -20.9% | 33 | 8 | 2.666% | SUI | 31.0% | |
| huber_a0001_c65_parent_1h | test | 89.24 | 74.94 | 78.6% | -2.4% | 9 | 6 | 6.845% | ADA | 34.1% | |
| huber_a0001_c65_parent_1h | recent | 89.24 | 11.77 | 11.8% | 0.0% | 2 | 2 | 5.792% | BCH | 83.5% |
Leçon & suite
Leçon causale: Si un vrai consensus 30m/1h gagne sur Validation, le bruit de micro-timing était probablement une source de faux positifs; si un parent/fallback gagne, la séparation temporelle n'apporte pas d'information orthogonale robuste et l'empilement de vues risque surtout de retuner le signal 282.
Implication suivante: Si la sélection Val est un consensus avec Test/Recent acceptables, auditer ensuite concentration leave-one actif/mois et scénario c50/L2 gelé. Si la sélection reste parent/fallback ou fragile, ne pas ajouter 2h/4h et revenir à monitor frozen 282/288 ou chercher une causalité orthogonale hors horizon proche.
Graphiques Val/Test
Sélection sur Validation uniquement. Le Test est affiché seulement pour juger le transfert.
