Autonomous trading research platform

STAR scans the market, tests every idea against history, and only trades what survives.

One system runs the full desk: a CEO agent coordinates scanners, strategy engines, options analytics and a hard risk gate, then executes through Interactive Brokers, around the clock.

60+engine modules
6strategy desks
24/7self-healing operation
11 yrsof intraday backtests
Architecture

How a trade gets made

Every idea passes the same pipeline. Any stage can say no.

1
ScoutPremarket gaps, runners, breakdowns, news and overnight world markets.
2
Score9-vote technical score, FVG structure, gamma regime, ML consensus.
3
ValidateBacktest and walk-forward tests, earnings and holiday guards.
4
Risk gatePosition sizing, daily loss limit, open-risk budget, minimum reward-to-risk.
5
Execute & manageIBKR orders, breakeven at +1R, scale-outs, trailing stops, phone alerts.
The toolkit

Tools I built

Each one is a standalone engine module the CEO agent can call.

Market intelligence

Market Scout

Looks across the whole market, then shortlists a few solid candidates for the day.

scout.py

Premarket Gap & Catalyst Scanner

Finds names gapping before the open and ties each gap to its catalyst.

premarket_gap.py

Runner Scanner & Grader

Finds low-float momentum runners and grades each one: early, pullback-watch, or don't chase.

runner_grader.py

Breakdown Scanner

Catches the drops, not just the rips: names breaking down for short or put setups.

breakdown_scan.py

World Market Agent

Reads Asia, Europe and overnight futures before the US open to set the day's tone.

world_market.py

News Watch

Scrapes macro headlines with a self-hosted crawler and flags market-moving events.

news_watch.py

Strategy & signals

9-Vote Tech Score

Nine independent technical checks vote on each name; paired with 2.5:1 ATR-based risk.

star_score.py

Fair Value Gap Engine

ICT-style FVG and inversion-FVG detection, built to be tested, with a 1:1 TradingView port.

fvg.py

Random Forest Signal

Machine-learning consensus with a confidence score, validated walk-forward only.

ml_forest.py

Volume-Weighted RSI

Pullback-in-uptrend signal using RSI, trend and volume confirmation.

trading_signals.py

Intraday Scalp Desk

Oversold-bounce scalps on 5-minute bars, fed by a real-time data layer.

scalp_desk.py

Gold Desk

Strategy tester for gold futures, which trade nearly 24 hours a day.

gold.py

Options analytics

GEX Radar

Dealer gamma exposure from real options open interest: gamma flip, call and put walls, regime.

gex.py

Greeks Engine

Black-Scholes delta, gamma, theta, vega and rho for any contract.

greeks.py

Options Play Builder

Turns a strong directional signal into a concrete call or put play with portfolio greeks.

options_play.py

Risk, execution & operations

Risk Manager

Hard pre-trade gate: sizing, daily max loss, total open-risk budget, minimum R:R. Rules are numbers, not caveats.

risk_manager.py

IBKR Broker Connector

Order execution with a hardwired safety gate that blocks live accounts from auto-trading.

ibkr_broker.py

Active Trade Manager

Checks every 60 seconds: breakeven at +1R, scale half, trail above +2R.

active_watch.py

Market Calendar & Earnings Guard

Knows NYSE holidays and early closes, and won't hold through earnings.

market_calendar.py

Watchdog

Health monitor for the 24/7 desk that heals failed services and alerts by Telegram.

watchdog.py

Daily Review Agent

After the close, reviews every decision and feeds lessons back into the system.

daily_review.py
Research

Selected studies

Every strategy is proven, or killed, on history before it gets near real money.

Repairing a Fair Value Gap strategy

Why did a textbook FVG setup fail, and what does it take to fix it?

  • Timeframe was the biggest lever. On daily bars, overnight gaps blew straight through stops. Moving to 1-hour bars fixed the backwards risk asymmetry.
  • Better entries. A limit order at the gap top instead of chasing the close cut risk to the gap size and flipped reward-to-risk positive.
  • Quality filters. Volume above 1.2× average and a stacked trend (EMA50 above EMA200) removed most low-conviction setups.
  • Out-of-sample check. The same settings, with no re-tuning, were tested across five large-cap names over 11 years of hourly data in TradingView. They held up on three of the five, so the work continues before any capital goes in.

Finding a signal that could never fire

A volume-weighted RSI rule produced zero trades. Why?

  • The rule required RSI below 30 and price above the 50-day EMA at the same time, which never happened once in five years of NVDA data.
  • Redefined it as a pullback in an uptrend (RSI 35–50, above EMA50, volume confirmation). It now trades, and is being forward-tested for a real sample.
  • Along the way, found and fixed a frozen RSI bug: the indicator was seeded from the oldest bars, so it never reflected recent price.

Machine learning without fooling myself

Can a random forest predict direction, honestly measured?

  • Built a consensus-plus-confidence forest and validated it walk-forward only: train on the past, test on the next unseen window, repeat.
  • Only one name cleared the edge threshold, so the model is in forward-test, not live trading.

Dealer gamma as a market regime

Does negative dealer gamma below the flip level predict faster downside?

  • Free options history doesn't exist, so instead of a fake backtest STAR logs real GEX daily for SPY, QQQ and IWM and tests the edge as the sample grows.
Principles

How I build

Real data or an honest error

No seeded or placeholder numbers, ever. If a feed is down, the dashboard says so.

No look-ahead

Backtests fill on the next bar, include slippage and costs, and size by risk.

Decide the verdict first

Pass/fail rules are written before the test runs, so nobody can move the goalposts afterwards.

Safety is hardwired

Paper-only gates, daily loss limits and secrets in the macOS Keychain, not in files.

Tech stack

Built with

Pythonpandasscikit-learnInteractive Brokers APITradingView Pine Script SQLiteyfinance & Alpaca dataBlack-Scholeslaunchd (24/7 services)Tailscale Telegram alertsClaude agents (MCP)Crawl4AI