個人投資家のためのFinTechプログラミング (日経BPムック) 新品価格 |
個人投資家のための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
・コード
というわけで最終的なコードは以下になる
1 2 3 4 5 6 |
%matplotlib inline import pandas_datareader.data as web aapl = web.DataReader("AAPL", "morningstar", "2001/12/31", "2016/12/31")['Close'] aapl.plot() |
%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がかけない上に本が間違ってるとかで結構苦労してますが
一番最初の章の事始めはできました。
金融分析やったこがないので時間はかかりそうですが
面白そうなので頑張っていこうと思います
続くと思うよ