LoginSignup
1
1

More than 3 years have passed since last update.

PythonでCoinMetricsが提供するBitcoinに関する簡単なデータ分析

Posted at

【本文】

今回は少し趣向を変えて、Pythonを利用した簡単なデータ分析(可視化)の事例を紹介。
CoinMetricsが各暗号通貨(ステーブルコイン等も含む)のデータをcsv形式で提供しているので、そちらを利用して、Bitcoinのトランザクション量と価格(USD)について可視化してみた。

Pythonはデータ分析用のライブラリが豊富な為、簡単な可視化であれば、数行~数十行程度で済むのが嬉しい。
(今回の事例では、pandasとmatplotlibを利用するだけでごく簡単なコードで、何となくそれなりの可視化が可能。同じことをMS-Excelで実現しようとすると。。。)

<備考>
CoinMetricsが提供するデータは以下からダウンロード可能
(主要な暗号通貨のデータを活用できる)
https://coinmetrics.io/community-network-data/

【Pythonコード】

getCoinMetrics
%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd

data = pd.read_csv('xxx\\btc.csv')

data['date'] = pd.to_datetime(data['date'])
data.set_index('date', inplace=True)
  • これでdate(日付)をベースにデータ分析が可能となる。

<トランザクション量の遷移を年別で可視化>

plt.plot(data.TxCnt)

TxCnt.png

<価格(USD)の遷移を年別で可視化>

plt.plot(data.PriceUSD)

PriceUSD_btc.png

<トランザクション量と価格(USD)の年別遷移状況を複合グラフで表現>

fig, ax1 = plt.subplots()
plt.plot(data.TxCnt, color='darkblue', label='TxCnt')

ax2 = ax1.twinx()
plt.plot(data.PriceUSD, color='darkorange', label='PriceUSD')

h1, l1 = ax1.get_legend_handles_labels()
h2, l2 = ax2.get_legend_handles_labels()
ax1.legend(h1+h2, l1+l2, loc='upper left')

ax1.set_xlabel('date')
ax1.set_ylabel('TxCnt')
ax2.set_ylabel('PriceUSD')

TxCnt_PriceUSD_btc.png

<因みに、特定の年度に絞ることも出来る(例:2014年)>

変更箇所のみ抜粋
~
plt.plot(df_data['2014'].TxCnt, color='darkblue', label='TxCnt')
~
plt.plot(df_data['2014'].PriceUSD, color='darkorange', label='PriceUSD')
~

TxCnt_PriceUSD_btc_2014.png

  • トランザクション量と価格(USD)とで負の相関が見れて興味深い。この後、トランザクション量の増加傾向が続く。

<散布図で見てみる>

plt.scatter(data.TxCnt,data.PriceUSD)

scatter_btc.png

  • トランザクションが一定量(200,000-)に達すると、価格への影響はあまり見受けられなくなる。(と、言えそう)

以上

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1