I built a triangular arbitrage bot, ran it in Tokyo with 21ms latency, and got zero opportunities. I almost concluded the market was efficient. Then I asked the question I should have asked first — and found three bugs in my own code.
I ported my Python crypto bot to Rust in roughly ten hours with AI peer review on every fix. I got a 138× speedup. The speedup was generating 244 arbitrage opportunities that did not exist. The fix taught me more about AI-assisted development than the port itself.
A backtest said my arbitrage strategy was profitable. A shadow trader running inside the production process, against the same order book, said it was off by 65 basis points. The architectural difference between the two was the part the backtest ignored. That part decided the outcome.