Bitmex向けのBotを作ってみてわかった事(注文方法サンプルコード付)
見出し画像

Bitmex向けのBotを作ってみてわかった事(注文方法サンプルコード付)

ak

7月半ばにSFDが発生して大損こいた私です
大損した故にBitmexでbotを作り色々実験していました。そこで得た知見を今回ノートにしようと思います。

レジュメ
1.注文方法について
2.手数料について
  ・おまけ:指数注文でテイカー手数料が取られる条件とは?
3.Botの話

1.注文方法について

ここを見ればたいたいわかる・・・
しかし、

bitmexの注文方法には細かいオプションがいくつかついている

詳しくはこのサイトが解説してくれている。
Botを作る際にこの点を考慮しないと指値で注文したのにテイカー手数料を取られたりするので注意が必要
手数料については下で話します

注文方法のサンプルコード

mex_api = ccxt.bitmex({
    'apiKey': 'アクセスキー',
    'secret': '秘密やで'
})

def order_market(side, size):
    return mex_api.create_order('BTC/USD', type='Market', side=side, amount=size)
    
def order_limit(side, size, price):
    params = {
       'execInst': 'ParticipateDoNotInitiate', # if needed
    }
    return mex_api.create_order('BTC/USD', type='Limit', side=side, amount=size, price=price, params=params)

def order_stop(side, size, trigger_price):
    #ここがオプションの指定場所 詳しい内容についてはBitmexのApiリファレンス読んでください
    params = {
       'stopPx': trigger_price,
       'execInst': 'ParticipateDoNotInitiate,LastPrice', # if needed
    }
    return mex_api.create_order('BTC/USD', type='Stop', side=side, amount=size, params=params)
    
def order_stop_limit(side, size, price, trigger_price):
    params = {
       'stopPx': trigger_price,
       'execInst': 'ParticipateDoNotInitiate,LastPrice', # if needed
    }
    return mex_api.create_order('BTC/USD', type='StopLimit', side=side, amount=size, price=price, params=params)

大体こんな感じで注文できる。

2.手数料について

bitmexは手数料が二種類ある
・テイカー手数料
・メイカー手数料
この二つである。

・テイカー手数料
0.075%なのでめちゃんこ痛い
成行注文で取られる
指値注文でも仕組みを知らないと取られる

・メイカー手数料
-0.025%つまり注文、約定するとお金がもらえる
指値注文でしか受け取ることができない


・指数注文でテイカー手数料が取られる条件とは?

オーダーブックに乗っても即約定される値で注文するとテイカー手数料が取られてしまう

このブックの場合買い注文を7022で注文した場合、また、それより大きい価格(7050など)で注文するとテイカー手数料が取られてしまう
7000で注文すれば、メイカー手数料を受け取ることができる

ちなみに、ギリギリの値を指定した場合はテイカー手数料を取られる場合が多い。なので、メイカー手数料が欲しい人はオプションでPost-Onlyを指定すればメイカー手数料を受け取る注文をオーダーできる
ただし、指定した指値がメイカー手数料を受け取れない値の場合は即キャンセルされるので注意

3.Botの話

まず最初に、Bitmexのチャートはとても綺麗な形をしており、素直なチャートです。なので、1分足でチャネルブレイクアウトを行うと下記の画像になる

しかし、このバックテストは手数料を加味したものではない
トレンドフォローで使う注文はstop注文、つまりトリガーを用いた成行注文となる。つまり手数料を考慮しなくてはならない

手数料を加味した結果が下記の画像になる

この結果から成行注文を用いたスキャルピングの戦略はすべて手数料が上回ってしまうことがわかる

僕は最初にここにハマりました・・・

ではどんな戦略が向いているのか?

僕が思いついた条件は二種類
・指値を用いた注文で手数料+の利益を得る戦略
  = 逆張りorマーケットメイカー
・手数料を貫く利益を得る戦略
  = デイトレ、スイングなどの1度の利益率が多い取引方法

二つの戦略でbotを作成し、いつかnoteで売れたらいいですね・・・
今回のノートはここまでですが、考慮しなければならない要素が多くあります。
botを作ったりmexで取引する方の参考なればと思います。



この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
ak
ゲームとか作ってる 動的言語、web系の技術が乏しいハシビロコウのような人間です