【はじめてのレバレッジ取引】AKAGAMI氏の「bot」note実践記

bitmexbot1

「まだ、現物で消耗してるの?」

どうも、shawです。

今回は、

  • レバレッジ取引をした事ない
  • botどころかマトモな開発をした事ない

人間が、BitMEX botを作って、レバレッジ取引と自動取引に初挑戦してしまうお話です。

きっかけはAKAGAMI氏の「BitMEX自動売買bot作成Tips」noteを購入した事ですね。

このnoteは、botトレードをする上で必要になる基本的なAPIの使い方をまとめてくれており、分かりやすく、挑戦心を掻き立てるものだったため、初の試みを2つ同時に実践することになりました。

APIとは、ソフトウェア同士がやり取りするための機能。という理解で良いと思います。APIのおかげで、「BitMEX」と「私たちが作るボット(プログラム)」がやり取り(注文など)出来るわけです。

第一回の今回は、CCXTライブラリを利用して、取引を完了するところまで書いています。

それでは、私の悪戦苦闘っぷりを見ていただければと思います。

レバレッジ取引ができるBitMEXってなんぞや?

レバレッジ取引のこともBitMEXのこともよく知らなかったので調べて見ました。

レバレッジ取引とは?

reverage-exchange

「あの取引所、レバレッジ100倍かけれるらしい」と言われる通り、レバレッジ取引では、元手の資金より大きな額を取引することが可能です。

こういった少ない元手を担保に大きな額を取引することを信用取引と言いますが、レバレッジ取引は信用取引の別名だと思っておけば問題ありません。

当然、元手より大きな額を扱うので、リスクも大きいです。

「資産がマイナスになった泣」的なFXのネタ動画を上げているYoutuberなどを時折見かけますが、そういった預けている金額以上に損失が発生する可能性があるのもレバレッジ取引の特徴となります。

預金以上の損失が発生する仕組み「追証」と「強制決済」

預金以上に損失が発生するのは怖すぎるので、どういう仕組みなのかを調べました。

「追証がヤベエ」と言ってる人を見たことありませんか。FXで損した人からよく聞くこの「追証」こそ、「追加証拠金」と言う預金以上のお金を必要とする仕組みなのです。

「追証が発生する」=「レバレッジ取引をするための元手が足りなくなった」と言う事なので、追加で入金しなければ、取引を継続することが出来ず、最悪の場合、取引所によって強制決済されてしまいます。

この追証が発生するタイミングは取引所ごとに異なります。

例として、証拠金維持率51%を割ると追証が発生する会社があるとします。

Shawが100万円(1BTC)を元手に100倍のレバレッジをかけて、1億円分(100BTC)の取引をしていたとします。

ここで、BTCが大暴落、1BTCが50万円になってしまうと、元手に対して、証拠金は50%になってしまいます。ここで証拠金を追加する必要が出てくる訳です。

さらにこの時、追加で証拠金を入れられなかった場合、取引所によって強制決済が実行されてしまいます。取引としては、1億円が5000万円になっている状況ですから、-5000万円という莫大な赤字です。

元手の50万円を差し引いても、4950万円の借金を取引所に返さなければ行けません。

極端な例ですが、こういった可能性がある訳です。レバレッジ取引怖い・・・

そこでBitMEXです。

BitMEXとは?

bitmex-logo

BitMEXは、仮想通貨取引所の中で、最も大きくレバレッジを効かせることが可能な取引所になります。

最大100倍のレバレッジをかけることができ、追証も発生しないので、トレードに自信がある猛者やパチンカス的なギャンブラーがこぞって集まっているようです。

追証が発生しないのであれば、最悪0になるだけだし、チャレンジしてみるかと思ってしまった私は、パチンカスと近い属性である可能性が高いです。
※容易に仮想通貨資産が0になるリスクがあることは認識しておいてください。

BitMEXに登録する

レバレッジ取引、BitMEXへの恐怖心がなくなった所で、今回の主題であるBitMEX用のAPIを利用してみます。

CCXTライブラリを使ってみよう

noteのタイトル「Python3とCCXTライブラリを用いたBitMEX自動売買bot作成Tips」にもある通り、CCXTライブラリをPython3で利用してみます。

少しでも興味が沸いたらAKAGAMI氏のnoteを参照ください。続編もあるので、やる気が沸いてくると思います。

