Revisiting

DAITIQ Markets

Four versions of an automated trading system I paper traded with Alpaca

Thirteen months and roughly 350 hours across four versions of an automated trading system, every one of them paper traded and none ever given real money. V1 made money for reasons the model could not explain. V2 and V3 lost. V4 runs every weekday and still has not placed a trade, because it has not met the criteria written for it.

PythonXGBoostscikit-learnAlpaca APISQLiteGitHub ActionsTelegram APICloudflare Pages

// The Build

  1. V1 · ML Long-Short

    Jun 2025 – Jan 2026

    +8.2%, and that was the problem

    Long-short pairs trading driven by ML directional forecasts. 387 trades, $100K to $108,154. It made money and was still a failure: the ML was anti-predictive, averaging −0.69 R² across eight symbols, roughly 50× worse than random. A September threshold change accidentally suppressed 98.6% of its signals, quietly converting V1 into a position-holding strategy carried by a bull market and tight stops. It still trailed SPY by 2.6%. When something works for reasons you can't explain, that isn't edge, it's luck.

  2. V2 · Income Patterns

    Nov 2025 – Apr 2026

    −10.2%

    The most heavily engineered of the four: pattern scanning on a 15-minute cycle, sector caps, concentration limits. 264 fills, −$5,142 on $50K, 35% peak-to-trough drawdown. On March 9 it tripped its own drawdown limit and stopped trading, then kept running, logging the warning every twelve minutes, for 31 days before anyone noticed. The risk layer worked exactly as designed and still couldn't manufacture edge. A system nobody monitors isn't a trading system.

  3. V3 · ETF Momentum

    Nov 2025 – Apr 2026

    −18.6%, the worst of the four

    Weekly rebalance into the top three ETFs by 63-day momentum, straight out of an academic paper, deployed without checking whether the market regime matched the one the paper was tested in. It didn't. V3 closed above water on 2 of 99 trading days, and spent 60+ of its 146 days frozen by a global circuit breaker another system had tripped. A backtest is a claim about a regime, not about a strategy.

  4. V4 · Multi-Factor Scanner

    Feb 2026 – present

    Running daily. Still never traded.

    Everything before it tried to execute. V4 only scores: no account, no positions, no execution, and therefore no silent-failure mode. Backtested over 1,366 picks it wins 46%, with the edge concentrated entirely in swings (52.6%) while options are a coin flip (34.1%). A dedicated ML research phase asked whether a model could improve the scoring and returned a verdict I kept: no edge added. Trading is gated on written criteria it hasn't met yet.

What It Taught Me

Across four systems: ~$185K of simulated capital, −$4,234 in paper P&L, ~$235 of real AWS bills. Buy-and-hold SPY over the same window returns about +$19,600. That ~$23,800 gap is the most uncomfortable number in the project, which is exactly why it's on this page. The best decision was made before any of it: paper trade everything. Anti-predictive ML, a 31-day silent halt, a momentum model in the wrong regime, every one of those happened in a sandbox. That's also why V4 still hasn't been traded. "I built it and I want to use it" was never a reason to risk money.

// Features

Daily 6 AM PT scan of ~90 stocks on momentum, breakout, volume, and relative strength
VIX-adjusted scoring against an 80-point threshold
Volume gate that filters false breakouts, the highest-impact change in 13 months
Swing and options picks with entry, stop, target, and expected move
1:15 PM PT evaluator grading every pick on 5/10/15-day forward returns
Telegram alerts, weekly auto-tuning, monthly checkpoint reports
Runs entirely on GitHub Actions at $0/month

// Stats

Versions Built4
Simulated Capital$185K
Real Money Risked$0
Paper P&L−$4,234