見出し画像

【BFS-X】ポジションを自炊して高速に売買を行うbitFlyerでの高速botフレームワーク(mmbotと高速スキャルピングbotのサンプルロジック付属)

【販売形態について】

BFS-Xに関する費用は最初にご購入いただく使用権料と、継続してお支払いただく会員費用に分かれております。

初めて購入いただく方は
  ・ソフトウェア代金 20,000円
    ( ソフトウェア:購入時点での最新版BFS-Xとサンプルロジック)
  ・会員費用(メンバー認証30日) 3,000円
合計 23,000円でご利用開始いただけます。購入から30日はメンバー限定のDiscordにて継続して最新バージョンのBFS-Xがダウンロードいただくことが可能です。また、メンバー限定で損益をプロットする専用サーバーの提供などさまざまなサービスがご利用いただけます。

購入後30日を経過された方や、すでにBFS-Xをご購入の方は、専用Discordにてご自身のメンバー認証期限をご確認いただけますので、残日数が無くなる前に会員費用(メンバー認証30日) 3,000円をご購入いただき、専用Discordにて延長申請していただくことでメンバー認証期間を延長することが可能です。

本noteの最後に各アイテムへの購入ページへのリンクが用意されていますので、そちらから購入いただき、購入後下記の専用 Discord へ参加いただき、#アナウンス に記載されている内容をよくお読みいただいたうえで、自動権限管理のbot宛にメッセージで購入情報の登録をお願いします。

確認後、購入者限定のチャンネルが見られるように権限の付与をいたします。

最新版ソフトウェアのダウンードはメンバー限定エリアの「最新版ソフトウェア」チャンネルからダウンロードしてください。

=======================================

以下 BFS-Xに関する説明です。2章から9章まではダウンロードできるPDFを参照してください。
すべてのドキュメントが見ていただけるようになっていますので、購入前にご自身の目的と合致するかよく確認して購入してください。

十分に使いこなすには少々のプログラムに関する知識と環境構築の知識が必要です。下記のドキュメントをよく読んでご判断ください。

=======================================

------------------------
目次
------------------------

1.BFS-X概要説明
2.ロジック部の構成(フレームワークを用いたロジックの記載方法)
3.クラスの中で使用できるメンバ関数
4.クラスの中で使用できるメンバ変数
5.環境構築と起動方法
6.BFS-X稼働パラメータファイル
7.ロジックパラメータファイル
8.複数botの平行稼働(ポジションサーバーについて)
9.バックテスト機能について(おまけ機能)
10.番外編(AWS東京での環境構築)

------------------------
1.BFS-X概要説明
------------------------

■ bitFlyer専用botのフレームワーク

このソフトは、Pythonで簡単なロジックファイルを作ることで容易に高速取引を行うbotを作成することが出来るbitFlyer専用botのフレームワークです。

■ 3つの動作モードをサポート

BFS-Xには3つの動作モードがあり、それぞれのモードは下記のようになっています。

・mmbotモード:
約定通知や板の更新イベントに対して売買判断を行いリアルタイムに取引を行うモードです。秒足などのローソク足を判断基準として使用することも出来ます。

・秒スキャモード:
1秒~数分未満のローソク足を自炊してローソク足更新時にローソク足のデータなどに従って取引を行うモードです。

・スイングモード:
1分以上のローソク足を使用する場合に使うモードです。Cryptowatchから取得したローソク足データをもとに取引を行うモードです。

ロジックに合わせて最適な動作モードを選んでお使いいただくことが出来ます。

■ 自炊によるポジション管理

BFS-Xではwebsocketを使って流れてきたRealtimeAPIの約定履歴と自分の発注履歴を突き合わせてポジションを自炊管理し、getpositions(HTTP API)を使用して都度取得するよりも迅速に正確なポジション管理を行います。

これによって同一口座での複数稼働や、裁量取引とも共存することが可能です。また、getpositions(API)よりも高速に何度もポジション把握できるため高速な取引でもポジション違いによる逆選択のリスクを減らすことが出来ます。mmbotなどの高速高頻度取引では非常に重要なポイントです。

また、ポジション把握のためにAPIコールを行わないので、昨今のAPI回数制限などにおいても大変効果的に取引を行うことが可能です。

さらに、約定履歴をもとに建玉情報も自炊管理し、損益グラフもbotごと個別管理することが可能です。そのため同一ロジックを少しパラメータを変更して複数走らせて、それぞれのパラメータによる損益を個別に把握することが出来、単一口座でのABフォワードテストが容易に行えます。

