日々のニュースで語られる、ビットコインの価格変動。 「暴騰した」「暴落した」という、感情的なヘッドラインに、心を揺さぶられていませんか?
我々医師は、日々の臨床において、患者さんの主観的な訴えだけでなく、客観的なデータ(検査値、画像所見)に基づき、冷静に診断を下す訓練を受けています。
この「データ駆動型の思考」は、ノイズに溢れた投資の世界において、極めて強力な武器となります。
この記事では、その第一歩として、Googleが提供する無料のプログラミング環境を使い、ビットコインの価格という“生データ”を、自らの手で取得し、可視化(グラフ化)するための、具体的なプロトコルを、誰にでも分かるように解説します。
なぜ、我々は「生データ」に触れるべきなのか?
「Yahoo Financeのサイトで、チャートを見るだけではダメなのか?」 もちろん、それも有効です。しかし、この記事の目的は、単にチャートを見ることではありません。
「他人が加工したニュースやチャートを見る」という受動的な行為から、「自らの手で、一次情報(生データ)にアクセスし、それを可視化する」という、能動的な行為へ。
このプロセスを一度でも経験すること自体が、市場を、より客観的に、そして冷静に見るための、最高のトレーニングになるのです。
実験室を準備する – Google Colaboratoryのセットアップ
プログラミングと聞くと、「環境構築が面倒」と感じるかもしれません。しかし、ご安心ください。 Google Colaboratory
は、複雑な設定が一切不要で、誰でも、クリーンな状態で、データ分析を始められる、いわば「実験室」です。
必要なのは、Googleアカウントだけです。具体的な導入手順については、こちらの記事で詳しく解説しています。
Pythonで価格データを取得
実験室の準備ができたら、Pythonライブラリのyfinanceを用いて、BTC-JPYの価格データを取得します。
取得期間は、2018年1月1日から現在までとします。
Google Colaboratoryのノートブックに、以下のコードをコピー&ペーストして、実行(▶ボタンをクリック)してください。
import yfinance as yf
import matplotlib.pyplot as plt
from matplotlib import rcParams
# Set global font size
rcParams['font.size'] = 14
# Download BTC-JPY data from Yahoo Finance
btc = yf.download('BTC-JPY', start='2018-01-01', end='2022-03-27')
# Create figure and axis objects
fig, ax = plt.subplots(figsize=(12, 8))
# Plot BTC-JPY closing prices
ax.plot(btc.index, btc['Close'], color='blue')
# Set axis labels and title
ax.set_xlabel('Date')
ax.set_ylabel('Price (JPY)')
ax.set_title('BTC-JPY')
# Set y-axis ticks to have comma separators and no decimal places
ax.yaxis.set_major_formatter('{x:,.0f}')
# Export figure as PNG image
fig.savefig('btc_jpy_chart.png', dpi=300, bbox_inches='tight', pad_inches=0.2)
ビットコインチャートを作成する
matplotlibを使用して、取得したビットコイン価格データをチャート化します。チャートの横軸には日付、縦軸には価格を設定し、見やすくするためのラベル付けも行います。最終的に、チャートをPNG形式で保存をコードでおこなっています。
ビットコインチャートを作成することができました。ビットコイン以外の仮想通貨や、株価、為替レートなども取得できます。より多角的な分析も可能になりますね。

まとめ:感情から、データへ。思考の軸足を移す訓練
今回、私たちが行ったのは、単なる「プログラミング」ではありません。 それは、世の中のニュースや、他人の意見といった、感情的なノイズから距離を置き、客観的な「生データ」と向き合う、という、思考の訓練です。
このデータ駆動型の思考法は、投資だけでなく、我々医師の、日々の臨床判断や、研究活動の質をも、高めてくれるはずです。
関連書籍
よくある質問(FAQ)
Q1. プログラミングの経験が全くなくても、できますか? A1. はい、全く問題なく、可能です。この記事で推奨しているGoogle Colaboratoryは、面倒な環境構築が一切不要です。提示されたコードを、順番にコピー&ペーストして実行するだけで、誰でも同じチャートを作成することができます。まずは、難しく考えずに「模倣」から始めてみてください。
Q2. なぜ、Yahoo Financeのサイトで、ただチャートを見るだけでは、ダメなのですか? A2. もちろん、チャートを見るだけでも、日々の値動きを知ることはできます。しかし、この記事の真の目的は、「自らの手で、一次情報(生データ)を取得し、それを可視化する」というプロセスを、一度、経験してみることにあります。この経験こそが、他人の意見やニュースに惑わされず、客観的なデータに基づいて物事を考える、という「データ駆動型思考」の、重要な第一歩となるのです。
Q3. ビットコイン以外のデータも、取得できますか? A3. はい、可能です。記事中のPythonコードにある'BTC-JPY'
という部分(ティッカーシンボルと言います)を、調べたい銘柄のものに変更するだけです。
Appleの株価: 'AAPL'
S&P500指数: '^GSPC'
ドル円の為替レート: 'JPY=X'
このように、様々な金融データを、同じ手法で、自由に取得・可視化することができます。