CCXTライブラリについて

CCXTライブラリとは、100以上の仮想通貨取引所の自動売買に使えるライブラリです。

  • 口座残高の取得
  • 銘柄情報の取得
  • 取引板の情報取得
  • 注文
  • 注文キャンセル

上記のような取引に関わる操作が可能です。

CCXTライブラリを使うためにPython環境が必要らしい

まずPythonを利用する環境が必要らしい・・・

Anacondaと言う統合環境でPythonを利用することにします。
※はじめコマンドプロンプトから実行しようと思いましたが、私はつまずきました。

統合開発環境(IDE)とは、コンパイラ、テキストエディタ、デバッガなどを一つにまとめたソフトウェアの開発環境です

Python環境構築のためAnacondaをインストールする

AnacondaをインストールするとPythonとライブラリをまとめてインストールしてくれるようなので、とりあえず入れてみます。(細かくは分からない・・・)

Anacondaは以下のURLからインストール可能です。
※私は最新の3.6 verをインストールしました。(インストールに2GB程度必要)
※メールアドレスを求められますが、入力しなくても問題ありませんでした。

https://www.anaconda.com/download/

anaconda-download

基本的にデフォルト設定でインストールしてみました。(「続ける」を押していくだけ)
※Microsoft VSCodeをインストールするか聞かれたので、とりあえずインストールしてみました。

Macの検索窓から「Anaconda Navigater」(統合環境)のメニューが出るようになったため、インストールは成功したようです。

AnacondaでインストールしたPythonを確認してみよう

Pythonがインストールされたか確認するため、TerminalからPythonのコマンドを実行してみました。確認が終わったら、CCXTをインストールします。

  1. ターミナルの立ち上げ

画面右上の虫眼鏡マークを押して出てくる検索窓に「terminal」と入力すると出てくるので、実行します。

terminal

2. Pythonがインストールされたことを確認

「Python」と入力して、Enterを押すと、Pythonの存在を確認できました。

Python-cmd

3. CCXTをインストール

CCXTをpipコマンドでインストールします。
※「pip install ccxt」だとエラーが発生したため、「sudo pip install ccxt」でインストールしました。

anaconda-ccxt-install

無事、成功したようです。

CCXT-install-success

このままターミナルを利用して、開発を進めることも出来ますが、私には敷居が高いので、Anaconda Navigaterを利用して、開発を進めることにしました。

BitMEXのテスト環境でCCXTライブラリを実際に使ってみる

BitMEXのテスト環境を利用して、実際に取引に使えるCCXTのコマンドを利用してみます。

  1. Anaconda NavigaterでPythonを実行してみる

anaconda-dashboard

ダッシュボード(管理画面)から「notebook」のLaunchボタンを押すと、jupyter notebookにブラウザからアクセス可能になりました。

anaconda-chrome

Logoutボタンの下にある「New」から「Python3」を押すと、Pythonのソースコードを入力できる画面が表示されます。

anaconda-note

試しに、printと言う文字列を出力するコマンドを入力し、実行(option + Enter)しました。

anaconda-print

「My name is Shaw」がちゃんと出力されたので、開発する準備は整っているようです。

2. BitMEXのテスト環境でAPIを利用してみよう

BitMEXにはテスト環境があり、開発者がAPIの利用を試すことが出来るようです。不安なので、まずはテスト環境で試してみました。

以下URLからBitMEXのテスト環境にアクセスし、ユーザ登録します。

https://testnet.bitmex.com

「API」を押下します。

bitmex-top

「APIキー」の「APIキーの管理」を押下します。

bitmex-apimenu

APIキーを作成の画面で、「名前」と「キーのアクセス」を入力し、APIキーを作成しました。

bitmex-apikey

「APIキー」と「秘密鍵」が表示されるので、保存しておきます。

Anacondaのjupyterに戻り、以下を入力します。(APIキーと秘密鍵は自分のものを入力してください。)

import ccxt
bitmex = ccxt.bitmex({
‘apiKey’: ‘APIキー‘,
‘secret’: ‘秘密鍵‘,
})
bitmex.urls[‘api’] = bitmex.urls[‘test’]

これでCCXTおよびBitMEXのAPI(テスト環境)を利用する準備が出来ました。

