How Our Multi-Agent System Generates Trading Signals
Why Multi-Agent?
A single monolithic system that handles market analysis, strategy selection, risk management, and signal delivery would be fragile. One bug in risk logic could let bad signals through. One change to the strategy engine could break market analysis.
FUTURA uses a multi-agent architecture because it enforces separation of concerns at the system level:
- Each agent has a single responsibility and a well-defined interface
- Bugs are isolated — a regression in indicator calculation can’t bypass risk checks
- Agents can be tested, updated, and monitored independently
- The pipeline is auditable — every stage logs its inputs, decisions, and outputs
Agent 1: FUTURA — Market Intelligence
The FUTURA agent is the eyes of the system. Every analysis cycle, it:
- Fetches the latest price bars and quotes from Interactive Brokers
- Computes 20+ technical indicators: RSI, MACD, Bollinger Bands, ATR, VWAP, Stochastic, ADX, OBV, and more
- Runs regime detection to classify the current market state — trending, mean-reverting, volatile, or quiet
- Calculates volume profile and identifies key support/resistance levels
- Packages everything into a structured market snapshot
This snapshot is the foundation. No strategy decisions happen here — just raw, comprehensive market analysis.
Agent 2: STRATEGOS — Strategy Selection
STRATEGOS receives the market snapshot and decides what to trade and how. It:
- Scores each available strategy against current market conditions using a fitness function
- Selects the highest-scoring strategy (or passes if no strategy meets the minimum threshold)
- Generates a precise entry signal with direction, price level, and timeframe
- Calculates position sizing based on account capital, risk-per-trade limits, and the distance to the stop level
FUTURA ships with 5 built-in strategies — Bollinger Bands mean reversion, volatility breakout, stochastic mean reversion, Globex overnight mean reversion, and RTH trend pullback — each defined in YAML configuration with clear entry/exit rules.
Agent 3: GUARDIAN — Risk Validation
GUARDIAN is the gatekeeper. Every signal must pass three layers of risk checks before it can be delivered:
Position-level checks:
- Minimum 2:1 reward-to-risk ratio
- Stop-loss must be present and correctly placed
- Position size must not exceed risk-per-trade limits
Portfolio-level checks:
- Maximum concurrent positions not exceeded
- Correlation limits enforced (e.g., ES and NQ are highly correlated — GUARDIAN prevents overexposure)
Time-based checks:
- Session-aware restrictions (some strategies only run during RTH)
- Lunch-hour volatility avoidance
- Daily and weekly loss limit enforcement
Circuit breakers:
- If the daily loss limit is hit, GUARDIAN halts all signal generation for the remainder of the session
- Consecutive loss tracking prevents tilt-driven overtrading
A signal that fails any check is rejected with a clear reason code. There are no overrides.
Agent 4: TRADER — Signal Delivery
The TRADER agent takes approved signals and delivers them through three channels:
- WebSocket — Real-time streaming via Cloudflare Durable Objects. Connect from any client and receive signals the instant they’re approved.
- SMS — Immediate text message notifications via Twilio for traders away from their desk.
- Email — Detailed signal breakdowns with full bracket order specifications.
Every delivered signal includes the complete bracket order: entry price, stop-loss, profit target, and position size — ready to execute in your broker’s platform.
Edge Architecture
The entire pipeline runs on Cloudflare Workers — serverless functions deployed to 300+ edge locations worldwide. This means:
- Low latency — Analysis runs close to the user, not in a distant data center
- High availability — No single point of failure, automatic failover
- Consistent performance — No cold starts affecting signal delivery
Market data and signal state are stored in Cloudflare D1 (distributed SQLite), with KV namespaces for high-frequency caching of quotes and tokens. Real-time WebSocket connections are managed by Durable Objects, ensuring exactly-once delivery semantics.
The system runs on a 5-minute cron schedule covering the full futures session — Sunday 6 PM through Friday 5 PM Eastern — with no gaps.
FUTURA provides trading signals for informational purposes only. Futures trading involves substantial risk of loss and is not suitable for all investors. Past performance does not guarantee future results. See our risk disclosure for full details.