Redhound Product Roadmap — Trader's Heaven¶
Turn Redhound from a single-session stock analyzer into a full-stack trading intelligence platform that alerts traders to opportunities, manages their portfolio, and validates strategies with historical data.
Vision¶
A trader opens Redhound in the morning. Their dashboard shows overnight alerts — NVDA hit a key support level, AAPL's Piotroski score just improved, sector rotation signals are flashing for energy. They drill into the NVDA alert, see the full multi-agent analysis already ran automatically, and decide to add to their position. Their portfolio view updates with the new position, shows real-time P&L, and the risk engine recalculates their overall exposure. Later, before deploying a new mean-reversion strategy, they backtest it across 2 years of data and compare it against their current approach.
What We Have Today¶
Core Analysis Engine - 10-specialist analyst team: 5 core analysts (Technical, Fundamentals, Sentiment, News, Market Context) running in parallel + 5 optional edge analysts (Sector, Insider, Options Flow, Short Interest, Earnings Revisions) dynamically weighted when data is available (40–50% faster than sequential) - Confidence-gated debate: HIGH confidence (>80%) skips debate entirely; MEDIUM runs 1 round; LOW runs 2 rounds — saving 30–70K tokens per session - Deterministic Risk Overlay: Zero-LLM position sizing, stop-loss (ATR/Bollinger), and regime-aware adjustments - Signal accuracy system: Entropy-based confidence, VIX linear interpolation, RSI divergence detection, OBV volume confirmation, multi-timeframe confirmation, sector rotation signal, earnings proximity discounts, and regime-specific BUY/SELL thresholds
Adaptive Intelligence
- Adaptive analyst weights: Weekly accuracy tracking drives per-analyst weight updates via WeightService
- Vector memory: pgvector-powered historical context retrieval for consistent decision making
- Walk-forward backtesting: Out-of-sample validation with MAE/MFE per-trade analysis
Web Application (redhound.vercel.app) - Sessions: Full session history, real-time agent reasoning feed, debate visualization - Stock profiles: Live price, fundamentals, indicators, and signals for any ticker - Screener: Filter S&P 500 / NASDAQ 100 by technical and fundamental conditions in real-time - Portfolio: Track holdings, P&L, allocations, and risk exposure - Watchlists & Alerts: Multiple watchlists; price, technical, fundamental, and signal alerts - Background scanner: Continuous market scanning with configurable conditions and auto-analysis - Opportunities feed: Detected trading opportunities with confidence scoring - Backtest UI: Strategy builder, equity curves, trade log, monthly returns heatmap
Infrastructure - Real-time price feed: WebSocket-based live price broadcasting during market hours - Usage dashboard: Token and cost tracking per session and analyst - Observability: Prometheus/Grafana stack, structured logging, health checks
Phase 1: Portfolio Hub ✅¶
The core screen traders will live in. Track positions, see P&L, and understand exposure at a glance.
1.1 Portfolio Dashboard (/portfolio)¶
- Holdings table: Ticker, shares, avg cost, current price, P&L ($ and %), weight in portfolio
- Portfolio summary bar: Total value, day change, total P&L, cash balance
- Allocation donut chart: By sector, by position size
- Risk heatmap: Per-position risk score (using existing
RiskScorersystem), concentration risk, correlation warnings - Quick actions: "Analyze" button per holding (launches session), "Add position" modal
1.2 Position Management¶
- Manual position entry: Ticker, shares, entry price, entry date, notes
- CSV import: Upload brokerage export (support common formats: Schwab, Fidelity, IBKR, generic)
- Edit/close positions: Update shares, record partial/full exits with exit price
- Transaction history: Log of all adds, reduces, closes with timestamps
- P&L tracking: Realized vs unrealized, per-position and aggregate
1.3 Portfolio Analytics¶
- Correlation matrix: Between portfolio holdings (backend API exists, need frontend)
- Volatility analysis: Per-holding and portfolio-level (backend API exists)
- Beta exposure: Portfolio beta vs SPY (backend API exists)
- Sector breakdown: Auto-classify holdings by GICS sector
- Concentration alerts: Warn when single position >20% or sector >40%
Data Model¶
portfolios: id, user_id, name, created_at
positions: id, portfolio_id, symbol, shares, avg_cost, status (open/closed), opened_at, closed_at, notes
transactions: id, position_id, type (buy/sell), shares, price, date, fees
Backend¶
POST/GET/PUT/DELETE /api/v1/portfolios/— CRUDPOST/GET/PUT /api/v1/portfolios/{id}/positions/— position managementGET /api/v1/portfolios/{id}/analytics— returns correlation, volatility, beta, allocationGET /api/v1/portfolios/{id}/performance— time-series P&L (daily/weekly/monthly)- Price refresh: Periodic vendor fetch for current prices (cache 1 min during market hours, 1 hour after)
Phase 2: Watchlists & Alerts ✅¶
Traders need to track stocks they're interested in and get notified when conditions are met.
2.1 Watchlist (/watchlist)¶
- Multiple watchlists: "Earnings This Week", "Breakout Candidates", "Value Picks"
- Watchlist table: Ticker, last price, day change %, 5-day trend sparkline, last signal (from sessions), notes
- Quick add: Ticker search with autocomplete (existing component)
- Bulk analyze: Select multiple tickers → run batch analysis
- Drag-and-drop reorder and color-coded tags
2.2 Alert System¶
- Price alerts: Above/below threshold, % change from current, 52-week high/low proximity
- Technical alerts: RSI oversold (<30) or overbought (>70), MACD crossover, Bollinger Band squeeze/breakout, SMA crossover (golden cross/death cross)
- Fundamental alerts: Earnings surprise (>5% beat/miss), Piotroski score change, significant insider buying
- Signal alerts: When a Redhound session produces a BUY/SELL signal with confidence above threshold
- Delivery channels:
- In-app notification center (bell icon in header, dropdown feed)
- Email digest (configurable: real-time, hourly, daily)
- Push notifications (PWA / service worker)
- Webhook URL (for power users who want Slack/Discord/Telegram integration)
2.3 Alert Engine (Backend)¶
- Scheduler: APScheduler background jobs checking alert conditions every 1–15 minutes
- Price checks: Every 1 minute during market hours
- Technical checks: Every 15 minutes
- Fundamental checks: Daily after market close
- Alert evaluation pipeline: Fetch latest data → evaluate condition → if triggered, create notification + respect cooldown (don't spam same alert)
- Alert history: Log of all triggered alerts with timestamps
Data Model¶
watchlists: id, user_id, name, color, sort_order, created_at
watchlist_items: id, watchlist_id, symbol, notes, tags[], added_at, sort_order
alerts: id, user_id, symbol, type (price/technical/fundamental/signal), condition JSONB,
status (active/triggered/paused/expired), cooldown_minutes, last_triggered_at, created_at
notifications: id, user_id, alert_id, title, body, read, channel (in_app/email/push/webhook), created_at
Phase 3: Continuous Background Monitoring ✅¶
The killer feature. Redhound runs autonomously, scanning the market for opportunities and surfacing them proactively.
3.1 Market Scanner¶
- Screener presets: Oversold bounce candidates, momentum breakouts, value accumulation zones, earnings catalysts
- Custom screens: Combine conditions (RSI < 30 AND Piotroski > 6 AND price near 52-week low)
- Universe selection: S&P 500, NASDAQ 100, custom list, watchlist, portfolio holdings
- Scan frequency: Configurable (every 15min / hourly / daily)
- Scan results page (
/scanner): Table of matches with key metrics, click to drill into full analysis
3.2 Opportunity Detection Pipeline¶
The heart of the system. A lightweight, fast pre-screen that decides which tickers deserve a full multi-agent analysis.
[Scheduler] → [Universe Filter] → [Quick Screen (deterministic)]
→ RSI, price vs SMA, volume spike, earnings proximity, news sentiment
→ Score each ticker (0-100 opportunity score)
→ Top N tickers above threshold → [Full Multi-Agent Analysis]
→ Results → [Notification Engine] → Alert user
- Quick screen runs without LLM calls — pure technical/fundamental checks using existing analyst tools
- Full analysis only triggered for high-scoring opportunities (configurable threshold)
- Dedup logic: Don't re-analyze ticker if analyzed in last 24 hours unless significant price movement (>3%)
- Rate limiting: Max N concurrent analyses, queue overflow tickers for next cycle
3.3 Opportunity Feed (/opportunities)¶
- Real-time feed: Cards showing detected opportunities with:
- Ticker, current price, opportunity type (oversold bounce, breakout, etc.)
- Key metrics that triggered detection
- Confidence score, timestamp
- "View Full Analysis" link (if auto-analyzed)
- "Analyze Now" button (if only pre-screened)
- Filters: By opportunity type, confidence, sector, watchlist membership
- Time-based view: "Today", "This Week", "This Month"
3.4 Monitoring Dashboard (/monitor)¶
- Active scans status: Which scanners are running, last run time, next run time
- Scan history: Results per scan cycle (found N candidates, triggered M analyses)
- Resource usage: API calls consumed, rate limit status per data vendor
- Pause/resume controls: Per scanner
Backend Architecture¶
- Scheduler: APScheduler in-process cron jobs, no external worker required
- Scanner: Runs as background FastAPI task, picks up due scanner configs every minute
- Scan job: Symbol list + conditions → evaluate → results
- Auto-analysis job: Full
RedhoundGraphexecution for top candidates - Config: Max concurrent scans, cool-down periods, API budget limits
Phase 4: Historical Backtesting ✅¶
Validate strategies before committing capital. Build on the existing BacktestEngine.
4.1 Backtest Engine¶
- Real historical OHLCV data from the vendor API for entry/exit simulation
- Trade simulation: Entry at signal price, exit at stop-loss or take-profit or holding period
- Slippage and commissions (configurable)
- MAE/MFE per trade: Maximum Adverse/Favorable Excursion analysis with optimal entry delay
- Walk-forward validation: Sliding train/test windows for out-of-sample performance assessment
4.2 Backtesting UI (/backtest)¶
- Strategy builder:
- Select analysts to include and their weights
- Set confidence thresholds
- Choose position sizing method (fixed, Kelly, risk-parity)
- Set holding period, stop-loss %, take-profit %
- Universe & date range:
- Single ticker or list
- Start/end date picker
- Split into in-sample/out-of-sample periods
- Run backtest: Progress bar, cancel button, estimated time
4.3 Backtest Results (/backtest/{id})¶
- Performance summary: Total return, annualized return, Sharpe ratio, Sortino ratio, max drawdown, win rate, profit factor, avg trade duration
- Equity curve chart: Portfolio value over time with drawdown overlay
- Trade log table: Entry/exit date, ticker, direction, P&L, holding period
- Monthly returns heatmap: Green/red grid by month and year
- Comparison mode: Run two strategies side-by-side, overlay equity curves
- Benchmark comparison: vs SPY buy-and-hold over same period
4.4 Weight Optimizer¶
- Use existing
BacktestEngine.optimize_weights()with real data - UI: Slider for each analyst weight, "Auto-optimize" button
- Optimization target: Sharpe, Sortino, max return, min drawdown (selectable)
- Results: Heatmap showing Sharpe by weight combination, recommended weights
- Apply to live: One-click to update signal aggregation weights in settings
4.5 Strategy Library¶
- Save strategies: Name, description, parameters (weights, thresholds, sizing)
- Share strategies: Public/private toggle, shareable link
- Leaderboard: Rank strategies by Sharpe/return over standardized test period
Data Model¶
backtest_runs: id, user_id, config JSONB (weights, universe, dates, sizing),
status (pending/running/completed/failed), results JSONB, created_at
backtest_trades: id, run_id, symbol, direction, entry_date, entry_price,
exit_date, exit_price, pnl, holding_days
strategies: id, user_id, name, description, config JSONB, is_public, created_at
Phase 5: Signal Intelligence & Accuracy Tracking 🔄¶
Close the loop. Track whether signals were right, learn from mistakes, and improve over time.
5.1 Signal Performance Dashboard (/signals)¶
- Accuracy metrics: Overall hit rate, by ticker, by action (BUY/SELL/HOLD), by confidence bucket
- P&L attribution: Which analyst contributes most to winning trades?
- Confidence calibration chart: Are 80% confidence signals right 80% of the time?
- Time-based accuracy: Has accuracy improved over time? (agent memory should help)
- Filters: Date range, ticker, action type, confidence range
5.2 Automatic Outcome Tracking¶
- For portfolio positions that were analyzed: Automatically track price movement after signal
- Outcome windows: 1 day, 5 days, 20 days, 60 days post-signal
- Auto-classify outcome: Correct (price moved in predicted direction by >X%), Wrong, Neutral
- Feed outcomes to agent memory: Wire
reflect_and_remember()into automatic flow
5.3 Analyst Leaderboard¶
- Rank all analysts by contribution to accuracy
- Show which analyst's signal diverges most from final decision (and whether that divergence helps or hurts)
- Suggest weight adjustments based on historical accuracy data
Phase 6: Enhanced Market Intelligence¶
Broader market context and richer data to make the platform indispensable.
6.1 Market Overview Page (/market)¶
- Market indices: S&P 500, NASDAQ, DOW, Russell 2000 with intraday charts
- Sector heatmap: S&P sectors colored by daily performance (like finviz map)
- Market breadth: Advance/decline ratio, new highs/lows, VIX gauge
- Economic calendar: Upcoming Fed meetings, CPI, jobs data, earnings (FRED API integration exists)
- Fear & Greed indicator: Composite of VIX, put/call ratio, breadth, momentum
6.2 Ticker Deep Dive Enhancement¶
- Earnings history: EPS surprise chart, revenue trends
- Institutional ownership: 13F data tracking (quarterly)
- Options flow: Unusual options activity (if data source available)
- Comparison mode: Side-by-side two tickers with all analyst metrics
6.3 News & Sentiment Hub¶
- Real-time news feed: Aggregated from multiple sources, filtered by portfolio/watchlist
- Sentiment trend chart: Per-ticker sentiment over time
- Event impact analysis: How did past earnings/FDA approvals/etc. affect price?
- AI news digest: Daily summary of market-moving news relevant to user's holdings
Technical Enablers (Cross-Cutting)¶
Background Job System ✅¶
- Technology: APScheduler (in-process, no external worker required)
- Jobs: Alert checks, scan cycles, price refreshes, adaptive weight updates, daily digests
Real-Time Price Service ✅¶
- Technology:
PriceBroadcastService— bulk vendor API fetch every 30 seconds during market hours - Delivery: WebSocket channel broadcast to all subscribed frontend clients
Batch Analysis Engine ✅¶
- Concurrency:
asyncio.Semaphore(max 3 concurrent scans) - Queue: Per-scanner dedup (24h cooldown unless >3% price move)
- Auto-analysis cap: 5 per scan cycle
Notification Infrastructure ✅ (in-app) / Pending (email/push/webhook)¶
- In-app: WebSocket push to connected clients; persisted for offline access
- Email / push / webhook: Planned for future iteration
Mobile-Responsive Design¶
- Ensure all pages work on mobile (traders check on the go)
- Key mobile priorities: Portfolio overview, alert notifications, opportunity feed
Status Summary¶
| Phase | Status | Notes |
|---|---|---|
| Phase 1: Portfolio Hub | ✅ Implemented | Portfolio CRUD, P&L, analytics |
| Phase 2: Watchlists & Alerts | ✅ Implemented | Watchlists, alert engine, in-app notifications |
| Phase 3: Background Monitoring | ✅ Implemented | Scanner, screener, opportunity detection |
| Phase 4: Historical Backtesting | ✅ Implemented | Walk-forward, MAE/MFE, weight optimizer |
| Phase 5: Signal Intelligence | 🔄 In Progress | Adaptive weights done; full dashboard UI pending |
| Phase 6: Market Intelligence | Pending | Market overview, sector heatmap, options flow |
Success Metrics¶
- Daily active users: Traders returning daily (goal: >60% DAU/MAU)
- Sessions per user per week: Are they analyzing more? (goal: >10)
- Alert-to-action rate: % of alerts that lead to analysis or trade (goal: >30%)
- Signal accuracy: Tracked BUY/SELL signals that were correct at 5-day window (goal: >55%)
- Portfolio coverage: % of portfolio holdings with recent (<7 day) analysis (goal: >80%)
- Time to opportunity: Minutes from market event to user notification (goal: <15 min)
Non-Goals (For Now)¶
- Automated trading / order execution: We inform, the trader decides
- Options / futures / crypto: Focus on US equities first
- Social features: No forums, no copy-trading, no public profiles
- Brokerage integration: No direct broker API connections (manual position entry only)
- Mobile native app: PWA first, native later if warranted