sf-hot-scan
Thin wrapper over GET /api/user-api/strategies/hot. The agent picks the
filters; this skill ships the request and prints a readable table (or JSON
for chaining into other skills).
When to use
- "Scan StrategyFactory for hot strategies"
- "List HOT strategies with min profit factor 1.5 and max drawdown 20"
- "What's on the SF leaderboard sorted by 30-day return?"
How to run
python sf-hot-scan/scan.py \
[--limit N] \
[--min-win-rate %] [--min-profit-factor X] [--min-net-profit-pct %] \
[--max-drawdown %] [--min-sharpe X] [--min-sortino X] [--min-trades N] \
[--min-pct-7d %] [--min-pct-30d %] [--min-pct-90d %] \
[--min-calmar X] [--max-risk-of-ruin X] [--max-volatility X] \
[--min-expected-monthly %] [--min-expected-yearly %] \
[--q TEXT] [--pair CSV] [--timeframe CSV] [--type T] [--status S] \
[--sort-by FIELD] [--sort-dir asc|desc] \
[--json]
Sort fields: netProfit, winRate, profitFactor, drawdown, sharpe,
sortino, trades, pct7Days, pct30Days, pct90Days, updatedAt.
Output
A table: rank, name, pair, timeframe, PF, win rate, net profit %,
drawdown %, Sharpe, 7d %, 30d %, trades. Or full JSON with --json.
Notes
- Reads
SF_API_KEY/SF_API_SECRETfrom env. Never accepts keys on CLI. - Server defaults: limit 5000 (max 10000). The agent typically wants
--limit 25. - This is the raw scan. For a curated "best 5" use
sf-best-pick.