Prop-Firm Trader
BuiltSignature capability
Honest edge validation: under 5-fold walk-forward on fresh Hyperliquid data only the Donchian trending leg cleared OOS Sharpe > 0.5 (+0.88), so the two unproven legs are disabled by default in code (EDGE_VALIDATED_MODES = {"trending"}) rather than shipped as decoration.
What it is
Every 60s the loop detects market regime from ADX plus an ATR volatility gate, routes to one of three strategy legs (Donchian breakout for trending, RSI mean-reversion for ranging, vol-breakout for volatile), then runs a 15-check fail-closed risk guard before a bracket order whose TP/SL is never touched after placement. Position sizing is fractional vol-targeted Kelly via kaleo/risk_engine.py, where negative Kelly means zero allocation. The risk model nests internal halts (2.5% daily, 8% trailing) inside HyroTrader's harder limits, and enforces a structural bound: 6 trades/day x 0.75% risk = 4.5% < the 5% daily-loss limit, so the trade-count cap protects the account even with no live equity feed. It's honest about maturity: Phase 1 is semi-automated (signals to Discord, manual placement on CLEO) and it hasn't cleared its own pre-live paper gate yet.
Highlights
- 242 test functions across 15 unit files; risk_guard is a pure function with all 15 checks failing closed (zero/negative price or a missing vol gate demotes to IDLE rather than trading blind)
- Walk-forward validation gates which legs can trade: EDGE_VALIDATED_MODES = {"trending"} disables RSI (OOS Sharpe -0.04) and the unvalidated vol-breakout leg until they pass a paper gate
- 3-year forward rundown over 10 coins: HIGH/trending band = 4,691 trades, 34.4% win, +0.133 avg R (vs 25% breakeven at 3:1); confidence score correctly ranks trending above the roughly-breakeven volatile and ranging bands
- Config source-of-truth discipline: prop_firm_config.json is explicitly marked NON-AUTHORITATIVE because no code reads it; challenge_config.py is the single source of truth
- ADX computed inline via Wilder's RMA smoothing to mirror the existing regime_detector, plus a two-book dry-run trader (directional + market-neutral cross-sectional momentum sleeve) with a weekly forward digest
- Firm-agnostic advisory scanner that always returns a ranked, confidence-scored top-crypto table (confidence = signal strength x leg edge weight x regime fit) with no account gating
Tech · Python 3.11+, pydantic v2, pytest + pytest-cov, ruff/black, Hyperliquid market-data API, HyroTrader/CLEO + Bybit adapter (planned Phase 2), Discord webhooks