金融日記テクニカル

昔、金融工学やRやプログラミングのテクニカルを話をまとめていこうとはじめたブログです。
主にウェブビジネスのテクニカルな話を備忘録的に書いていきます。

2017年08月

Anacondaはインストールできましたでしょうか? インスールできたら、(Windowsなら)スタートメニューから、"jupyter notebook"を選べば、ブラウザベースで動く、Pythonのインターフェースが起ち上がるはずです。この"jupyter notebook"が、Pythonで統計解析するためのインターフェースになります。なかなかよくできています。

さて、Pythonでいじくるデータをまずは用意しないといけません。流行りのビットコインの価格を分析することにします。ビットコインの日足データは、このサイトで手に入ります。データソースや信頼性はよくわかりませんが、とりあえずはこのデータで遊んでみましょう。

●CryptoCurrency Market Capitalizations: Historical data for Bitcoin
https://coinmarketcap.com/currencies/bitcoin/historical-data/

まずは、テキストエディタやエクセルなんかを使って、泥臭くCSVファイルを作ってください。データ分析の基本ですね。こういう手作業からはじまります。

ExcelBTCData

それで、jupyter notebookを使って、CSVファイルを読み込み、いろいろ解析しましょう。
データを読み込んで、Close価格でチャートを描くまでの流れが以下です。

PythonBTCanalysis

まず、In[1]はおまじないです。
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
%matplotlib inline

numpyというのは数値計算のライブラリ、pandasはエクセルのテーブルのようなデータを扱うためのものです。そして、matplotlibというのがグラフを描くためのライブラリです。
CSVファイルは、このように一発で読み込めます。
btc_df=pd.read_csv("BTCUSDdata.csv")

.head(5)というのは、最初の5行を表示せよ、という意味です。
次のコマンドはちょっと難しいですが、日付をこのデータフレームのインデックスにしています。
btc_df=pd.read_csv("BTCUSDdata.csv", index_col="Date", parse_dates=True)

さらに、今回は価格だけをとりあえず分析するので、"Close"だけにします。
btc_cls_df = btc_df["Close"]

最後に、チャートはこんなに簡単に描画できます。
btc_cls_df.plot()

.shift()で、一行ずらすことができます。あとで、日次リターンを計算する時に使います。

このブログは何年ぶりの更新でしょうか(笑)。メルマガでPythonはいいよって話をすこし前にしました。

週刊金融日記 第254号 婚姻費用・養育費計算ツールとPythonはいいよって話

その際に、入門書としてオススメしたのがこの本です。



開発環境などは、この本のとおりにインストールすれば(オフィシャル・サイトからファイルをひとつダウンロードするだけ)、すぐにPythonをはじめられます。

しかし……、RのようにPythonを統計解析に使いたい場合、これではダメです。対話型のインターフェースや、標準的なライブラリーが最初から入っている、別の便利なパッケージがあります。
その名も、Anaconda!
これもファイルをひとつダウンロードして、クリックするだけです。

●Download Anaconda Distribution
https://www.anaconda.com/download/

簡単なPythonを使った統計解析の本としては、現時点では、薄いこの本がオススメです。ポチって、Pythonでデータサイエンスをはじめましょう。

↑このページのトップヘ