Skip to main content

Jupyter Notebookとpandasを使って株価グラフを表示してみた

個人投資家のためのFinTechプログラミング (日経BPムック)

新品価格
¥2,376から
(2018/6/16 21:22時点)


個人投資家のためのFinTechプログラミング
を購入したマスタカ

そしてPython事始めの章を読んだところ
Jupyter Notebookを使うということで環境構築をして
pandasを使って株価チャートを表示させてみた


・インストール方法
pipでJupyter入れたけどMacだと動かなかったので
anacondaで入れて環境構築をしましょう
anacondaってのはサイエンス系のツールとPythonが一緒に入る
https://jupyter.readthedocs.io/en/latest/install.html
また、Pythonのパスが以下になる
/Users/aaaa/anaconda3/bin/python

・pandas_datareader
pandasはデータを効率的に扱うものらしい
そして、リモートのデータをpandasで使えるようにするのがpandas_datareaderらしい
https://www.sejuku.net/blog/40241
https://pandas-datareader.readthedocs.io/en/latest/#

・株価を表示してみる
本の通りに実装して見た
anacondaそのままだと、pandasが入ってないので最初にエラーが出る
ModuleNotFoundError: No module named ‘pandas_datareader’

pipでパッケージ入れる
pip install pandas_datareader
そうすると依存でエラー吐く
distributed 1.21.8 requires msgpack, which is not installed.

なので個別で入れる。
msgpackはjsonみたいなシリアライズのフォーマットらしい
https://msgpack.org/
pip install msgpack

・Jupyter Notebookの起動
anacondaを起動して
Jupyter Notebookをlaunchすれば起動する
ブラウザにページが出る

その後、ブラウザ上で
右上のNew→Python3で起動
コード入力後
Cell→RunCell
で実行できる

・実行エラー
ただし、実行時エラーがでる
ImportError: cannot import name ‘is_list_like’

バージョンが以下だとダメな模様
pandas 0.23.0
pandas-datareader 0.6.0
https://stackoverflow.com/questions/50394873/import-pandas-datareader-gives-importerror-cannot-import-name-is-list-like
pandasをダウングレードする
pip install pandas==0.21.0

・googleがdeprecated
googleはdeprecated
UnstableAPIWarning:The Google Finance API has not been stable since late 2017. Requests seemto fail at random. Failure is especially common when bulk downloading.
https://pandas-datareader.readthedocs.io/en/latest/remote_data.html

・コード
というわけで最終的なコードは以下になる

%matplotlib inline
インライン表示
https://qiita.com/zaburo/items/5637b424c655b136527a

[‘Close’]
終値のこと。これ配列だったのか・・・。

plot表示のドキュメントはこれかな
http://pandas.pydata.org/pandas-docs/version/0.21/generated/pandas.DataFrame.plot.html

Pythonがかけない上に本が間違ってるとかで結構苦労してますが
一番最初の章の事始めはできました。
金融分析やったこがないので時間はかかりそうですが
面白そうなので頑張っていこうと思います
続くと思うよ

関連記事:

Pocket