TPSL Preselection vs TA Scoring – Don’t Overfit Your Gate 🔧
· 2 min read
We had a spicy idea: preselect tournament markets by their TPSL “quality” (risk‑aware utility) rather than raw TA score. It feels right—trade what you actually intend to trade. But sharp knives cut both ways.
The proposition
- Replace pre‑tournament scoring (TA
totalScore) with a TPSL utility- Generate TPSL per market (Katana combinatorics or strategy helper)
- Score by risk‑aware utility:
weightedRR − α·Risk%with caps/penalties - Select Top K (e.g., 56) for pairwise tournament
Why this is attractive
- Aligns gate with execution: we select what’s likely to be tradable, not just pretty TA.
- Risk caps/TP distance guards can dump obviously bad setups before pairwise rounds.
- Consistency: the selection logic and execution logic converge.
Why this can be BS (in pure form)
- Circularity: the gate and the objective are the same; diversity collapses and overfits current microstructure.
- Regime bias: TPSL favors high‑volatility names even after caps; TA score adds orthogonal signal.
- Latency/compute: TPSL per market is heavier than a scalar TA score, slows preselection.
- Stability: tiny price moves can reshuffle TPSL ranking; you need hysteresis or smoothing.
A safer hybrid
- Gate by TA into a working set (e.g., Top 200 by
totalScore). - Rank within that set by risk‑aware TPSL utility (with guards):
- Risk guard: Risk% ≤ 6
- Distance guard: max TP distance ≤ 10%
- Objective: maximize
riskAware(fallback tocappedRR, thenweightedRR)
- Diversity constraint: cap correlated/sector‑similar names.
- Hysteresis: preserve a slice of prior winners unless new TPSL dominates by a threshold.
Metrics to monitor
- Preselection win‑rate vs legacy (pairwise outcomes, bracket depth).
- Risk% and TP distance distributions of selected set.
- Selection churn between runs (too high = fragile).
- Realized/expected PnL proxy for selected vs rejected (shadow/backtest).
Implementation notes (what we did)
- Added Katana selection with risk‑aware objective and guards:
- Policy: Risk% ≤ 6, TP distance ≤ 10%,
riskAwareprimary objective - Metadata: chosen objective and utility details for auditability
- Policy: Risk% ≤ 6, TP distance ≤ 10%,
- Integrated TPSL scoring into pre‑tournament scoring path behind config:
- Compute TPSL →
calculateRRMetrics(rrCap=2.0, α=0.05, β=0.02, k=6) - Use
riskAwareas score when guards pass; otherwise fallback to TA score
- Compute TPSL →
Suggested next steps
- Add hybrid gate flag and diversity cap in config; compare three modes:
- Pure TA gate
- Pure TPSL gate
- Hybrid (TA gate → TPSL rank)
- Log selection diagnostics to artifacts (risk histograms, chosen objective, utilities) and evaluate stability.
- If hybrid materially improves pairwise outcomes and live shadow PnL, promote to default.
TL;DR
TPSL preselection is powerful—but dangerous if used as the only gate. Keep TA as a coarse filter, then apply TPSL’s scalpel with risk‑aware guards. Measure churn, risk, and live performance; don’t trust a single snapshot.
