Home

Awesome

bakuchi

仮想通貨 Bot トレード開発

概要

仮想通貨 Bot を開発して利益を出すためのプロジェクト。

ログや分析レポートは別リポジトリで管理。

https://github.com/tsu-nera/bakuchi_analysis

戦略は、とりあえずローリスク・ローリターンのアービトラージ(裁定取引)で実装する。

Environments

Getting Started

$ git clone https://github.com/tsu-nera/bakuchi.git
$ cd bakuchi
$ git clone https://github.com/tsu-nera/bakuchi_analysis data

# 各取引所の認証情報を記載
$ cp src/.env.sample src/.env
$ emacs -nw src/.env

# pythonのライブラリいろいろいれる(TODO: あとで必須のものを追記)
$ conda install numpy pandas jupyter notebook matplotlib
$ pip install ccxt invoke python-dotenv
$ pip install tablulate urllib3 
$ conda install psutil sortedcontainers
$ pip install python-socketio[client]==4.6.1 # 5はダメっぽい

$ # pip install liquidtap --use-deprecated=legacy-resolver
  # なんか0.56.0じゃないと動かないぞ?なんだこりゃ
$ # https://reon777.com/2019/04/28/liquidtap/
$ # pip install websocket-client==0.56.0

$ pip install yapf flake8

# Bot稼働
$ inv bot

ツール

タスクランナーにはinvokeを利用している。

$ pip install invoke

トレード

終了は Ctrl+c。

# bot稼働
$ inv bot

# デモトレード: 実際のorderは実施しない。
$ inv demo-trade

バックテスト

バックテストのためには、事前にデータを用意する。

# バックテスト
$ inv backtest [data/historicals配下のディレクトリ名]

# シミュレーション: バックテストを走らせている時に1secずつdelayをいれているだけ
$ inv simulate [data/historicals配下のディレクトリ名]

cron設定

$ crontab -e

# 1時間ごとに実行
0 */1 * * * ~/repo/bakuchi/bin/asset-bot.sh

その他

あとでちゃんと書く。

取引所

Bot 稼働でつかっている取引所

口座開設済みの取引所

口座開設はしないが検討はしている取引所

開発リファレンス

References

5 年前の FX シストレ失敗作

Author

@tsu_crypt