仮想サーファーの波乗り

仮想化エンジニアの日常

プログラミング・ブロックチェーン・VR/AR・作業効率化・中国事情などに関してよく書きます。

アービトラージ(自動裁定)は本当に機能するのか?!② ~取引所のAPIアクセスしてみる~


おはようございます!


昨日はcoincheckのXEM不正流出事件でTwitterが大荒れでしたが、皆さんは大丈夫でしたか。 取引所に通貨を置いておくことへの懸念が大きくなっているところですが、アービトラージの自動システムは作りたい!!笑

ということで、昨日から始めたアービトラージの自動システム開発第2回目! f:id:virtual-surfer:20180127095317p:plain
今回から実際に開発に着手していきます。

今回は、アービトラージを自動化するために必須となる各取引所の提供しているAPIを実際に触っていきます!


APIとは?

「そもそもAPIって、なに?」て方もいると思うので、簡単に説明しておきます。

Web APIとは、「HTTPを利用してネットワーク越しに処理を実行して結果を受け取る仕組み」
(引用:https://thinkit.co.jp/free/article/0609/8/1/)

シンプルな説明ですね。

具体的にどういうことかというと、例えば「コインチェックの1日の取引情報履歴一覧情報がほしい!」となった時に、普通はcoincheckのサイトにアクセスしてボタンをぽちぽち押していって情報を探しますよね?そのボタンをポチッと押す操作の裏側では、あなたのPCからcoincheckのサイト(サーバー)に対して、HTTPアクセス(「1日の取引情報履歴一覧情報を出して!」というリクエスト)が行われています。それを、サイト上でポチポチするのではなくて、簡単なプログラムで実現することができるようにしてくれるのがAPIの役割です。

とは言っても実際に触ってみないとよくわからないと思うので、これから実際に触って理解していきましょう!


coincheckのAPIを触ってみる

coincheck.com

↑こちらがcoinchekの提供しているAPIですね。

このドキュメントに書かれている情報を元に、APIを実際に触ってみましょう。

APIには、publicとprivateが用意されていて、publicは認証情報なしで利用ができ、privateは認証情報があって始めて利用ができます。

まずは、認証が必要ないシンプルなpublic APIを利用してみましょう。

f:id:virtual-surfer:20180127090827p:plain

こちらは、取引情報、現在日時などを取得するAPIです。これは、シンプルなGETリクエストだけで完結します。

ブラウザのURL入力箇所に「https://coincheck.com/api/ticker」というURLを打ち込むと、以下の画像のように取引情報、現在日時などが文字列で返ってきます。これ で超シンプルなAPIやりとりが実現できました!

f:id:virtual-surfer:20180127091504p:plain

このような情報を活用して、「volume(24時間での取引量)が60000を超えたら、slackに通知を行う」などのプログラムを書いておくことで、APIを使った簡易なシステムを作ることができます。


private Keyの方も試してみたらまた書きます!


では!