必要な実行環境
- Python : バージョン 3.5 以上
- pip : バージョン指定なし
OS は Windows でも Mac でも Linux でも Python さえ実行できれば大丈夫。
Pythonがまだの方は、こちらを参考にしてみて下さい。
設定方法
公式手順:
https://github.com/BitMEX/sample-market-maker
Step1. BitMEX の テスト用アカウントを作成
https://testnet.bitmex.com
Step2. 仮想環境の作成
virtualenv env
source env/bin/activate
Step3. BitMEX用の自動取引ライブラリをインストール
pip install bitmex-market-maker
Step4. ライブラリのセットアップ
marketmaker setup
このコマンド実行で自動売買に必要な設定ファイルが作成されます。
Step5. 設定ファイルの確認
settings.py を テキストエディタで開いて、中身を確認。
冒頭の
BASE_URL = "https://testnet.bitmex.com/api/v1/"
はテストネット用。
本番で使うときは
BASE_URL = "https://www.bitmex.com/api/v1/"
に置き換え。
Step6. APIの設定
https://testnet.bitmex.com 画面の 上部タブ 「アカウント」 をクリックして、その後 左サイドバー内の 「API Keys」 を選択。
「Name」 と 「Key Permissions」 を入力して、 「Create API Key」 ボタンをクリック。
すると API が表示されます。この表示されたコードを settings.py の API 項目にコピペ、 保存。
Step7. 自動売買の実行
marketmaker XBTUSD
終了は、コマンド画面で Ctrl + c もしくは Ctrl + z で自動売買のプログラムが止まります。
注意点
ハイレバの自動売買は難しい
取引内容の設定か自動売買プログラムか、どちらに問題があるか分かりませんが、 100倍、 50倍 でセットすると接続が切れます。
25倍 と 10倍 は安定して自動売買が行われます。
取引システムのプログラム
取引システムを自分でカスタマイズしたいと考える方も多いでしょう。その際の編集ファイルは、
/venv/lib/python3.5/site-packages/market_maker/market_maker.py
BitMEX sample market makerの取引内容
基本的に以下のステップで自動取引が行われます。
- プログラム開始と共に現在価格を取得。
- 現在価格から + 0.5% の価格で売り、 - 0.5% の価格で買い の注文 (INTERVAL = 0.005)
- 注文内容は定期的にチェックされて、 Limit Price は補正される (RELIST_INTERVAL = 0.01)
- ポジションを持つと、新たに 約定したポジション側の Limit オーダーがでる。その時の Limit Price は 約定価格から + - 0.5% の価格。
例えば 3600 XBTUSD で プログラム開始すると、 Buy Limit Price は 3582、 Sell Limit Price は 3618。
3600 XBTUSD × 0.005(0.5%) = 18 のため
そして仮に 3582 XBTUSD で買いが約定すると、新規で 3582-(3582 * 0.005)= 3564 で Buy Limit Price が立つ。
約定した 3582 の Buy ポジションは、 プログラム始動時の Sell Limit Price 3618 に達すると決済され利確。
そして新たに売り注文が発動、の繰り返し。。。
- この逆張り的な取引を自動で繰り返す
感想
デフォルトの状態でも損益はマイナスにならず、「なんだ、難しいこと考えなくても結果イケてるじゃん」と思いました。
しかし、ビットコイン相場の逆張りは勇気がいります。できれば 順張り で トレーリングストップ で自動売買したいもの。
すこしプログラムを変えてみたものの、 Stop Limit の注文がチョット難しいです。
ちょっと逆張りで気軽に自動売買なら BitMEX の Pythonライブラリはいいな、と思いました。
BitMEX のアカウント作成がまだの方は、以下のリンクから登録で取引手数料が半年間 10% OFF に。ご参考までにどうぞ。
20 〜 100 倍の ハイレバ で
ビットコインや Ripple をトレードしたいなら、
BitMex