bitFlyerフォワードテストフレームワーク「mockFlyer」
# 修正履歴
4/27 websocketに何度も再接続すると応答しなくなる問題の修正
5/4 データ構造変更によるAPI動作不良の修正
5/18 任意の証拠金を設定できるように修正
# 今後開発する予定の機能
* 非公開仕様の実装
* 約定遅延速度の調整機能
* 相場の録画、再生機能
①mockFlyerの特徴
mockFlyerとはbitFlyer売買Botでフォワードテストを行うために、取引所のAPI動作を模擬するテストフレームワークです。
本フレームワークは次のような機能を備えています。
API模擬機能
・PublicAPIで取得可能な情報は本物のサーバから取得します。
・取引所のAPIと同じドメイン名に偽装するため、Botのソースコードは一切変更する必要がありません。
・APIを介して行われる売買注文やポジションの取得などは仮想的に実行されるため、実際のお金を使うことはありません(口座も不要です)
評価機能
・フォワードテスト結果を評価するための、売買データやTick情報をKibanaから可視化する機能を備えています。
・自作Botが収集する情報をKibanaで可視化するためのAPIも用意しています
監視機能
・mockFlyerで発生した仮想的な損益やbitFlyerの稼働状況等をMackerelにプロットすることができます。
・Mackerelの監視ルールを設定することで、一定以上の含み損が発生したりbitFlyerが停止している場合にメールやSlack、LINE等にアラートを通知ことができます。
・自作Botが収集する情報をMackerelにプロットするためのAPIも用意しています
サードパーティBotへの対応
bitFlyerのAPIを利用するBotであれば対応可能です。
私の環境では下記のBotへ対応していることを確認しております。
②必要な知識とターゲットユーザ層
ターゲット層
本ツールはユーザは下記のようなユーザをターゲットにしています
・購入したBotを動かしてみたがテスト環境がない
・バックテストは行っているが、実際の環境で動かしてみたら動作が違った
・Botの開発を始めたいが、実際の口座を使うのが怖い
必要な知識
・Linuxの基本的な操作方法
・Dockerに関する基礎的な知識
・すでに購入済みのBotの操作方法に関する知識
構築手順書を無償で公開いたします。
ご自身の利用目的やスキルの範囲内で利用いただけるかどうかご検討ください。
こちらAPI動作確認用サンプルコードです。
③動作環境
本ツールはDockerコンテナ上で動作します。
docker-composeが動作する環境で実施して下さい。
私はUbuntu18.04で動作させています。
④ mockFlyerの動作概要
模擬できるAPI
● mockFlyer
- api.bitflyer.jp または api.bitflyer.comを模擬します
- RealtimeAPIから取得されるデータを元に約定をシミュレーションします
- API回数制限もシミュレーションします
- パブリックAPIは500回/分
- プライベートAPIは200回/分
● mockstream
- ws.lightstream.bitflyer.comを模擬します
- 実際のRealtime APIから取得したデータをwebsocketで提供します
- mockFlyerから生成された注文や約定など仮想的なイベントも一緒に提供します
動作概要(Public API)
リクエスト処理
バックエンド
動作概要(Private API)
リクエスト処理
注文リクエスト
キャンセルリクエスト
注文結果のリクエスト
ポジション状態のリクエスト
損益や保証金の状態リクエスト
バックエンド
約定処理
キャンセル処理
注文失効処理
ポジションのオープン・クローズ処理
⑤ 販売額などについて
本noteは高額noteです。
仮想通貨界隈でbotを作成されている方への情報の供給と、Botのロジック開発の効率化等に貢献できればと思い公開させていただきました。
注意事項
本noteに記載された内容の転売及び転載等は禁止とさせて頂きます。
また本note及びプログラムコードの利用により発生した損害に対しては一切の責任を負うことはできません。
Botに関する質問はTwitterの方でも受け付けております。
購入を検討される際など気軽にご相談ください。
ここまでお読み頂きありがとうございます。
ここから先は有料部分となりますので、ご興味のある方はご購入頂けますようお願い致します。
ここから先は
¥ 29,800
この記事が気に入ったらチップで応援してみませんか?