← Back|AI Investor·RISK_ON

Solo Side Project · Since June 2026

AI Investor

A fully autonomous trading system powered by a 7-agent Claude pipeline — from market regime detection to order execution on Robinhood, with zero human input. It rebalances once a week for a 9–12 month horizon; every other day a deterministic, LLM-free risk layer stands guard. Multi-layer guardrails enforce position, sector, and tax-aware trade controls in code, not just in prompts.

AI AgentsFinancePythonClaude APIRobinhoodTax-Aware

Live Performance

Data as of Jul 21, 2026 at 4:08 PM EDT

Portfolio Value

$511.30

Jun 5, 2026 close: $500

Total Return

+2.26%

vs S&P 500

+1.72%

SPY +0.54%

Max Drawdown

-1.22%

41 trades executedSharpe 3.72Regime RISK_ON
Portfolio (indexed to 100)S&P 500

Current Holdings

TickerWeightUnrealised P&L
VRTX9.5%+3.68%
EBAY9.1%+1.26%
MS9.1%+1.33%
CFG9.1%+3.27%
CB8.9%-0.60%
AXP8.2%+3.27%

How It Works

Every weekday at 9:45 AM ET, a scheduled Claude Code routine wakes up — but a deterministic pre-flight gate decides how it runs. Once a week (Wednesday, with a Thursday/Friday catch-up), it runs the full cycle: pre-flight checks, the 7-agent Claude research pipeline, a multi-layer deterministic guardrails gate, order execution, and health monitoring — all on a dedicated Robinhood account with no human input. Every other weekday it runs only a deterministic, LLM-free SELL-only safety net (see Daily Risk Watch below). This weekly cadence is deliberate: the portfolio targets a 9–12 month horizon, and in a California top-bracket taxable account, trade frequency is the single largest drag on after-tax return. Each agent has a narrow role; final veto power sits with the risk layer. A deterministic kill switch, checked before any agent runs, blocks all new buys whenever the portfolio draws down more than 20% from peak.

  • 1
    Market Regime Strategist

    Sets the risk posture for the session: Risk-On, Neutral, or Risk-Off. Every downstream agent operates within this context.

  • 2–4
    Research · Earnings · Devil's Advocate

    Per-ticker analysis, run in parallel with Anthropic prompt caching: a variant-perception thesis (Research), verified 90-day catalysts and earnings events (Earnings), and a structured bear case (Devil's Advocate). The Earnings agent injects a verified calendar date when one is available — overriding the model's guess — and skips the LLM call entirely for names with no event in the next 90 days. The Devil's Advocate flags high-risk names for downstream rejection.

  • 5
    Position Review Analyst

    Evaluates each existing holding — hold, reduce, or exit — and surfaces any invalidated thesis before new capital is deployed. Prior realized outcomes feed back into this review via an outcome memory store.

  • 6
    Portfolio Manager

    Allocates capital across the surviving ideas. Outputs target weights (not share counts), each with source-of-capital attribution and an explicit expected-return estimate — the input the net-edge gate requires to evaluate whether the trade clears cost + CA tax.

  • 7
    Chief Risk Officer

    Final veto. Reviews the full trade list against pairwise 120-day return correlations and sector concentration, and can reject individual tickers or the entire batch before the deterministic guardrails gate runs.

Guardrails

Every CRO-approved decision passes through a six-layer deterministic gate before reaching the broker: an action and candidate-membership whitelist; a 10% position cap (weight-clamped and qty-recomputed); a 25% sector cap enforced in code (not just the prompt); a good-faith-violation guard that blocks same-week sell/rebuy cycles on the cash account; a 30-trading-day minimum holding period (anti-churn, risk exits exempt); a 30-calendar-day wash-sale/re-entry block; and a net-edge gate that rejects any BUY whose expected return, after round-trip cost and California short-term capital gains tax (~54%), is net-negative. A 50% daily-turnover circuit breaker halts execution if the proposed sell-side notional is anomalously large.

Daily Risk Watch

On the four weekdays that are not the weekly rebalance, no LLM runs and no new capital is deployed. Instead, a purely deterministic safety net checks every holding against live broker prices: any position down 25% or more from its cost basis is sold, and a market-wide crisis brake (an S&P 500 single-day drop of 7% or more) halts all buys while still permitting risk exits. It runs through the same order-envelope, idempotency, and reconciliation machinery as the weekly rebalance, and is structurally incapable of issuing a buy — the catastrophe brake that never sleeps between rebalances.

Execution

Approved trades are placed as fractional market orders via the Robinhood Trading MCP — no broker credentials are stored locally. Sells execute before buys to free settled cash. An idempotency lock, stamped before the first order, guarantees each day's trades execute at most once even across retries. Every fill is reconciled against the broker's authoritative response; a rejected order is never logged as executed.

After-Tax Economics

This is a California top-bracket taxable account. Every short-term gain is taxed at ~54% (37% federal + 3.8% NIIT + 13.3% CA), so trade frequency is the dominant after-tax lever. The system tracks realized gains via FIFO lot-matching with ST/LT classification and reports an after-tax scorecard alongside the gross performance chart. A quant-only backtest over the market history found daily momentum rotation returned −0.03% vs SPY +8.77% — gross alpha −8.8% at 23.6× annual turnover. That result is the empirical basis for the current design: abandon daily rotation for a once-a-week rebalance on a 9–12 month horizon, and make turnover the tightest control in the system.

Forecast Ledger

Every run logs each agent's structured numeric forecasts — quant composite, research confidence, earnings alpha, devil's advocate risk score — for the full candidate universe, not just executed trades. A shrinkage-weighted scorecard (rank-IC toward a no-skill prior) scores realized outcomes against those forecasts as they mature. At ~100 candidates per day, the ledger accrues hundreds of labeled predictions per month, building the sample base needed to calibrate agent skill over time.