Inspiration

Test Three was inspired by the need to merge speed, autonomy, and scalability in a trading environment where milliseconds matter. Earlier versions relied on synchronous loops that blocked execution or couldn’t scale across multiple product pairs.
Test Three set out to create a fully automated swarm of arbitrage agents, each running independently, scanning markets, executing trades, and managing risk in real time, no pauses, no waiting, no crisis.

What it does

Test Three implements a hybrid asynchronous arbitrage engine with:

Parallel Arbitrage Agents

Each product pair (e.g., NVDA/NVDA_DUAL) runs its own async strategy:

  • All strategies run simultaneously via asyncio.gather()
  • No task blocks another

Continuous Order-Book Monitoring

Every agent constantly fetches:

  • Top bid/ask for the main instrument
  • Top bid/ask for the dual instrument

Real-Time Arbitrage Detection

The strategy compares:

  • Buy dual → Sell main
  • Buy main → Sell dual
    Triggers execution when spreads are profitable.

Safe Marketable IOC Execution

Through your helper: place_marketable_ioc_order(instrument, volume, side)

  • Ensures instant fill or cancellation
  • Eliminates unwanted exposure
  • Handles empty or unstable books

Position Alignment

The strategy checks and prints current positions each iteration to prevent drift between related instruments.

Robust Error & Disconnect Handling

If the exchange forces logout (as your logs showed), the system:

  • Catches the exception
  • Reconnects
  • Continues running other strategies without interruption

How we built it

  1. Async event-loop architecture with asyncio, allowing independent execution of all arbitrage pairs.
  2. A universal IOC helper that determines liquidity, selects correct order direction, and executes safely.
  3. Hybrid arbitrage logic that blends spread detection, order execution, position management, and exception handling.
  4. A swarm-runner (main()) that launches all strategies simultaneously and keeps them alive.

Challenges we ran into

  • Developing a market making strategy to help shifting markets
  • Dealing order of buys
  • Optiver Riddles

Accomplishments that we're proud of

  • A fully autonomous, scalable arbitrage swarm
  • True concurrency, non-blocking
  • Clear execution helpers that simplify complex order logic
  • Ability to scale to any number of instrument pairs
  • Safe position alignment preventing runaway exposure

What we learned

  • Async logic drastically improves responsiveness for trading engines
  • IOC orders are essential for fast and safe execution
  • Even simulated markets introduce real-world challenges and are unpredictable
  • Clean modular design simplifies debugging and iteration
  • Swarm-style agents require strong fault-tolerance to run continuously

What's next for NoCrisis

  • Adding a market making strategy
  • Solving the damn riddle

Built With

Share this project:

Updates

Submission history