DEV Community

Ray
Ray

Posted on

30 nights of automated paper trading: what worked and what didn't

I spent the last month running automated paper trading experiments every night. Not manual backtests — actual live paper trades placed and managed by code, with real market data, at market open.

This is what I learned.

The setup

TradeSight (github.com/rmbell09-lang/tradesight) is a Python app I built that runs overnight "strategy tournaments" — it takes a basket of strategies, runs them all simultaneously on paper, and tracks which approach is working.

It uses Alpaca's paper trading API, which is free and executes at real market prices with simulated capital.

git clone https://github.com/rmbell09-lang/tradesight.git
cd tradesight
pip install -r requirements.txt
Enter fullscreen mode Exit fullscreen mode

You'll need Alpaca paper trading credentials:

ALPACA_API_KEY=PKxxxxx
ALPACA_SECRET_KEY=xxxxx
ALPACA_BASE_URL=https://paper-api.alpaca.markets
Enter fullscreen mode Exit fullscreen mode

How the tournament works

Each night, TradeSight:

  1. Runs market scans using configurable indicators (RSI, VWAP, Bollinger)
  2. Generates trade signals across all active strategies
  3. Places paper orders on qualifying signals
  4. At end of day, logs fills, P&L, and win rate per strategy

The strategies "compete" — over time, the ones that consistently perform better get higher capital allocation in subsequent runs.

What actually worked

RSI mean-reversion on oversold conditions — this was the most consistent. Stocks in strong sectors that dipped below RSI 30 and recovered by midday. Short hold times, small gains, but high win rate.

VWAP reclaim plays — stocks that opened below VWAP and reclaimed it by mid-morning. These required tighter stops but the R:R was solid.

What bombed

Momentum chasing — buying breakouts at market open is dangerous in paper trading because the fills are at real ask prices. A "breakout" at 9:31 AM in paper trading often means you bought the spike.

Overnight holds — holding positions overnight introduced gap risk that wasn't worth it for small-cap names. The tournament format actually helped identify this quickly because the overnight-hold strategies showed drawdown almost immediately.

The surprising lesson

Running multiple strategies simultaneously revealed something I didn't expect: the correlation problem. When the market has a bad day, all your strategies lose together. Diversification across strategy types doesn't help if they're all long-only equities.

TradeSight's next phase adds a sector correlation guard that prevents over-concentration.

Current status

Paper trading only right now — I'm refining the strategies before considering live capital. The tournament format has been genuinely useful for quickly filtering out approaches that look good on backtests but fail in real market conditions.

The code is open source if you want to poke around or run your own experiments.

github.com/rmbell09-lang/tradesight

Top comments (0)