システムトレードのために、仮想通貨BOTを作成したり、過去の市場の分析を行う場合は、大量の価格データから必要な情報を取得しなければなりません。

元々はこれらのデータを一般の人が手に入れるのは簡単ではありませんでした。仮に手に入ったとしても、データを整理して、必要なものだけを選択して、有効な手法をバックテストして、、、というのは、それぞれが大きなハードルでした。

しかし、今はAPIを使用すれば容易に大量のデータを取得する事ができます。しかも環境構築や技術のキャッチアップがしやすいPythonという言語があり、PythonでAPIを操作する事も簡単です。以前は非常に困難だったり、面倒だったりした市場の分析作業が容易に行える様になったのです。

これらのデータを正しく扱う事ができれば、自分で仮想通貨BOTを作る事も夢ではありません。ましてそのBOTが市場に対して有効な動作をするのであれば、場合によっては、会社員としていただく給与よりもたくさんの収益をあげてくれるかもしれません。

APIやプログラミング、金融市場に対する理解を深めればそんな可能性が開けるかもしれないのです。

前置きが長くなりましたが、cryptowatch APIの使い方・操作方法についてご紹介をします!

cryptowatch APIについて

cryptowatch APIでは各取引所の過去の取引データなどを大量に、そして簡単に取得する事ができます。

冒頭でもお伝えした通り、仮にシステムトレードをしようと思っても、必要なデータ揃わなければ自動で売買を行ったり、シグナルを出したりはできません。昔は株価などの価格データを独自で蓄積してINPUTデータにしたりと大変な作業を行っていたらしいですが、今はcryptowatch APIを使えば過去のデータを一気に取得する事ができます。(データ取得数の上限はあります。)

今回はcryptowatch APIを使って、トレードに必要な情報を取得してチャートを描画する所までを解説します。

cryptowatch APIのデータ取得からチャート描画まで

では、cryptowatchから必要なデータを取得してチャートを描画する所までを解説します。チャートの表示までできれば、データをどの様に扱えば良いかイメージができるのではないでしょうか。

APIからの価格データの取得

まずはcryptowatchのAPIの仕組みを使ってOHLCデータを取得してみます。

cryptowatch APIでOHLCローソク足のデータを取得

JSON形式のデータについて理解を深める

cryptowatch APIから取得するデータはJSON形式です。ここではJSON形式について理解を深め、データを理解できる様になりましょう。

cryptowatch APIから受信するJSON形式のデータについて

OHLC取得処理を関数化

データ取得処理は関数化できる様にしましょう。併せてPyhonについての理解も深めましょう。

Pythonでcryptowatch APIからOHLCデータを取得する関数

時刻の変換処理

cryptowatchを利用する際にはunixtimeという時間を使わなければなりません。datetimeとunixtimeの変換方法をしっかりと理解しておきましょう。

Pythonによるdatetime⇔unixtimeの変換方法

pandasのDataFrameを使ってみる(おまけ)

これはシステムトレードや仮想通貨などのBOT作成に必須ではありませんが、チャートを描画する前にDataFrameを使うと非常に便利です。おまけとはいいつつPythonを扱う上では非常に大切な知識になります。

pandasライブラリの使い方

cpyptowatchから取得したOHLCデータからチャートを作る

最後にOHLCデータをチャートとして画像描画してみましょう。実際の絵になる事でデータの内容が一気に理解しやすくなります。

このチャートの描画にはmpl_financeというモジュールが必要になります。このモジュールのインストールから始める場合はこちらを参考にして下さい。

Pythonでチャートを描画するための準備

実際にチャートを描画する際にはこちらを参考にして下さい。

DataFrameのOHLCをチャートで描画

ここまで実践ができればcryptowatchから取得したデータを使って、色々な応用ができる様になると思います。

今回の流れ

という事で、今回ご紹介したながれをざっくりとおさらいすると、

1)cryptowatch APIからデータを取得

2)取得したJSON形式のデータを理解できる様にする

3)データ取得処理を関数化する

4)チャート描画のためにDataFrameを使う

5)チャートを描画する
※事前にモジュールのインストールは忘れずに!

といった内容になります。

前半部分を確認してみていただければ、cryptowatch APIの使い方は大体分かるはずです。一度使い方を覚えてしまえば非常に簡単ですよ。

後半部分で取得したOHLCデータをプロットしてチャート描画していますので、OHLCのデータの扱いについても分かったいただけたのではと思っています。

繰り返しになりますが、今後、仮想通貨のBOTなどを作成する上では基本的な知識になりますので、ここで押さえておいて下さいね。