Pythonと機械学習

Pythonも機械学習も初心者ですが、頑張ってこのブログで勉強してこうと思います。

PoloniexでMarginTrade

目次

はじめに

現物買いだけだとボットの運用成績が悪いので空売りができるマージントレードにチャレンジしてみたいと思います。

マージントレードをする場合はマージントレード専用の口座に資金を移す必要があります。

取りあえず実際やって見たところ、思ったより簡単でした。これはFXです。

要するに自分が持っている資金(マージントレードアカウントに入っている資金)を担保にして、コインを借りることができ、そのコインを使って空買い空売りができるということですね。

強制ロスカットもあるので、資金がマイナスになることもなさそうです。Poloniex.comのマージントレードの説明ページを見る限り、損失が証拠金の半分まで膨らむと、強制ロスカットが発生するみたいです。

レバレッジは2.5倍になっており、自分が持っている資金の2.5倍までコインを借りることができます。

コインを借りることで利子が発生しますが、FXのスワップみたいなもので、まあそんなに気にしなくてもよさそうです。

解説ページの和訳

以下、マージントレード解説ページの全和訳です。長い余計な説明や、解り難い表現は省いたり意訳したりしてます。 大体あってると思いますが、、間違ってたらごめんなさい。

マージントレード

  • マージントレード(証拠金取引)は、基本的に借入資金で行うトレードです。
  • 取引される資金は、すべて借入金でピアツーピアで他人から提供された資金になります。
  • マージンアカウント中の自身の資金は、借入金の担保としてのみ扱われます。
  • 初めてマージントレードを行う場合は、用語や概念が分かりずらいと思います。
  • ユーザーインターフェースを使って説明していきます。

アカウント

  • 自分の資金を保持するアカウントには、エクスチェンジ、マージン、レンディングの3つがあります。
  • エクスチェンジは通常取引用のアカウントです。
  • マージンはマージントレードの担保としての資金を保持するアカウントです。
  • レンディングは他のユーザーに貸し出す資金を保持するアカウントです。
  • 最初に資金を投入する時はエクスチェンジアカウントに保存されます。
  • マージントレードを行うためには、Transfer Balances pageでエクスチェンジアカウントの資金をマージンアカウントに移す必要があります。
  • マージントレードが可能である仮想通貨ならば、どの通貨でもマージンアカウントに移すことができます。

ポジション

  • 資金を借りてトレードすることをポジションをオープンするといいます。
  • 買いの場合をロングポジション、売りの場合をショートポジションと言います。
  • トレードを繰り返すと、ポジションは変化していきます。例えば300XMRを売ってショートポジションをオープンしていた場合に、さらに600XMRを買ったとき、ショートポジションはロングポジションに変わります。
  • ポジションをクローズすると自動的に借入金は決済されます。
  • もし利益が出ている状態でポジションをクローズすると、その時点でマージンアカウントに利益が追加されます。反対に損失がある状態でポジションをクローズすると決済するために必要な損失はマージンアカウントから差し引かれます。
  • ポジションをオープンすると、チャートグラフの下に以下が表示されるようになります。

f:id:darden:20170131221713p:plain

  • Position:オープンしているポジションがロングかショートか
  • Amount:購入または売却したコイン量。 ポジションがショートの場合、この値は負の値になります。
  • Base Price:コインを購入または売却した時の平均価格。この価格でポジションを閉じると、利益・損失は0になります。
  • Est. Liquidation Price:強制ロスカットが発生する価格。
    • ただしここに表示されているのは、あくまで見積もり価格です。
    • 実際に強制ロスカットが発生する価格は、その時のマーケット状態に依存するので正確な値を予測することはできません。
    • 強制ロスカットが発生するタイミングが何によって決定されるかの詳細はマージンアカウントの項目を参照してください。
  • Unrealized P/L:借入金の利子も含めた、現在のポジションの損益見積もり額です。
  • Unrealized Lending Fees:現在のポジションの借入金の利子見積もり額です。
  • Action:"Close"をクリックすすとポジションが成行き価格でクローズされます。

マージンアカウント

  • マージントレードページの右側のマーケットボックスの下に、マージンアカウントの概要が表示されます。

