EC2インスタンス(AWS)上でbitFlyerのTickerをInfluxDBに保存、Grafanaで可視化する手順とサンプルコード

2019年12月15日:返金申請可に変更しました。

2020年2月16日:値下げしました。(3000円⇒1500円)

強Botterの皆さんのTwitterを監視していると、Grafanaのカッコいいダッシュボードをよく見かけますね。

画像1

(人様の損益グラフを載せるのは気が引けたのでイメージとしてGrafanaの公式ページから抜粋しました。)

カッコいい!…のですけどこういったモノに慣れてないと導入するのはなかなかハードル高いですよね。私自身、プログラミングは仮想通貨Botのために手を出した程度で、得意ではありません。そのため導入を決意してから、実際に動かせるようになるまで1週間ほどかかりました。仕事終わりの限られた作業時間でしたが、知識がない状態ですとそれくらいの時間はかかってしまうと思います。

ブログやドキュメントを見ながらトライ&エラーで導入しましたが、慣れてないために非常にストレスフルな日々でした。どうして「素人向けにこの通りやったら動くよ」っていう情報がまとまっていないんだ、と何度も思いました。そうした思いから今後、InfluxDB、Grafanaを導入する方の手引きとなれば幸いと本noteをまとめました。

本noteではInfluxDB&Grafanaを導入した際の手順とデータ収集用のサンプルコード(python3)をまとめました。以下、対象者・前提事項・注意事項になります。

・本noteの対象

InfluxDB&GrafanaをEC2インスタンスへ導入したいが、方法がわからないのでとりあえず動かす方法を求めている方。

・前提事項

EC2(Amazon Linux 2 AMI)でのcloud9環境を前提とします。またcloud9でのpython3開発環境はすでに構築されているものとします。もしこの段階でつまずく場合はくーるぜろさんのnoteを参照して開発環境を整えてください。2019/11/10現在、全てこの通りに作業して問題ありませんでした。

・注意事項

本noteの内容、コードで生じる全ての損失は自己責任となります。

私自身は職業プログラマではないので「動けばよし!」の精神です。そのためセキュリティや純技術的に正しいものを求めている方には物足りないと思います。

また、本noteで提供するpythonコードはサンプルとなります。エラー処理や速度に配慮したものではないのでご注意ください。すでにBotを運用されている方は、使用しているWebsocketコードや無料公開されている方のコードを、InfluxDB書き込み用に少々改変すれば安定した運用が可能と思います。


このNoteでのメインコンテンツは次の通りです。

1.InfluxDB&Grafanaの超概要

2.AWS Cloud9の設定

3.InfluxDBのインストール、設定

4.Grafanaのインストール、設定、グラフ作成

また、おまけとして以下の2コンテンツを用意しました。

①InfluxDBに保存した約定履歴から簡単に秒足OHLCを作るコマンド

バックテストに便利です。csvへ書き出す方法もご紹介します。

②海外主要取引所のWebsocket情報をInfluxDBへ保存するサンプルコード

Binance、BitMEX、Bitstamp、Bittrex、Bybit、Coinbase、Deribit、Huobi、Kraken、OKEx、Poloniexなどからの情報を公開されているライブラリでごく簡単に保存できます。例としてbinanceのTickerを保存するサンプルコードを紹介します。

メインコンテンツとおまけ②を合わせると以下のグラフができるようになります。bitflyerとbainanceのbest ask/bidとスプレッドを可視化しました。best ask/bidからスプレッドをクエリで算出してグラフ化しています。

画像2

本noteでは私自身が導入した際のつまづき点を元に、やりすぎなくらい丁寧に導入手順を記してます。すでにAWSでBotを動かせている方なら、まず問題なく作業を進めていただけますと思います。本noteを元にしたら1時間もかからずにInfluxDB&Grafana環境を構築できます。

私のように予備知識がない状態で導入するのはなかなか大変ですので、時間を買う感覚でご購入いかがでしょうか?これでGrafanaのカッコいいダッシュボードはもうあなたのモノです。

ここから先は

11,239字 / 4画像

¥ 1,500

この記事が気に入ったらサポートをしてみませんか?