末尾に「print(bitmex.fetch_ticker(‘BTC/USD’))」を追加して、BTC/USDのticker情報を取得できるか試してみます。

bitmex-ticker

無事、BTC/USDに関する情報が出力されたようです。APIを利用できていることが確認できました。

CCXTライブラリを利用して、BitMEXで注文する

BitMEXのアカウントを作成し、ビットコインを送金する

BitMEXのアカウントがない場合は、まずアカウントを作成します。
※以下、ボタンから登録すると半年間、取引手数料が10%Offになります。

BitMEXに登録する

登録後、所有しているビットコインをBitMEXに送金します。(「アカウント」を押して、「入金」を選択するとアドレスが表示されます)
※私は、とりあえず0.0182BTCで勝負することにしました。(ビビリ)

bitmex-deposit

bitcoin-address

BitMEXの本番環境でAPIキーを作成する

BitMEXの本番環境に登録して、テスト環境と同様の手順でAPIキーを作成しました。

prod-apikey

アカウントの残高を確認してみる

「bitmex.fetch_balance()」を入力して、現在の残高を取得してみます。
※本番環境の場合は、「bitmex.urls[‘api’] = bitmex.urls[‘test’]」は不要です。

bitmex-balance

入金したBTCが反映されていることが、分かりました。

ポジションを持ってみる(注文)

500USD分、8350USDで買いの注文を入れてみました。

「order = bitmex.create_order(‘BTC/USD’, type=’limit’, side=’buy’, amount=500, price=8350)」

order-500-8350

アクティブな注文を確認してみます。

「orders = bitmex.fetch_open_orders() print(orders)」

active-order

注文出来ているようです。

念のためBitMEXの画面から確認。

gui-active-order

注文が通っています。感動・・・

AKAGAMI氏のnoteを読めば開発未経験のおっさんでも取引botが作れそう

今回は、AKAGAMI氏の「Python3とCCXTライブラリを用いたBitMEX自動売買bot作成Tips」noteを購入し、初めてのPythonに戸惑いながらも、なんとかCCXTを利用し、注文することが出来ました。

第1回のnoteで注文まで行けたのです。「これならおっさんでも売買botを作れそう」そんな風に思いました。
※続編noteも次々発表されているので是非チェックしてみてください。

特に私のようにプログラミングに興味はあるが、開発を経験したことがなかった人が実践すれば大きな感動があるはずです。

今後のAKAGAMI氏のnote企画に期待しながら、オリジナルbotを作れるよう勉強していきたいと思います。

AKAGAMI氏のnoteはこちら

早く自分のbotを作って、

「まだ、手動売買で消耗してるの?」

と、ドヤれる日を信じて。

【追記】

トレードbot開発ブログを始めました。(まだ途中ですが)ぜひご覧ください。

BitMEXに登録する

The following two tabs change content below.
Shaw

Shaw

コインボイス編集長。株式から仮想通貨やクラウドファンディングまで最新の投資情報を追い求めている。

関連記事

  1. tradebot-develop

    【自動で儲けたい?】BitMEX用オリジナルトレードbot開発記

CryptoGT【レバレッジ200倍】

驚異のレバレッジ200倍。追証無しなので初心者でも安心して取引できます。今だけ20%キャンペーン実施中。

 

➡︎CryptoGT(クリプトジーティー)の登録方法


CryptoGT①

 

BITPoint【キャンペーン中】

初めて仮想通貨をするなら手数料無料・返金保証有のBITPoint。今だけ3000円分のビットコインを全員にプレゼント中です。

 

➡︎BITPoint(ビットポイント)の登録方法

 

bitpoint-rec1

  1. bitpoint-auto-trade1

    【BITPointでFX】MT4・API・自動売買までやり方を紹介します

    2018.09.17

  2. bitpoint-feetop1

    BITPoint(ビットポイント)の取扱通貨・レバレッジ・手数料を解説

    2018.09.06

  3. bitpoint-top2

    【本田圭佑起用の取引所】BITPoint(ビットポイント)の評判・メリ…

    2018.08.28

  4. bitpoint-top1

    【キャンペーン中】BITPoint(ビットポイント)の口座開設・登録方…

    2018.08.28

  5. quorea-reputation1

    QUOREA(クオレア)の投資運用実績・評判・メリット・デメリット

    2018.08.20

関連ページ