Skip to content

Skill Portfolio Scanner

Brandon M. Crenshaw edited this page Apr 4, 2026 · 1 revision

Skill: Portfolio Scanner

Triggers: "scan my watchlist", "rank these symbols", "best setup", "relative strength", "portfolio scan", "which is strongest"


What It Does

Scores every symbol in your watchlist (or a custom list) across 5 factors, calculates relative strength vs SPY, ranks all symbols 0–100, and produces the top 3 actionable setups with ATR-based position sizing.

Tool Sequence

1. watchlist_get            → get all symbols (or use user-provided list)
2. batch_run (action: quote) → bulk quotes for all symbols
3. For each symbol:
   chart_set_symbol → data_get_ohlcv (50 bars) → data_get_study_values
4. chart_set_symbol(SPY) → data_get_ohlcv → compute benchmark return
5. For top 3: chart_set_symbol → data_get_pine_lines → capture_screenshot

Scoring Factors (100 points total)

Factor Points Top Score Criteria
Momentum (1/5/20-day) 20 All positive, 20-day > 8%
RSI Position 20 RSI 50–65 (bullish, not OB)
ATR Profile 20 Daily ATR 1–2% of price
Volume Confirmation 20 Rel vol > 1.5x on up days
EMA Structure 20 Price > EMA9 > EMA21 > EMA50

Classification

Score Signal
80–100 STRONG BUY
65–79 BUY
50–64 WATCH
35–49 NEUTRAL
0–34 AVOID / SHORT

ATR Position Sizing

Stop distance = 2 × ATR(14)
Position size = Account_Risk_$ / Stop_distance_$

Example ($100K, 0.5% risk = $500):
  ATR = $2.50 → Stop = $5.00
  Size = $500 / $5.00 = 100 shares

Clone this wiki locally