trading-alert-scheduler
Target: 30 min/day saved + fewer missed setups from not watching screens during 50-call days.
<quick_start> Daily automated run (7am CST / 8am EST — 1.5 hrs before market open): Scheduled task scans all watchlist tickers + open positions → delivers digest
On-demand: "market digest" → runs full scan now "what's setting up" → filtered to high-conviction setups only "check my positions" → IBKR portfolio health only
Trigger phrases:
- "market digest" / "trading alerts" / "pre-market scan"
- "watchlist check" / "what's setting up"
- "trading morning brief" / "market open prep"
- "check my positions" / "position health" </quick_start>
<success_criteria>
- All watchlist tickers scanned with regime + technical analysis
- Open IBKR positions checked for risk/expiry/Greeks health
- High-conviction setups (confluence ≥ 0.7) surfaced at top
- Position risk alerts flagged (approaching max loss, expiry, assignment risk)
- Digest scannable in under 3 minutes
- No intraday interruptions — one daily read covers everything
- Missed setup rate reduced vs manual checking </success_criteria>
Architecture
SCHEDULED (7am CST) ANALYSIS OUTPUT
──────────────────────────────────────────────────────────────────────
Watchlist tickers → Regime detection (Markov) → Daily Digest
IBKR open positions → Technical scan (5 methods) → Action List
Market internals → Options flow anomalies → Position Alerts
Economic calendar → Greeks/risk check positions → Risk Dashboard
Stage 1: Data Collection
1a. Watchlist Tickers
Tim's default watchlist (update in reference/watchlist.json):
Core positions: SPY, QQQ, IWM, TLT, GLD, SLV, USO, VIX Individual stocks: AAPL, MSFT, NVDA, TSLA, AMZN, META, GOOG, AMD, PLTR, COIN Crypto proxies: BITO, MSTR Sector ETFs: XLF, XLE, XLK, ARKK, SMH
For each ticker, use web search to pull:
- Current price + pre-market move
- 5-day price action summary
- Volume vs average
- Key support/resistance levels
- Any overnight news/catalysts
1b. IBKR Portfolio Positions
Use IBKR MCP server tools (ArjunDivecha/ibkr-mcp-server, installed at ~/Desktop/tk_projects/ibkr-mcp-server/):
| Tool | Data Pulled |
|---|---|
get_portfolio |
All open positions + P&L across accounts (Roth IRA, personal brokerage, THK Enterprises) |
get_account_summary |
Balances, margin utilization, buying power, cash available |
switch_account |
Toggle between accounts for per-account view |
get_margin_requirements |
Current margin needs per position |
Prerequisites: IB Gateway must be running on port 7497 (paper) or 7496 (live). If IBKR not connected: Skip this section — web search covers market data. Portfolio section shows "IBKR not connected — start IB Gateway to enable portfolio checks."
1c. Market Internals
Web search for:
- S&P 500 advance/decline
- VIX level + term structure (contango/backwardation)
- Put/call ratio
- 10Y Treasury yield
- DXY (dollar index)
- Fed funds futures (rate expectations)
- Economic calendar events for today
Stage 2: Analysis (Using trading-signals Framework)
2a. Regime Detection
For SPY (market proxy), run Markov 7-state regime model:
| State | Description | Strategy Bias |
|---|---|---|
| 0 | Strong bull | Long bias, sell puts |
| 1 | Moderate bull | Long bias, covered calls |
| 2 | Weak bull / consolidation | Neutral, iron condors |
| 3 | Transition / chop | Reduce size, wait |
| 4 | Weak bear | Hedge, reduce long |
| 5 | Moderate bear | Short bias, buy puts |
| 6 | Crash / high vol | Protection mode, VIX plays |
2b. Per-Ticker Technical Scan
For each watchlist ticker, score on 5 methodologies:
| Method | Signal | Weight (regime-adjusted) |
|---|---|---|
| Elliott Wave | Wave position + projected target | 20-30% |
| Wyckoff | Accumulation/distribution phase | 15-25% |
| Fibonacci | Key retracement/extension levels | 15-20% |
| Turtle | Donchian breakout signals | 10-20% |
| Markov Regime | Regime-appropriate strategy | 20-30% |
Confluence Score: Weighted average across methods
- ≥ 0.7: HIGH — Flag as actionable setup
- 0.4-0.7: MODERATE — Watch list, note trigger level
- < 0.4: LOW — No action, skip from digest
2c. Options Flow Scan
For tickers with options positions or high confluence:
- Unusual volume (>2x avg) on specific strikes
- Put/call ratio shifts
- Implied volatility rank (IVR) — is premium rich or cheap?
- Earnings dates within 14 days
2d. Position Health Check
For each open IBKR position (via get_portfolio + get_account_summary):
| Check | Alert Threshold |
|---|---|
| Days to expiry | < 7 DTE on options → ROLL/CLOSE decision |
| Delta exposure | Portfolio delta > ±50 → hedge needed |
| Max loss approaching | Position down > 50% of max loss → manage |
| Assignment risk | ITM short options near expiry → close or roll |
| Theta decay | Positive theta across portfolio? |
| Margin utilization | > 50% → reduce risk |
| Concentrated position | Any single position > 15% of portfolio → flag |
Stage 3: Output — Daily Trading Digest
╔══════════════════════════════════════════════════════════════╗
║ TRADING DIGEST — [Date] | Pre-Market ║
║ Market Regime: [STATE] | VIX: [level] | Futures: [ES move] ║
╠══════════════════════════════════════════════════════════════╣
MARKET OVERVIEW:
- ES Futures: [+/-X.XX%] | NQ: [+/-X.XX%]
- VIX: [level] ([contango/backwardation])
- 10Y: [yield] | DXY: [level]
- Key event today: [economic calendar item]
═══════════════════════════════════════════════════════════════
🎯 HIGH-CONVICTION SETUPS (confluence ≥ 0.7):
1. [TICKER] — [Direction] | Confluence: [0.XX]
Setup: [description — e.g., "Wyckoff spring at $185 support,
Elliott wave 3 launching, Turtle breakout confirmed"]
Entry: $[XX.XX] | Target: $[XX.XX] | Stop: $[XX.XX]
Options play: [specific strategy — e.g., "Apr 190C @ $3.20,
delta 0.45, 3:1 R:R"]
Why: [1-2 sentence reasoning]
2. [TICKER] — [Direction] | Confluence: [0.XX]
...
═══════════════════════════════════════════════════════════════
⚠️ POSITION ALERTS (action needed):
1. [TICKER] [STRIKE] [EXPIRY] — [ALERT TYPE]
Current P&L: [+/-$XXX] | Days to expiry: [X]
Recommended action: [ROLL to [new strike/expiry] | CLOSE | HOLD]
Why: [reason]
═══════════════════════════════════════════════════════════════
👀 WATCHLIST (confluence 0.4-0.7, not yet actionable):
| Ticker | Direction | Confluence | Trigger Level | Note |
|--------|-----------|------------|---------------|------|
| NVDA | Long | 0.55 | Break $950 | Needs volume confirm |
| TLT | Long | 0.48 | Hold $88 | Rate decision Thurs |
═══════════════════════════════════════════════════════════════
📊 PORTFOLIO SNAPSHOT:
| Account | Value | Day P&L | Margin Used |
|---------|-------|---------|-------------|
| Roth IRA | $XX,XXX | +/-$XXX | N/A |
| Personal | $XX,XXX | +/-$XXX | XX% |
| Business | $XX,XXX | +/-$XXX | XX% |
Net Delta: [+/-XX] | Net Theta: [+/-$XX/day] | IVR avg: [XX%]
═══════════════════════════════════════════════════════════════
📅 THIS WEEK:
- [Earnings/events that affect watchlist]
- [Fed speakers / economic data]
- [Options expiration dates]
╚══════════════════════════════════════════════════════════════╝
Rules
- No intraday alerts. This runs ONCE at 7am. Tim checks it, makes decisions, then focuses on BDR work.
- Actionable only. Don't list 30 tickers with "neutral" signals. Only surface what needs attention.
- Position management first. Alerts on existing positions before new setups.
- Risk management always. Every setup includes stop loss. Portfolio delta/margin always visible.
- 2% rule enforced. Flag if any suggested trade exceeds 2% portfolio risk.
- 15% concentration rule. Flag if any position exceeds 15% of account.
Required Tools
- Web Search: Pre-market data, news, economic calendar, options flow (primary data source)
- IBKR MCP (
ArjunDivecha/ibkr-mcp-server): get_portfolio, get_account_summary, switch_account, get_market_data, get_historical_data, get_margin_requirements, check_shortable_shares, get_borrow_rates, short_selling_analysis, get_connection_status — requires IB Gateway on port 7497 (paper) or 7496 (live). If not connected, web search covers market data. - Scheduling: CronCreate
"53 6 * * 1-5"for session-based 7am CST runs (3-day auto-expire)
Data Sources (via web search)
- Yahoo Finance / TradingView: Price data, technicals
- CBOE: VIX, put/call ratios
- CME: Futures, Fed funds
- Finviz: Screener, market internals
- Unusual Whales / Barchart: Options flow