Objective
#

Take the Lab 5/6 model stack from backtest to live operation. Two components: a Radar (automated signal engine) and Central Command (TUI approval dashboard).


Radar — Signal Engine
#

  1. Pickle the Lab 6 model — serialize the 4-state HMM so it loads instantly without refitting
  2. Signal engine — fetch latest SOL candle, compute observation vector, run predict_proba(), apply entry/exit thresholds, emit typed signal
  3. SQLite schema — lab7_signals.db stores signal history with timestamps, regime posteriors, and approval status
  4. Notifier — lab7_notifier.py reads config for enabled channels, fires notify-send and/or Telegram with formatted message
  5. Cron — engine scheduled at 00:05 UTC daily; manual dry-run forces a signal through the full pipeline

Central Command — TUI
#

Built with Textual:

PanelContent
RegimePanel (left)4 color-coded γ_k progress bars + regime trend arrow vs 7-day avg
SignalCard (right top)Current signal: ENTER / EXIT / HOLD with confidence
Approve/Reject buttonsHuman-in-the-loop gate before any position is taken
HistoryTable (bottom)Full signal log with outcomes

Design Principle
#

The system does not trade automatically. It surfaces the model’s view, shows the regime context, and waits for human confirmation. This keeps the operator in control while removing the burden of watching charts manually.

The Radar fires daily; the operator reviews on their own schedule. Every approved signal is logged with the full regime state for future analysis.