Paper Trader
A strategy tournament and a machine-learning model each trade $400 of fake money, once a day, in US stocks and in crypto. Each has to beat simply buying and holding the index. Built by Aneesh Poolla.
Live paper trading
Settings the bots chose
Each bot reviews a menu of settings every night and follows the one that has led after costs
Backtest
Walk-forward, Jan 2018 to Sep 2026 · fees and slippage included · weekly points
Self-tuning against its own controls
| Account | Original rules | Self-tuned | Index held | Universe held equally | No-skill control |
|---|
Latest decisions
| Date | Account | Action | Value | Why |
|---|
How it works
- Tournament. Momentum (top 3-month returns), mean reversion (5-day RSI under 30, sell above 50) and trend (above the 50-day average, 50-day above the 200-day) each run a share of the account. On the first trading day of every month, money shifts toward the strategies with the best risk-adjusted return over the last three months, with a 10% floor each.
- ML model. Gradient-boosted trees on nine price features (returns over 1 to 60 days, volatility, RSI, distance from moving averages, volume change) predict whether each asset rises over the next holding day. Retrained every week on data up to two days before, then holds the top picks above 55% odds. A logistic regression runs alongside as a sanity check.
- No look-ahead. Decisions use data up to the close; orders fill at the next day's open. Automated tests truncate the data and check that no past decision changes.
- Costs. Stocks pay 0.05% slippage per trade. Crypto pays a 0.25% fee plus 0.05% slippage per trade, Alpaca's tier-one taker fee, from Oct 7, 2026. The backtest, and the live trades before that date, were charged a 0.5% fee plus slippage.
- Equal-weight benchmarks (added Oct 7, 2026). Two more accounts buy every name in a market in equal amounts on the first live day and never trade again, so the bots can be compared with owning the whole universe as well as with the index. They start on Oct 1 like the other accounts; their results from Oct 1 to Oct 7 were computed when they were added.
- Self-tuning (since Oct 6, 2026). Each engine keeps a menu of settings: for the ML model, how its odds become positions (an entry line from 52% to 62%, an exit line below it, a minimum hold of 1 to 10 days, or sitting in cash); for the tournament, slower and faster strategy settings, a 21 to 252 day lookback, monthly, weekly or daily re-weighting, scored after costs. Every setting runs as a shadow account on the same prices. Each night the bot scores them on the last 126 trading days after costs and moves to the leader only when it is ahead by 2%. The menu and the three numbers were fixed before any result was seen, and the layer is a function of prices alone, so the no-look-ahead tests cover it. On the 2018 to 2026 prices it switched every 3 to 11 weeks.
- Fees decide the ML result. The ML model trades a lot: it turns over about 57% of the stock account and 24% of the crypto account every day. In the backtest the stock model ends at $2,083 with no fees, $597 with the real 0.05% and $171 at 0.1%. The crypto model would have reached $3,620 with no fees and ends at $2.75 after its old 0.55% per trade (0.5% fee plus slippage). Its daily up/down calls are right about 52 to 53% of the time, close to how often prices simply rise. Two downloads of the same prices that differed by one part in a million moved the stock result between $484 and $965, so the backtest prices are frozen in the repo to make these numbers reproducible.
- What the self-tuning test does not show. Most of its gain over the original rules is fees saved by trading less. None of the four accounts beat simply holding its own universe at equal weight, and a no-skill control (the model's picks shuffled across names each day, same machinery) reproduces much of the stock result. The outcome also swings widely with the layer's own settings, the mark of a fragile result. The menu was chosen knowing fees were the problem, so this is still a backtest.
- Trading until bankrupt, and the weekly seats (since Oct 8, 2026). These accounts have no loss limit: an account that goes bankrupt stops for good and keeps its record. Every Saturday they are ranked with the intraday, strategy and AI bots on their last 30 days after costs, and the best one that beat the index takes the weekly seat for real money. The bots, the seats and every trade are live at paper-trader.reversoar.workers.dev.
- Known limits. The universe is today's large companies and coins, which flatters any backtest (survivorship bias). Only the live paper record is real evidence.