OCaml 5 multicore trading engine. Ladder and market-making strategies.
485
dio is a trading engine written in OCaml 5. It runs a ladder strategy and a top-of-book market maker on Kraken, Hyperliquid, Lighter, Interactive Brokers, and Alpaca.
Each asset runs in its own OCaml domain. Orders go through a lock-free executor, market data lands in lock-free ring buffers, and position size comes from a capital-survival oracle that uses each asset's all-time drawdown. The dashboard is a terminal UI that attaches over a Unix socket.
Pull it:
docker pull malciller/dio-domains:latest
Tags: latest, v0.1.4. linux/amd64 only, so Apple Silicon runs it under emulation.
The image ships with no config. Take the examples out, edit them, then start it:
IMAGE=malciller/dio-domains:latest
docker run --rm -v "$PWD:/out" --entrypoint cp $IMAGE /usr/share/doc/dio/config.example.json /out/config.json
docker run --rm -v "$PWD:/out" --entrypoint cp $IMAGE /usr/share/doc/dio/.env.example /out/.env
docker run --rm -v "$PWD:/out" --entrypoint cp $IMAGE /usr/share/doc/dio/compose.yaml /out/compose.yaml
# edit config.json and .env
docker compose up -d
It trades real money. No warranty. Test on a testnet first.
Docs: https://diophantsolutions.com/dio/
Code and issues: https://github.com/malciller/dio-domains
MIT licensed.
Content type
Image
Digest
sha256:e8a5d5b18…
Size
62.5 MB
Last updated
1 day ago
docker pull malciller/dio-domains