Pythonによる暗号通貨の高頻度取引bot向けフレームワークです。
このフレームワークの役割は主に以下の3つです。
- websocketを最大限利用することでAPI制限とデータ取得遅延の問題を緩和すること。
- 取引所毎のwebsocketの仕様の差異を吸収すること。
- Bot開発において頻繁に出現する処理を再利用可能な形でモジュール化すること。
簡単な動作確認しかできていないので、バグが多く残っているものと思われます。
コードを参考にする程度に留めるか、実行する際はご自身で十分に検証を行ってください。
プログラムの実行は自己責任です。不具合等によって損失が生じた場合でもこちらでは責任を負えません。
- websocket経由の約定データ、板情報、注文イベントの取得
- 注文・キャンセル
- 注文イベントの処理: 注文管理、ポジションサイズ計算、(未確定)損益計算
- ポジションの仮想的な分割(複数ロジックの実行)
- リアルタイムシミュレーション
- UDP経由の操作(webインターフェース等との連携用)
- クラス(ロジックファイル)の動的なロード・アンロード
取引所 | API | 約定情報 | 板情報 | 建玉管理・注文管理 | バグ取り |
---|---|---|---|---|---|
bitbank | ○ | ○ | ○ | × | △ |
bitflyer | ○ | ○ | ○ | ○ | ○ |
bitmex | ○ | ○ | ○ | ○ | △ |
binance | ○ | ○ | ○ | ○ | △ |
bybit | ○ | ○ | ○ | ○ | △ |
gmocoin | ○ | ○ | ○ | × | △ |
liquid | ○ | ○ | ○ | △(JPYペアのみ) | △ |
- UNIX互換環境(Windowsは未検証)
- python>=3.6.1
- ccxt>=1.40.51
- websockets
- sortedcontainers
wikiをご覧ください。
- STOP、IFDOCO等の親注文
- ローソク足やインジケータ等のチャート情報
- 実用的な売買ロジック
- gmocoin, bitbank 注文周りの実装