Ctrl+Cでの中断時には現在のポジションをファイルに書き出し、再起動時には中断時のポジション情報から継続して稼働することが出来ます。

ネットワークの切断や、サーバーからの意図しないレスポンスなどによりポジションがズレることもあり得ますが、定期的にポジションを確認して、ずれたポジションを補正する機能があります。

注意)意図しないポジションズレにより発生したいかなる損失も補償しかねる事ご了承ください。

■ 豊富な付属サンプルロジック

4つのmmbot(派生ロジックを含めると8つ)と2つの秒スキャロジック(派生ロジックを含めると3つ)と3つのスイングロジックのサンプルロジックが付属しています。

これらのサンプルはフレームワークの使い方のサンプルであり、このままの状態で利益で出ることを保証するものではありませんが、実績のあるmmbotのロジックも含んでおり、mmbotとはどういうものかをご理解いただくには十分なサンプルだと思います。後述するように簡単にABテストを行うことが出来るのでパラメータの最適化などを行ったり、ご自身で独自の改良を加えることで十分に利益の出るロジックにすることが出来ると思います。

それぞれのサンプルロジックには簡単な説明がついており、このコードを読んでいただくことでBFS-Xでのロジックの記述方法や簡単なPythonのコード例をご理解いただくことが出来ます。

■ BFS-Xの機能と特徴

当フレームワークでは、リアルタイムAPIを用いたポジション管理のほか、bitFlyerで取引を行うために役立つ様々な機能を標準で用意しています。

【リアルタイムAPI経由での板情報取得】
Websocketにて板更新情報を取得しているため、HTTP APIアクセスを行わず(APIの回数制限の影響を受けず)何度でも迅速に板情報を取得して売買判定を行う事ができます。

【稼働パラメータのリアルタイム変更】
botやロジックの稼働パラメータはbotを再起動させること無く変更することが出来、細かいパラメータ調整も容易に行う事が可能です。

【botの稼働状況の可視化】
Discordへの定期的な稼働状況通知により、botの稼働状況を常にモニタリングすることが可能です。

● 定期的に現在の損益グラフをプロットしてdiscordへ通知することが出来ます。
複数のbotを稼働した場合にもそれぞれのbotの損益グラフを個別に確認できるため、パラメータを変えてのABテストなども容易に行えます。通知間隔は変更可能です。

画像1

● 損益グラフはbitFlyerのモバイルアプリの損益グラフに似せた表示にすることもできます。

画像2

● 損益グラフとは別に過去6時間のポジション推移、平均ポジション価格、LTP、損益グラフ、サーバーの遅延情報、APIアクセス回数をプロットしたグラフをプロットしてdiscordへ通知できます。
赤色が遅延が多めのところ、緑色が少ないところです。濃い赤色のところはSUPER BUSYが発生した期間です。
API accessと記載のあるグラフの上にある点線が500回/5分のラインで、これを超える場合にはアクセス制限に引っかかる可能性があります

画像3

【botの統計情報の可視化】
ロジックの改良や優位性の評価には様々な統計情報を可視化して判断することが大変重要です。BFS-Xでは様々な統計情報を可視化してロジックの改良への近道として使用いただけます

● 1時間に1回、発注回数、約定回数、部分約定回数、apiアクセス回数などの統計情報をdiscordへ通知できます。

画像4

● 1時間に1回、apiのレスポンス速度をヒストグラムにプロットしてdiscordへ通知できます。
サーバーの状態変化や遅延状態を把握することが出来ます。

画像5

● オーダー数・約定率・成行指値約定率をグラフにプロットしてdiscordへ通知できます。
約定時スリッページ額も集計表示できます。トリガー価格に対してどの程度滑っているのか可視化することが出来ますので、ロットサイズの影響なども把握できます。青い丸が上にあるのは不利な約定、下にあるのは指値よりも有利に約定したテイク指値です。(最下段のプロット)

画像6

● オーダー時の板乗り時間とキャンセル時のキャンセル完了時間を統計情報としてプロットします。executionsの配信遅延と合わせてグラフ化しています。

画像7

【高速な動作と低いCPU使用率】
CPUの使用率(aws t2.microにおける)はローソク足を生成するモードでは約3~7%(売買頻度による)、ローソク足を生成しないモードでは2~5%(売買頻度による)のCPU使用率です。頻度にもよりますが2つ程度の並行稼働はaws t2.microでも可能です。

