Skip to main content

bTrader

This is an arbitrage trading bot based on this JS implementation. For that reason, the configuration files for both of them are compatible.

For further information on the status of this bot, refer to Development status

Steps to run the bot

Two-step process:

  1. Read the configuration guide from here. I was lazy to write one of my own, so you can read it from the JS implementation repository. After that, generate your own configuration file or just edit the one on the config/ directory on this repository. Note #1: Telegram bot is not available on the JS implementation. For that reason, nothing on their original configuration file refers to that. If you plan on using Telegram, please read the Telegram configuration section. Note #2: Not all of the variables on their original configuration file are being used. For further information, read the Config file compatibility section.

  2. (Recommended) Use the Docker image ($(pwd)/config.json is the path to your configuration file):

docker run -it --name btrader -v $(pwd)/config.json:/config.json gabrielmilan/btrader
  1. (Few more steps) Use the Python package:
python3 -m pip install btrader
python3
>>>> from btrader import bTrader
>>>> bot = bTrader("config.json")
>>>> bot.run()

Development status

  • C++ implementation of calculations
  • Monitoring websockets
  • Computing profits over all possible triangles
  • Filtering and showing viable operations
  • Implement asset step size
  • Structure for holding trading actions and quantities
  • Perform trading actions
  • Checking configuration file
  • Compatibility for LOG.LEVEL
  • Compatibility for TRADING.EXECUTION_STRATEGY and TRADING.EXECUTION_TEMPLATE
  • Best deals printing
  • Telegram bot
  • Generate binary distributions

Config file compatibility

  • KEYS
  • INVESTMENT
  • TRADING [ENABLED, EXECUTION_CAP, TAKER_FEE, PROFIT_THRESHOLD, AGE_THRESHOLD]
  • TRADING [EXECUTION_STRATEGY, EXECUTION_TEMPLATE]
  • HUD
  • LOG
  • DEPTH [SIZE]
  • DEPTH [PRUNE, INITIALIZATION_INTERVAL]
  • TIMING

Telegram configuration

  • Generate a bot token with BotFather (official tutorial here)
  • (Optional) Get your Telegram user ID with the @userinfobot
  • Fill the configuration file with your data
  • Send /start to your bot on Telegram so it can identify you as the main user (by doing this or configuring user ID on the config file, the bot will only respond to you)
  • Bot will notify you about executed trades or discovered deals, according to your config file
  • You can check the average/std/best age of deals by sending /age

Release files for btrader 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for btrader 0.1.5
File Size Uploaded
btrader-0.1.5.tar.gz 389.3 kB Details

Release files / btrader-0.1.5.tar.gz

Download URL btrader-0.1.5.tar.gz
Size 389.3 kB
Tags Source
SHA-256 checksum
How to use checksums
47a10e9ed324e8195b207a45388eeeb4f3a35e4059f8d3f870e9367d8e47f14a
BLAKE2b-256 checksum
How to use checksums
f67c40d7aeaf6703b518eba3626459613441fe1fdc0420fe1d836bff97e4295f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.3

Release history Release notifications | RSS feed

This release

0.1.5 This release

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page