Strategy Edge Lab
Mesure l'edge d'un filtre de contexte appliqué aux trades exécutés d'une stratégie. Filter Attribution Mode
V1 : biais de sélection assumé — on compare les trades passés avec/sans la condition, pas les signaux pré-filter. Pour la vraie contribution prédictive, V2 ajoutera un strategy replay.
Agent sessions — LLM-generated experiments
#5
running
2026-11-04 06:12:34
0 exp · 0 winners
regime filters on momentum_rotation_v2
#4
done
2026-11-04 05:24:58
6 exp · 0 winners
#3
done
2026-11-04 05:22:49
6 exp · 0 winners
regime filters on momentum_rotation_v2
#2
done
2026-11-04 05:22:13
6 exp · 0 winners
regime filters on momentum_rotation_v2
#1
done
2026-11-04 05:13:49
6 exp · 0 winners
regime filters on momentum_rotation_v2
Lance une nouvelle session :
ddev artisan app:dispatch-edge-discovery --sync --focus="..."
📖 Available features (35 features across 7 groups)
Ce catalog est la source de vérité unique partagée entre : la condition builder ci-dessous,
l'agent LLM (`app:dispatch-edge-discovery`), le chatbot (`edge_list_features`), et le resolver SQL Python.
Modifier via python/src/tnt_python/edge/features.yaml.
Source table :
market_context_snapshotsJoin :
pivot trade_context_snapshots WHERE tf='1d'| Path (clique pour copier) | Type | Range / Values | Notes |
|---|---|---|---|
context.1d.trend_direction
|
categorical |
up
down
neutral
|
— |
context.1d.trend_phase
|
categorical |
pullback
early_expansion
mature_trend
exhaustion
reversal
consolidation
|
— |
context.1d.momentum_score
|
numeric | [0, 1] | — |
Source table :
market_context_snapshotsJoin :
pivot trade_context_snapshots WHERE tf='1h'| Path (clique pour copier) | Type | Range / Values | Notes |
|---|---|---|---|
context.1h.trend_direction
|
categorical |
up
down
neutral
|
— |
context.1h.trend_phase
|
categorical |
pullback
early_expansion
mature_trend
exhaustion
reversal
consolidation
|
— |
context.1h.momentum_score
|
numeric | [0, 1] | 1h momentum intensity (scored by MomentumScorer). |
context.1h.btc_correlation
|
numeric | [-1, 1] | — |
context.1h.btc_outperformance
|
numeric | [-0.3, 0.3] | — |
context.1h.tradability_score
|
numeric | [0, 1] | — |
context.1h.volatility_regime
|
categorical |
compression
normal
expansion
volatile_reversal
|
— |
Source table :
market_context_snapshotsJoin :
pivot trade_context_snapshots WHERE tf='4h'| Path (clique pour copier) | Type | Range / Values | Notes |
|---|---|---|---|
context.4h.trend_direction
|
categorical |
up
down
neutral
|
— |
context.4h.trend_phase
|
categorical |
pullback
early_expansion
mature_trend
exhaustion
reversal
consolidation
|
— |
context.4h.momentum_score
|
numeric | [0, 1] | — |
context.4h.tradability_score
|
numeric | [0, 1] | — |
Source table :
derivatives_features_1hJoin :
(trading_pair_id, floor_hour(start_at))| Path (clique pour copier) | Type | Range / Values | Notes |
|---|---|---|---|
derivatives.oi_change_zscore_7d
|
numeric | [-4, 4] | — |
derivatives.oi_change_1h
|
numeric | [-0.3, 0.3] | — |
derivatives.oi_change_4h
|
numeric | [-0.5, 0.5] | — |
derivatives.funding_current
|
numeric | [-0.01, 0.01] | — |
derivatives.funding_percentile_7d
|
numeric | [0, 1] | — |
derivatives.price_oi_state
|
categorical |
diverging_bullish
diverging_bearish
converging
neutral
|
— |
Source table :
coin_quality_scoresJoin :
trades.quality_score_id| Path (clique pour copier) | Type | Range / Values | Notes |
|---|---|---|---|
quality.score
|
numeric | [0, 1] | Composite quality score at trade entry (base TF depends on strategy). |
quality.momentum_score
|
numeric | [0, 1] | — |
quality.rank_norm_sma_8h
|
numeric | [0, 1] | Stability of this coin's rank over last 8h. |
Source table :
market_regimesJoin :
trades.market_regime_id| Path (clique pour copier) | Type | Range / Values | Notes |
|---|---|---|---|
regime.primary_bias
|
categorical |
bull
bear
range
|
BTC 1D bias snapshot at trade entry. |
regime.current_phase
|
categorical |
bull_expansion
bull_pullback
bull_consolidation
bear_expansion
range_bound
range_breakout_attempt
range_breakdown_risk
|
Fine-grained BTC regime phase (bias × dynamics). |
regime.breadth_state
|
categorical |
expanding
recovering
stable
contracting
deteriorating
insufficient_history
|
Breadth dynamic state derived from delta_breadth_1h + level. |
regime.breadth_score
|
numeric | [0, 1] | Multi-TF breadth aggregate — pct coins bullish-aligned. |
regime.delta_breadth_1h
|
numeric | [-0.5, 0.5] | — |
regime.delta_breadth_24h
|
numeric | [-0.5, 0.5] | — |
regime.participation_state
|
categorical |
broad_risk_on
btc_led_risk_on
alt_rotation
alt_capitulation
broad_risk_off
btc_defensive
btc_led_risk_off
mixed_dispersion
|
Who leads the market : BTC vs alts. |
regime.dispersion_score
|
numeric | [0, 2] | — |
Source table :
tradesJoin :
direct col / derived SQL| Path (clique pour copier) | Type | Range / Values | Notes |
|---|---|---|---|
trade.direction
|
categorical |
long
short
|
trade_type column (long|short). |
trade.hour_of_day_utc
|
numeric | [0, 23] | UTC hour at entry — captures session effects (Asia/EU/US). |
trade.weekday_utc
|
numeric | [0, 6] | 0=Mon, 6=Sun UTC. |
trade.initial_risk_pct
|
numeric | [0, 20] | Planned risk % at entry (SL distance / entry). |
Operators autorisés :
>= <= == (scalaire) ·
in not_in (liste, pour categorical).
Combinaison : 1 condition OU 2 conditions en AND (pas d'OR, pas de NOT, pas de nesting).
Threshold hygiene : viser 20-50% de trades inside. Éviter 50/50 (pas d'edge) et <10% (power issue).
+ New experiment
| # | Name / Spec | Strategy | Target | N inside | N outside | Edge vs matched | Verdict | Created |
|---|---|---|---|---|---|---|---|---|
| #26 |
breadth_expanding_positive_delta_v2
regime.breadth_state AND regime.delta_breadth_24h
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 3 minutes ago |
| #25 |
breadth_score_high_v1
regime.breadth_score
|
momentum_rotation_v2 | pnl_r | 3079 | 5658 | -0.0034 | overfit suspect | 5 minutes ago |
| #24 |
pav_daily_alignment_high_4h_mom_v1
context.1d.trend_direction AND context.4h.momentum_score
|
pav_long_momentum_4h | pnl_r | 0 | 0 | — | no data | 52 minutes ago |
| #23 |
pav_4h_up_and_tradable_v1
context.4h.trend_direction AND context.4h.tradability_score
|
pav_long_momentum_4h | pnl_r | 0 | 0 | — | no data | 52 minutes ago |
| #21 |
us_session_entry_hours_v2
trade.hour_of_day_utc AND trade.hour_of_day_utc
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 52 minutes ago |
| #22 |
high_dispersion_opportunity_v1
regime.dispersion_score
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 52 minutes ago |
| #20 |
oi_build_high_funding_risk_v1
derivatives.oi_change_zscore_7d AND derivatives.funding_percentile_7d
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 52 minutes ago |
| #19 |
alt_rotation_low_btc_corr_v1
regime.participation_state AND context.1h.btc_correlation
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 52 minutes ago |
| #18 |
4h_up_and_tradable_pav_filter_v1
context.4h.trend_direction AND context.4h.tradability_score
|
pav_long_momentum_4h | pnl_r | 0 | 0 | — | no data | 54 minutes ago |
| #17 |
alt_rotation_diverging_oi_v1
regime.participation_state AND derivatives.price_oi_state
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 54 minutes ago |
| #16 |
breadth_expanding_positive_delta_v1
regime.breadth_state AND regime.delta_breadth_24h
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 54 minutes ago |
| #15 |
high_breadth_score_v1
regime.breadth_score
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 54 minutes ago |
| #14 |
bull_expansion_phase_v1
regime.current_phase
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 54 minutes ago |
| #13 |
bull_bias_entries_v1
regime.primary_bias
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 54 minutes ago |
| #12 |
us_session_entry_hours_v1
trade.hour_of_day_utc
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 55 minutes ago |
| #11 |
1d_up_and_4h_tradable_v1
context.1d.trend_direction AND context.4h.tradability_score
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 55 minutes ago |
| #10 |
low_btc_corr_high_1h_mom_v1
context.1h.btc_correlation AND context.1h.momentum_score
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 55 minutes ago |
| #8 |
btc_led_with_diverging_oi_v1
regime.participation_state AND derivatives.price_oi_state
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 55 minutes ago |
| #9 |
high_dispersion_cross_section_v1
regime.dispersion_score
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 55 minutes ago |
| #7 |
breadth_expanding_positive_delta_v1
regime.breadth_state AND regime.delta_breadth_24h
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 55 minutes ago |
| #5 |
us_session_hours_v1
trade.hour_of_day_utc
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 1 hour ago |
| #6 |
breadth_expanding_v1
regime.breadth_state
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 1 hour ago |
| #4 |
oi_build_and_high_funding_v1
derivatives.oi_change_zscore_7d AND derivatives.funding_percentile_7d
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 1 hour ago |
| #3 |
alt_rotation_4h_up_v1
regime.participation_state AND context.4h.trend_direction
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 1 hour ago |
| #2 |
bull_expansion_pullback_phase_v1
regime.current_phase
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 1 hour ago |
| #1 |
bull_breadth_high_filter_v1
regime.primary_bias AND regime.breadth_score
|
momentum_rotation_v2 | pnl_r | 0 | 0 | — | no data | 1 hour ago |