Algotrade Negative Eevee
Negative Eevee algo (Algotrade 2026 - 1st place)
Install / Use
npx skills add alexbolfa/algotrade-negative-eeveeInstalls into whichever agent you are using.
README
AlgoTrade 2026 - Negative Eevee
This is our 1st place entry for AlgoTrade 2026
The task
AlgoTrade 2026 was a 24-hour simulated high-frequency trading competition with 10 exchanges and 25 instruments: 20 stocks and 5 ETFs. All teams traded in the same shared market, where instruments were listed on different subsets of exchanges. Market data was broadcast every 100 ms, and fresh order book snapshots could be requested through the API under strict rate limits. At first, the task included artificial delay between exchanges, which was later removed by the organizers.

Strategy
Our main strategy was a Rust-based cross-exchange IOC arbitrage bot. The fair-value logic changed during the competition because the organizers removed the artificial delay between exchanges. In the first version, while artificial delay existed between exchanges, using all exchanges equally was not ideal: some prices were simply too old by the time they reached us. We therefore used only local exchange averages as fair values, trading accuracy for speed. After the artificial delay was removed, this tradeoff disappeared. We then switched to averaging the latest mid-prices from all exchanges where a product was listed, which gave us a cleaner global fair value.
On each update, the bot sent IOC orders around fair value into all relevant exchanges. If fair value was F, it placed buy IOCs slightly below F and sell IOCs slightly above F, around F ± 1 cent.
The WebSocket stream only updated every 100 ms, so we polled order books through the API. We started with a fixed interval of about 7 ms, then made it adaptive: poll faster after recent price changes, poll slower when an exchange was quiet
We did not hedge. The mispricings flipped many times per second, thus expected arbitrage profits were larger than the risk of holding inventory. Another issue was that hedging would have used API requests better spent on polling updates and sending orders.
We also tested ETF arbitrage, exchange lead-lag, ETF/component lead-lag, and CARD/SIMP mean reversion. These signals existed, but they were less profitable or less exclusive. Mean reversion still allowed other teams to enter later; cross-exchange arbitrage did not. Several teams mentioned that their own cross-exchange arbitrage became much worse around round 2, which was also when our first prototypes went live. Our final strategy let us take almost all of these inefficiencies out of the market as soon as they appeared.
This is a cleaned-up version of the repo we ran during the competition. Notes, AI slop and dead experiments were removed.
Team
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.7kCommit, push, and open a PR
