fremantle-industries/tai
{ "createdAt": "2017-07-28T03:07:18Z", "defaultBranch": "main", "description": "A composable, real time, market data and trade execution toolkit. Built with Elixir, runs on the Erlang virtual machine", "fullName": "fremantle-industries/tai", "homepage": "", "language": "Elixir", "name": "tai", "pushedAt": "2024-12-07T00:58:56Z", "stargazersCount": 488, "topics": [ "algorithmic-trading", "automated-trading", "bitcoin", "crypto-trader", "crypto-trading", "crypto-trading-bot", "cryptocurrency", "cryptocurrency-trader", "cryptocurrency-trading-bot", "derivatives", "fintech", "hft", "hft-trading", "investment", "quant", "quantitative-finance", "trading", "trading-bot", "trading-systems" ], "updatedAt": "2025-11-25T23:24:48Z", "url": "https://github.com/fremantle-industries/tai"}Tai - Orchestrate Your Trading
Section titled “Tai - Orchestrate Your Trading”A composable, real time, market data and trade execution toolkit. Built with Elixir, runs on the Erlang virtual machine
[Getting Started]!(./docs/GETTING_STARTED.md) | [Built with Tai]!(./docs/BUILT_WITH_TAI.md) | [Commands]!(./docs/COMMANDS.md) | [Architecture]!(./docs/ARCHITECTURE.md) | [Examples]!(./apps/examples) | [Configuration]!(./docs/CONFIGURATION.md) | [Observability]!(./docs/OBSERVABILITY.md)
What Can I Do? TLDR;
Section titled “What Can I Do? TLDR;”Stream market data to create and manage orders with a near-uniform API across multiple venues
Here’s an example of an advisor that logs the spread between multiple products on multiple venues
Supported Venues
Section titled “Supported Venues”| Venues | Live Order Book | Accounts | Orders | Products | Fees |
|---|---|---|---|---|---|
| FTX | [x] | [x] | [x] | [x] | [x] |
| OkEx | [x] | [x] | [x] | [x] | [x] |
| BitMEX | [x] | [x] | [x] | [x] | [x] |
Venues In Progress
Section titled “Venues In Progress”| Venue | Live Order Book | Accounts | Orders | Products | Fees |
|---|---|---|---|---|---|
| Binance | [x] | [x] | [ ] | [x] | [x] |
| Deribit | [x] | [x] | [ ] | [x] | [x] |
| GDAX | [x] | [x] | [ ] | [x] | [x] |
| Huobi | [x] | [ ] | [ ] | [x] | [ ] |
| Delta Exchange | [x] | [ ] | [ ] | [x] | [x] |
| Bybit | [ ] | [ ] | [ ] | [x] | [ ] |
| bit.com | [ ] | [ ] | [ ] | [ ] | [ ] |
| Bitfinex | [ ] | [ ] | [ ] | [ ] | [ ] |
| Kraken | [ ] | [ ] | [ ] | [ ] | [ ] |
| CME | [ ] | [ ] | [ ] | [ ] | [ ] |
| Phemex | [ ] | [ ] | [ ] | [ ] | [ ] |
| BTSE | [ ] | [ ] | [ ] | [ ] | [ ] |
| KuCoin | [ ] | [ ] | [ ] | [ ] | [ ] |
| BitMax | [ ] | [ ] | [ ] | [ ] | [ ] |
| Bitget | [ ] | [ ] | [ ] | [ ] | [ ] |
| MEXC | [ ] | [ ] | [ ] | [ ] | [ ] |
| PrimeXBT | [ ] | [ ] | [ ] | [ ] | [ ] |
| Gate.io | [ ] | [ ] | [ ] | [ ] | [ ] |
| Coinflex | [ ] | [ ] | [ ] | [ ] | [ ] |
| bitFlyer | [ ] | [ ] | [ ] | [ ] | [ ] |
Install
Section titled “Install”tai requires Elixir 1.11+ & Erlang/OTP 22+. Add tai to your list of dependencies in mix.exs
def deps do [ {:tai, "~> 0.0.75"} # Choose your order data store # {:ecto_sqlite3, "~> 0.5.6"} # {:postgrex, "~> 0.15"} ]endCreate an .iex.exs file in the root of your project and import the tai helper
Application.put_env(:elixir, :ansi_enabled, true)
import Tai.IExRun the setup mix task to:
- Download dependencies
- Create an orders database
- Generate tai migrations for the orders database
- Run migrations
$ mix setuptai runs as an OTP application.
During development we can leverage mix to compile and run our application with an
interactive Elixir shell that imports the set of tai helper [commands]!(./docs/COMMANDS.md).
iex -S mixUpgrading Tai
Section titled “Upgrading Tai”Bump the required version number in mix.exs and download the dependencies.
$ mix deps.update taiRegenerate new or updated migrations
$ mix tai.gen.migrationRerun ecto migrations
$ mix ecto.migrateHelp Wanted :)
Section titled “Help Wanted :)”If you think this tai thing might be worthwhile and you don’t see a feature
or venue listed we would love your contributions to add them! Feel free to
drop us an email or open a Github issue.
Authors
Section titled “Authors”- Alex Kwiatkowski - alex+git@fremantle.io
License
Section titled “License”tai is released under the [MIT license]!(./LICENSE.md)