【サーバーの状態による取引制限】
サーバーステータス["NORMAL", "BUSY", "VERY BUSY", "SUPER BUSY"]を指定して特定のサーバー状態では取引しない・緊急ポジションクローズするなどの指定ができます。
executionsの配信遅延を計測して数値化しており、それをもとに取引しない・緊急ポジションクローズするなどの売買判断が出来ます。

【特殊注文対応】
STOPオーダー、STOP_LIMITオーダー、TRAILオーダーのほか、OCO条件注文、IFD条件注文、IFDOCO条件注文などの特殊注文を用いたロジックもサポートしています。
(※バックテストなど一部サポートしていない機能もあります)

【時刻・曜日による制御】
メンテナンス期間など決められた時刻には取引を停止する事が出来ます。時刻指定の他、曜日指定でも停止期間を設定可能です。
停止前にポジションをクローズするかしないかが選択可能です。

■ 使用言語

使用言語はPython3.6で以下のモジュールのインストールが必要です。

websocket-client
python-dateutil
pandas==0.24.2
pyyaml
matplotlib
requests
sortedcontainers

また、一部の機能を使用するためには、下記のライブラリのインストールも必要です。(Discordbot機能を使う場合、ポジションサーバー機能を使用する場合)

discord
influxdb

その他、指数の計算などのためにTA-Libなどもインストールされると良いかと思います。

■ 販売対象

ロジックのサンプルコードを読んで内容をご理解いただいた上で各自設定を変更したり、改良したり、さらにはご自身で独自のロジックを作っていただくことを目的としたフレームワークですので、自身で簡単なプログラムがご理解頂ける方を対象にしております。

また、環境構築はご自身で行える方を対象としております。AWSでの稼働やVPSでの稼働を前提としておりますが、Pythonが稼働できる環境であればローカルPCでの稼働などでも可能です。

サポートは基本的には行わない形での販売形態といたしますが、購入者同士の情報交換や交流の場としてDiscordサーバーを立ち上げております。Discordサーバーでの情報交換を通して可能な範囲のフォローを行っております。

上記 Discord に参加後、#アナウンス に書かれている内容に沿って購入者登録を行ってください。

確認後、購入者限定のチャンネルが見られるように権限の付与をいたします。
バージョンアップなどの通知もこちらで行い、追加機能の配布・販売や、追加ロジックなどの配布・販売も検討しております。

諸般の事情を鑑みて販売は休止または中止されることがあります。その際には twitter: @kunmosky1 にてアナウンスいたします。

------------------------
2.ロジック部の構成
(フレームワークを用いたロジックの記載方法)
3.クラスの中で使用できるメンバ関数
4.クラスの中で使用できるメンバ変数
5.環境構築と起動方法
6.BFS-X稼働パラメータファイル
7.ロジックパラメータファイル
8.複数botの平行稼働
(ポジションサーバーについて)
9.バックテスト機能について(おまけ機能)
------------------------

これら2章から9章までは下記のPDFを参照してください。

【2020/7/5 更新】


------------------------
10.番外編
------------------------

 環境構築に関する部分は日々変わることがあり、上記で書いたように、基本的には環境構築はサポート対象外ですが、現時点(2020/4/26)でのAWS東京での環境構築について手順をまとめましたので、参考にしてください。

【2020/4/26 更新】




=================================================


購入はこちらからお願いします。


購入は note からの販売のほか、株式会社BBBandCompany​さんのサイトでも販売いたしております。
株式会社BBBandCompany​さんのサイトからの場合には3,000円(/30日)、noteからの販売の場合には、手数料の関係で会員費用が3,300円(/30日)となっております。

いずれのサイトからご購入いただいても結構ですので、決済後、専用Discordからの申請をお願いします。


株式会社BBBandCompany​:BFS-X販売サイト

以下、noteでの販売サイト

bitFlyer専用高速botフレームワークBFS-X、およびメンバー認証30日パック

【バージョンアップ版】bitFlyer専用高速botフレームワークBFS-X、およびメンバー認証30日パック

BFS-Xユーザー向け メンバー認証30日間

(同じnoteを複数回購入できないので、noteを複数用意しました。購入済みの場合には別のnoteを購入下さい)





※株式会社BBBandCompany​さんのサイトでの決済の場合にはPayPal発行の受領書が領収書としてご利用いただけますが、「領収書」の発行が必要な場合には、noteからの購入を行い、アカウント設定の購入履歴より領収書を発行してください。

領収書













この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
36