SPY 765/775 CALL SPREAD · CLOSED +$172.83 2,786 SIGNALS SCANNED → 1,569 PRICEABLE TRADES 16/30 POSITIVE MONTHS · BEST MONTH JUN 2026 +$1,937 · WORST MAR 2026 -$991 BEST TRADE +$2,048 (QQQ) · WORST -$421 AVG WIN $42.33 · AVG LOSS $38.97 · PAYOFF 1.09:1 STRONGEST SIGNAL: QQQ PUTS +$7.84/TRADE (n=214) RISK GUARDIAN STOP $580 / 24H · TRADE CLOSED AT CAP ALPACA PAPER · DEDICATED $100K ACCOUNT · OPTIONS LVL 3 SPY 765/775 CALL SPREAD · CLOSED +$172.83 2,786 SIGNALS SCANNED → 1,569 PRICEABLE TRADES 16/30 POSITIVE MONTHS · BEST MONTH JUN 2026 +$1,937 · WORST MAR 2026 -$991 BEST TRADE +$2,048 (QQQ) · WORST -$421 AVG WIN $42.33 · AVG LOSS $38.97 · PAYOFF 1.09:1 STRONGEST SIGNAL: QQQ PUTS +$7.84/TRADE (n=214) RISK GUARDIAN STOP $580 / 24H · TRADE CLOSED AT CAP ALPACA PAPER · DEDICATED $100K ACCOUNT · OPTIONS LVL 3

FVG Copilot OPTIONS ALPHA AGENTSLIVE ON ALPACA PAPERLIVE DATA

A deterministic Fair Value Gap trading engine governed by AI agents. An LLM Scout builds the thesis, an LLM Risk Guardian vetoes it against hard-coded limits, and a deterministic Executor places the real options trade on Alpaca.

+$1,295
Backtest P&L
48.9%
Win Rate
1,569
Clean Trades
1.09:1
Payoff Ratio
+$172.83
Live Trade
—
Account Value (Live)

Live Now — lablab hackathon account (paper, $100k)

CLOSED HOLD-TIME CAP HIT
Risk Guardian's 24h hold cap hit at 12:07 PM PDT on Sep 3. The position closed by 12:22 PM.
Portfolio Value
—
Unrealized P&L
—
Cash
—
Trade Result
+$172.83
Agent Control — Autonomous Runner
CHECKING…
Gates new entries only — stop-loss / hold-cap enforcement always runs.
Applies within one scan cycle (~5 min).
SymbolSideQtyAvg EntryCurrentUnrealized P&L
No open positions. The spread closed on Sep 3 at 12:22 PM PDT for a realized +$172.83 — see Recent Orders below.
This account has no open positions right now. Values above are live from the Alpaca paper API, polled every 60 seconds; the trade card and log below show exactly what happened while it was open.

The Trade — SPY debit call spread, placed and closed by the agents

Net Debit Paid
$481
Risk Guardian Stop
$580 / 24h
Realized P&L
+$172.83
Status
CLOSED — SETTLED
Closed Sep 3, 2026 · 12:22 PM PDT
Entry Order
c49e917f-5ad5-404a-bdfe-5af3524dcb0a
Long Leg
SPY260916C00765000: $7.37 → $12.33
Short Leg
SPY260916C00775000: $2.56 → $5.79
Spread Width
$10 wide
Reward:Risk
~1.08:1
Held
Sep 2, 12:07 PM → Sep 3, 12:22 PM PDT (~24.3h)
Risk Guardian's 24-hour hold-time cap hit at 12:07 PM PDT on Sep 3. A Codespace outage delayed the automated close by about 15 minutes. Both legs closed by 12:22 PM for a realized +$172.83. Full sequence in the Agent Reasoning log below.
SubmittedSymbolSideQtyStatusFilled Avg
Sep 3, 12:22 PM PDTSPY260916C00765000sell1filled$12.33
Sep 3, 12:18 PM PDTSPY260916C00775000buy1filled$5.79
Sep 2, 12:07 PM PDTSPY260916C00765000 / SPY260916C00775000buy / sell1filled$4.81 net

