AIFXではBitcoinやEthereumの過去レートのダウンロード方法を紹介しましたが、いずれもデータが限定的で取り扱いが難しいものでした。海外取引所で最大大手のBinanceでは、他業者に例を見ない規模のデータが提供され、(ほぼ)完全な取引が再現可能なデータを簡単にダウンロードすることが出来ます。ダウンロード方法は①APIを使ってPython等のプログラムからリアルタイムデータも含めて取得する方法と、②ウェブサイトから直接ダウンロードする方法があります。自動取引の際には①が必須ですが、アカウントの登録が必要であり、APIのプログラミングにも慣れる必要があり難易度が高いので、ここでは②の方法を紹介します。
K-line(時間足)データ
時間足データをダウンロードしたい場合、Binanceのデータ置き場のK-lineから必要なデータを選んでダウンロードします。例えば、BTCUSDTの2022年7月の1分足データをダウンロードしたいとき、BTCUSDT-1m-2022-07.zipをクリックするとダウンロードできます。
ダウンロードしたzipファイルをPythonのpandasを使うとzipのままデータを読み込め、下記のようなデータフレームが作成できます。
この1分足のOpen値をプロットして次の価格変動の図を作成できます。
Binanceは様々な時間足の種類が置かれていますが、1分足が最も短く、他の時間足は1分足から作成することが可能です。
トレードデータ
Binanceのデータ置き場のトレードからは価格・約定数の時系列データが取得できます。これは最小の時刻刻み(ティック)データであり、上のK-lineもトレードデータから再現可能です。また、AggTradesも本データから復元可能であるため、説明は省きます。2022年7月のBTCUSDTのトレードはBTCUSDT-trades-2022-07.zipを選んで取得します。再度、このzipをPythonのpandasで読み込んで表示してみます。
1か月で約16.5億回の取引があったようです。zipファイルの大きさは1Gb程度でした。結構大きいです。次に、1取引あたりの約定数(上図のqty)の頻度(確率密度)を表示します。
100BTCを超える取引が1か月間に何度も行われているようです。
ティックレベルの取引データを取得すると、K-lineなどのよく使われるデータを作成できるものの、この巨大データを使いこなすのは相当マニアアックであり、通常は上のK-lineを使っての取引ツールから始めるので十分と思われます。
オーダーブックデータ(先物のみ)
Binanceからダウンロードできるデータで、最も巨大なデータがこのオーダーブック(板情報)です。オーダーブックデータは全ての価格でのメイカー注文数(指値注文数)がティックレベルの時間変動幅で保存されています。BTCUSDTの1年分でもTB規模の容量なので、これだけはクリックのみでは取得出来ず、アカウントを作成し、Binanceのデータ置き場からダウンロードの許可(簡単な質問に答える)を得る必要があります。データをダウンロードし、オーダーブックをテックレベルで更新を繰り返して、好きな時刻でのオーダーブックを準備することが可能です。BTCUSDTのオーダーブックは次のように得ることが出来ます。価格帯は現在価格から±0.5%の範囲に限定しました。
APIが使える業者ではオーダーブックが取得できる場合が多いですが、普通は取得できる価格帯が限定されています。Binanceでは全ての価格帯でのオーダーブックの更新値を所得できます。Binanceではこの様に他業者にはない巨大規模のデータを提供しています。
データ加工に使うPythonプログラム
本サイトのBinance紹介コード(QMGVTCT7)を使って頂いた方に、このページで作図に用いたPythonプログラム(オーダーブックは除く)を提供します。このプログラムを使うと、データのダウンロードにすぐにデータを見ることができます。ご希望の方は、問い合わせフォームよりご連絡下さい。この紹介コードを使うと手数料が自動的に10%割り引かれお得です。 グローバル版Binanceは日本から撤退しました。
コメント