sf-edge-watch
Edges decay. This skill tells you whether one is still alive, by checking two independent signals:
1. Forward-vs-backtest divergence. If forward-test profit factor has dropped below half of backtest PF, the live edge has cratered relative to the curve fit. Same logic on win rate.
2. Recency collapse. Annualize the 7-day, 30-day and 90-day returns and compare. If the annualized 7d has crashed to less than half of annualized 30d, the regime has turned hostile.
Each fired flag is listed. Status is then assigned:
| Status | Meaning |
|---|---|
alive |
No flags. Keep running. |
soft |
One mild flag (7d small drawdown). Watch it. |
decaying |
2 flags, or one moderate flag. Consider trimming. |
dead |
3+ flags, or forward PF under half of backtest. Pull it. |
When to use
- "Health-check this strategy"
- "Is
trendhoo-v5-by-daviddtech-2543still working?" - "Is the edge dying on my deployed bots?"
- Called as a subprocess by
sf-pruneandsf-loop-pruner
How to run
# Single strategy
python sf-edge-watch/watch.py STRATEGY_ID_OR_SLUG [--json]
# Audit ALL strategies tied to your deployed bots
python sf-edge-watch/watch.py --deployed [--json]
Output
For one strategy: status, flags list, and the underlying metric comparison (forward PF vs backtest PF, etc.).
For --deployed: a table — bot name, strategy, status, flag count — sorted
worst-first.