The agent
Deterministic strategies decide; a risk layer checks every order: 5% per position, bracket stops, a daily loss limit and a kill switch. An AI committee votes, but at weight zero until it proves itself on new data.
I built an AI trading bot, then tried to prove it worked, and found out it didn't. Paper money only, with every test written down before I looked at the data.
On X and Reddit, trading bots show off huge backtests, usually the one version that worked. I wanted to know whether anything I built would survive a test I couldn't bend: data, rules and pass thresholds fixed before running it.
Deterministic strategies decide; a risk layer checks every order: 5% per position, bracket stops, a daily loss limit and a kill switch. An AI committee votes, but at weight zero until it proves itself on new data.
Its best backtest used 15 stocks chosen today. On 100 random sets of 15 stocks from the 2005 index, none matched it: a median Sharpe ratio of 0.41 against 0.88.
A 200-day trend filter cut the worst fall in all six markets I tested, but passed the pre-set rules in only three, and cost 1.3 to 4 points a year after Italian taxes.
Nine reversal variants, designed with Grok as a second reviewer. The signal existed before 2015, but every variant lost money after costs in 2015–2019.
Five steps: an idea, a backtest, a check on years it had never seen, the hindsight test with 100 random sets of stocks, then a pre-registration and a single final run. Each pre-registration fixes data, variants, costs and pass thresholds, signed with a date and a hash of the code. The test command refuses to run if the code has changed, and every variant tried is counted, so the final statistics pay for all of them.
None of the strategies beat holding the market after costs, so the sensible choice for real money is a low-cost index fund held for years. What I keep is the process, and it carries straight over to growth. To test a new acquisition channel, I would write down before launch the one metric that decides it (say, cost per activated user), the smallest effect worth acting on, the sample size and the stop date. Then I would count every variant tried and read the result once. If the channel misses the bar, it gets cut, not re-sliced until some segment looks good.
The bot keeps running in paper mode with its code frozen, mainly to catch bugs and gaps between live trades and the backtest. One last idea, a weekly version of the strategy, has its rules written and will be tested once on data from 2020 onwards.
The command center screenshots use simulated demo data. The charts show the real results of the pre-registered tests.