Live Activity — what the runner is doing right now, every ~5 min scan cycle

Connecting to the runner…

Agent Reasoning — live pipeline transcripts, updated every scan cycle

 fvg-copilot — scout / risk_guardian / executor / position_monitor
waiting for the next signal…
TimestampSignalScoutRisk GuardianExecutor
No agent decisions yet this session — rows appear here live the moment Scout → Risk Guardian run.

How It Works — deterministic math, AI judgment, nothing blurred

Deterministic core

FVG Engine

ATR-based gap filter, MSS + displacement confirmation. Fires the raw directional signal.

→
LLM Agent · Groq

Scout

Contextualizes the FVG signal into a structured thesis and confidence score (openai/gpt-oss-120b).

→
LLM + Rules Agent

Risk Guardian

Hard limits in plain code first, fail-closed, then Groq reasoning. Sets the real stop-loss and hold-time cap, can veto outright.

→
Deterministic script

Executor

Alpaca CLI. Target-aware debit-spread strike selection, multi-leg order placement. No LLM in this step.

→
Deterministic script

Position Monitor

Polls the open position against Risk Guardian's max-loss and max-hold-time, and closes it when either trips.

Built the Hard Way — real bugs found live, fixed, committed

Silent Misroute Bug
str(Enum) would have flipped every bullish signal into a put spread, silently. Caught by diffing the real schema before the first live run, not after.
Cost-Blind Veto Bug
Risk Guardian kept setting a $50 stop no real spread could satisfy. It only surfaced once we ran it against live Groq; the fix went straight into the prompt.
Zero-Collision Filter
43.7% of backtest trades priced entry and exit off the same bar, faking $0 P&L. We caught it by distrusting a win rate that looked too clean, not by luck.
Enforcement State Loss
A Codespace rebuild wiped the Position Monitor's gitignored database, so it silently reported zero open positions while the spread was live. Caught by cross-checking the account directly and restoring the record.

Backtest Evidence — 2.5 years, real Alpaca options prices

Cumulative Backtest P&L — 1,569 clean trades
Mar 2024 – Aug 2026 · SPY / QQQ / XLV / XLF / IWM. Not a smooth rocket. The strategy dug a -$1,957 hole through 2024, peaked at +$2,090, and survived a -$2,179 peak-to-trough drawdown before finishing +$1,295. We show the drawdowns because that's the honest curve.
+$1,295 +$2,090 PEAK -$1,957 TROUGH $0 MAR 2024 2025 AUG 2026
48.9% WIN RATE
48.9% Win Rate
768 profitable / 801 losing trades across 1,569 clean trades. Avg win $42.33, avg loss $38.97: close to a coin flip with a small edge, which is what a real, non-curve-fit options strategy looks like.
19.4% OF WINS LOSE >$20
Why the Risk Guardian Exists
19.4% of winning underlying signals still lost more than $20 on the options leg (8.5% lost more than $50). Directional accuracy alone doesn't protect the trade, so the Risk Guardian sets its own loss and hold-time stops instead of trusting the FVG signal.
Mean P&L per trade — symbol × direction
Clean dataset, real historical Alpaca options prices (intraday hourly bars, target-aware strikes). QQQ puts are the strongest replicated signal; the live strategy stays symmetric across all directions and symbols.
QQQ · SELL (puts) n=214 +$7.84 IWM · SELL n=192 +$1.26 XLF · SELL n=94 +$1.17 XLF · BUY n=127 +$0.40 XLV · SELL n=54 +$0.26 XLV · BUY n=77 +$0.04 SPY · BUY n=206 -$0.16 SPY · SELL n=222 -$0.59 QQQ · BUY n=199 -$1.20 IWM · BUY n=184 -$2.18
SPY, QQQ, XLV, XLF, IWM · Mar 2024 – Aug 2026 · zero-collision-filtered. Same-bar entry/exit pricing artifacts removed. That's a measurement fix, not a tuning change. Total P&L +$1,295 across 1,569 priceable trades.