| name | sf-market-fit |
| description | Find StrategyFactory strategies that are winning RIGHT NOW in the current market regime — accelerating 7-day returns, strong 30-day, with edge still intact. Use when the user asks "what's working this week / which strategies fit the current market / find strategies that match BTC's regime / show me what's hot the last 7 days". Read-only. |
sf-market-fit
"Best strategy of the year" and "best strategy this week" are not the same
thing. This skill picks strategies that are winning in the current
market, not strategies with a fat 90-day backtest that has since gone
cold.
Signal
For every candidate, compute annualized returns over three windows:
ann_7 = pct7Days × (365/7)
ann_30 = pct30Days × (365/30)
ann_90 = pct90Days × (365/90)
Then label:
accelerating — ann_7 > ann_30 > ann_90 and 7d positive (best fit)
steady — recent windows positive and not collapsing
fading — 7d down sharply vs 30d (recent regime hostile)
stale — 30d non-positive or PF below 1.1 (not a current edge)
Only accelerating and steady make the cut. fading is rejected here
but surfaced by sf-edge-watch.
When to use
- "What strategies are working this week?"
- "Find me strategies that fit the current market"
- "Which edges are accelerating?"
How to run
python sf-market-fit/fit.py \
[--top N] # default 10
[--prescreen N] # default 150
[--min-pf X] # default 1.2
[--min-trades N] # default 30
[--pair CSV] [--timeframe CSV]
[--include-fading] # surface fading/stale too, with labels
[--json]
Output
Ranked table with score, label (accelerating/steady/fading/stale), and the
3 recency windows so the user can see what changed.