ビットフライヤーのSFD対策、APIを使って乖離をリアルタイムで確認する方法

この記事は約8分で読めます。

ビットフライヤーのSFD(Swap For Difference)って、イライラしませんか?

今年に入って1月、2月とビットコインFXの調子がとても良かったのですが、その後、2月後半から急転落してしまいました。

すべてはビットフライヤーのSFD導入のせいです。

 

というのは、ウソなんですが、こいつがきっかけで完全に調子がくるってしまいました。

それにしてもSFDは鬱陶しいですね。自由にトレードできないどころか、ヘタすると速攻で大損します。

しかも、ビットフライヤーのWebUIで表示している価格乖離が遅延しまくりで、まったく信用できません。

出来るだけSFDでの被害を少なくしようと、良いツールが無いかと探してみたのですが、よく分かりませんでした。

 

仕方がないので、自分でビットフライヤーAPIを使ってリアルタイムに乖離を表示できるようにしてみました。

結構簡単に実現できたので、よかったら試してみて下さい。(あくまで、投資は自己責任で!)

《リアルタイムSFDチェックHTML》 SFDチェック

SFD導入でいきなり大損しました

SFDというのは、現物と、FXとのかい離があまりにもひどくなったため、それを是正するために導入されたシステムです。乖離の大きさに応じ、乖離を大きくするようなトレードには、取引量に応じて徴収金が取られます。

最初、SFDがどんな動きをするのかよく分からず、適当にトレードしていたら、大損してしまいました。

大口様が完全にSFDシステムを悪用して、価格操作したためです。手動で対抗するには限界がありました。

結局、2月には12万円近くあった利益が完全に吹っ飛び、さらに赤字まで転落してしまいました。今現在は、マイナス4万円です。

あーあ。

 

もうすでにアチコチのサイトに散々SFDの悪口が書いてあるので、今更、SFDの説明するまでもなさそうです。

気を取り直して、また一から頑張ろうかと思っています。

SFDのえじきとならないために乖離をリアルタイムでチェック

ということで、このゴールデンウェークに入ってから、ビットコインFXを頑張っていました。

結構、調子がよかったのですが、どうしてもSFDが邪魔です。

ボットによって、SFD対象となる5%のかい離にFX価格をワザと張り付かせているので、微妙なところで注文を出すと、SFDにやられてしまいます。

しかも、知らない内にシステム改正されており、乖離が大きくなる方向に新規注文した場合、SFDは取られるが、その決済注文ではSFD対象ではなくなりました。知らずに、これでも2,3回やられてしまいました。。。

今のシステムでは、FXの方が5%以上高い場合には売りでしか、まともにFXトレードできません。もし、買いから入ると、その時点で0.25%もマイナスを食らってしまいます。

超ど短期のスウィングスタイルで、いきなりマイナス価格からのスタートされては、まったくトレードできません。

 

また、WebUIでは、通常時(グリーン状態)でも乖離の表示遅延がひどく、表示されている価格乖離の値がまったく信用できません。

しばらく4.9%と表示されていても、実際には5.0%に戻っていることが多く、これでなんどか、痛い目に合いました。

しかも、WebUIでは乖離値が小終点ひとケタまでしか、表示されていないため、どれぐらい危険なのかもよく分からないのです。

Webで確認できないならAPIでチェック

仕方がないので、今回、自分でAPIを使ってトレード値を取得して、単純に乖離値を表示できるようにしてみました。

単純なUIですが、こんな風にブラウザーを使って乖離の詳細表示ができました。

一応、WebSocketでサーバーと双方向通信して、BTCかFXの最終取引価格に変化があったら、自動更新します。

ビットフライヤーのサンプルをちょっと改良して、超簡単に作成しただけのHTMLなので、見た目は気にしないでください。

 

しばらく、これで乖離値をチェックしてみたのですが、やはりボットでの売り買いがやたらと早いです。

今は乖離が5%ちょい上をずっとキープしているのですが、少しでも5%を切ると、あっという間に戻されてしまいます。

たぶん、ボットでみんながその瞬間を狙っているのでしょう。

まあ、プログラムなんで、当然と言えば当然なんですが、とてもじゃないですが、人間技では、SFDを使って利益を出せるような状況ではないですね。

 

単純なJavascriptなんですが、一応、公開しておきます。下記コードをコピーしてテキストエディターで保存し、拡張子をhtmlとすればOKです。IE11では動かず、Chromeでしかチェックしていません。
IE11で動かなかったのは、Scriptの位置が悪かったのと、アロー関数をサポートしていなかったためでした。以下のリンクの方は修正しておきました。

《リアルタイムSFDチェックHTML》 SFDチェック

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.1.0/socket.io.slim.js" integrity="sha256-TjKvu34orT4v6tdwMFrmvqieKl/Rdep7T8hVq57FmEk=" crossorigin="anonymous"></script>
  </head>
  <body>
    <div>BTC: <span id="btc"></span></div>
    <div>FX : <span id="fx_btc"></span></div>
    <div>Kairi: <span id="kairi"></span></div>
 
  <script type="text/javascript">
    var btc, fx;
 
    var channelName_fx = "lightning_ticker_FX_BTC_JPY";
    var socket_fx = io("https://io.lightstream.bitflyer.com", { transports: ["websocket"] });
    socket_fx.on("connect", () => {
      socket_fx.emit("subscribe", channelName_fx);
    });
    socket_fx.on(channelName_fx, message => {
      $(function(){
        fx = message["ltp"];
        $("#fx_btc").html(fx);
        $("#kairi").html((fx/btc*100)-100);
      })
    });
   
    var channelName = "lightning_ticker_BTC_JPY";
    var socket = io("https://io.lightstream.bitflyer.com", { transports: ["websocket"] });
    socket.on("connect", () => {
      socket.emit("subscribe", channelName);
    });
    socket.on(channelName, message => {
      $(function(){
        btc = message["ltp"];
        $("#btc").html(btc);
        $("#kairi").html((fx/btc*100)-100);
      })
    });
  </script>
  </body>
</html>

まとめ

今回、ビットフライヤーのAPIで最終取引値を取得するため、はじめてWebSocketを使ってみました。

といっても、ビットフライヤーのサンプルそのまんまなんですが、ブラウザーから使う分にはものすごく簡単にできました。

 

最初、普通のAPIの方を叩いて価格を取得したのですが、そっちだと全然リアルタイムではなく、どうしようかと思っていたところ、サイトの下の方にリアルタイムAPIというのがありました。

そりゃ、最近はWebSocketですよね。

 

ということで、このツールを改良してSFDで大儲けできないか、ちょっと考えている最中です。

今みたいに5%ギリギリのところに張り付いてくれると、現物をちょっと操作するだけで、チョコチョコと儲けることが出来そうなんですが、普通の株式でやると完全に捕まりますね。

タイトルとURLをコピーしました