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.
How a trade gets made
Every idea passes the same pipeline. Any stage can say no.
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.pyPremarket Gap & Catalyst Scanner
Finds names gapping before the open and ties each gap to its catalyst.
premarket_gap.pyRunner Scanner & Grader
Finds low-float momentum runners and grades each one: early, pullback-watch, or don't chase.
runner_grader.pyBreakdown Scanner
Catches the drops, not just the rips: names breaking down for short or put setups.
breakdown_scan.pyWorld Market Agent
Reads Asia, Europe and overnight futures before the US open to set the day's tone.
world_market.pyNews Watch
Scrapes macro headlines with a self-hosted crawler and flags market-moving events.
news_watch.pyStrategy & signals
9-Vote Tech Score
Nine independent technical checks vote on each name; paired with 2.5:1 ATR-based risk.
star_score.pyFair Value Gap Engine
ICT-style FVG and inversion-FVG detection, built to be tested, with a 1:1 TradingView port.
fvg.pyRandom Forest Signal
Machine-learning consensus with a confidence score, validated walk-forward only.
ml_forest.pyVolume-Weighted RSI
Pullback-in-uptrend signal using RSI, trend and volume confirmation.
trading_signals.pyIntraday Scalp Desk
Oversold-bounce scalps on 5-minute bars, fed by a real-time data layer.
scalp_desk.pyGold Desk
Strategy tester for gold futures, which trade nearly 24 hours a day.
gold.pyOptions analytics
GEX Radar
Dealer gamma exposure from real options open interest: gamma flip, call and put walls, regime.
gex.pyGreeks Engine
Black-Scholes delta, gamma, theta, vega and rho for any contract.
greeks.pyOptions Play Builder
Turns a strong directional signal into a concrete call or put play with portfolio greeks.
options_play.pyRisk, 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.pyIBKR Broker Connector
Order execution with a hardwired safety gate that blocks live accounts from auto-trading.
ibkr_broker.pyActive Trade Manager
Checks every 60 seconds: breakeven at +1R, scale half, trail above +2R.
active_watch.pyMarket Calendar & Earnings Guard
Knows NYSE holidays and early closes, and won't hold through earnings.
market_calendar.pyWatchdog
Health monitor for the 24/7 desk that heals failed services and alerts by Telegram.
watchdog.pyDaily Review Agent
After the close, reviews every decision and feeds lessons back into the system.
daily_review.pySelected 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.
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.