f:id:darden:20170131222147p:plain:w450

  • Total Margin Value:マージンアカウント内の全通貨のBTC換算値です。BTC以外のコインを持っている場合は、現在の成行価格で売却したときBTC価格で計算されます。
  • Unrealized P/L:オープンしているポジションの全損益。
  • Unrealized Lending Fees:全借入金の利子
  • Net Value:オープンしているポジションの総損益と借入金の総利子をマージンアカウント内総資産のBTC換算値から引いた正味額。言い換えると証拠金として使える額のBTC換算値。この値にレバレッジ(2.5倍)をかけた量までコインを借入できます。
  • Total Borrowed Value:トータル借入量BTC換算値
  • Initial Margin:トータル借入量に対する正味額の初期比率。例えばマージンアカウント内に1BTCがある状態で、借入可能な最大額2.5BTC(レバレッジが2.5倍なので)を借りた場合、初期比率は1÷2.5=0.4(40%)になります。
  • Maintenance Margin:強制ロスカットを避けることができる総借入量/正味額の比率
  • Current Margin:総借入量/正味額の比率。 言い換えると、総借入量に対する正味額。

強制ロスカット

  • 強制ロスカットとは、さらなる損失を防ぎ、借入金返済が不履行になる状態を避けるために、ポジションの一部またはすべてが強制的にクローズされることです。
  • 強制ロスカットは、一つまたは複数の成行き注文で実施されます。その為、強制ロスカットにより被る損失はその時点でのオーダーブックの状態に依存します。
  • 強制ロスカットは、カレントマージンがメンテナンスマージンを下回った時に施行されます。
  • マーケットおよびオープンポジションの状態を定期的にチェックすることを強くお勧めします。ポジションの規模を縮小したり、追加の担保をマージンアカウントに移すことによって、必要に応じてリスクを軽減してください。
  • マーケットの変化が速い場合は、マージンコールにより強制ロスカットに対する警告が間に合わないかもしれません。

マージントレードをするためには?

  • マージントレードを実施するうえでやることは、一旦マージンアカウントに資金を移したら、後は売買注文を出すだけです。
  • 資金の借入は自動的に行われます。
  • 知っておくべきことが少しだけあります。一緒に例を見てみましょう。

f:id:darden:20170131222241p:plain:w400

  • 通常トレード時のbuy boxと違うのは、Tradable balanceとLoan Rate欄の2つです。
  • tradable balanceとは現在取引可能な資金の額です。マージンアカウントの担保の額、マーケットの状態、オープンしているポジションに依存します。
  • Loan Rate欄には、あなたが許容できる貸出金利(日利)を入れてください。
  • 借入は最小金利レートのローンオーダーから順に行われるので、大きな値を入れておいても特に問題はありません。
  • 指定した金利以下のローンを提供している人がいない場合、マージンオーダーの代わりにトリガーオーダーが行われます。
  • 指定した金利で借入が可能になった時点で、トリガーオーダーはマーケットオーダーに変わります。
  • 2日以上オーダーやポジションを置いたままにすると、指定した金利よりも高い金利になる可能性があるので注意してください。
  • ローンの最小期限が2日なので、期限が切れた時点でまた別の貸し手にローンが移されるためです。
  • マージン取引では、トリガーオーダーとストップリミット注文が、指定した額より少ない額でトリガーされることがあります。
  • これはマーケットの状態が絶え間なく変動するためです。
  • 全ての項目を記入したらBuyまたはSellボタンをクリックしてください。
  • 取引が成立せずにオーダーブックに登録された状態で、取引待ちになっているオーダーに対しても利子が発生するので注意してください。

ローンを提供して利子を得るには?

  • 他のユーザーに融資することであなたの資金を増やすことができます。
  • Lendingページの右側にMy Balances boxがあります。ここで貸し出したいコインを選びます。
  • 資金を融資するためには、レンディングアカウントに貸し出す為の資金を移す必要があります。offer box中の"Quick Transfer"リンクより実行できます。

f:id:darden:20170131222312p:plain:w700

  • Rate:融資する資金の金利(日利)
  • Amount:融資する額
  • Duration:融資する期間
  • Auto-renew:融資の自動更新。融資期間がきれた時、再度同じ設定で自動的に融資を提供したい場合はこのチェックを入れてください。

  • これで、マージントレーダーがあなたの融資を利用できるようになります。

  • マージントレーダーは、最も低い金利から融資オファーを受け取っていきます。
  • マージントレーダーのローンがオープンされた後、より低い金利の提供者が現れた場合は、債権がそちらに移される可能性が有ります。
  • つまりより低い金利を提供したものにローンの債権が移されるので、最良のチャンスを望む場合は競争力のある金利を提示してください。
  • マージントレーダーのポジションがクローズされたタイミングで得た金利がレンディングアカウントに反映されます。
  • 15%がPoloniexの手数料として引かれることを覚えておいてください。
  • 融資契約が成立するとMy Active Loansにリストされます。

f:id:darden:20170131222342p:plain

  • 融資期間中は契約をキャンセルすることはできません。(自動更新を無効にすることはできます。) 設定した融資期間までには資金は返還されます。