機械学習

bokehで株価チャートと移動平均乖離率を描画する

投稿日:2017年9月29日 更新日:

本記事は、以前のpandasでのポートフォリオ評価からの派生記事です。

2018.8月の資産公開:年初来+41.7%に躍進。トルコショックの影響なし。

恒例の月半ばでの資産公開です。 みなさん、今年の相場は儲かってますか? 私は儲かってます。 去年と比べて、今年の相場は難しいという印象がありますが、運用成績的には今年も去年と同じくらい儲かってる感じで ...

続きを見る

前回は取り扱った相関性など少し小難しいグラフを作成しました。
今回は、そもそもの基本的な株価チャートと移動平均乖離率の図示を行います。

また、今回はpythonでポピュラーなmatplotlibではなくbokehという作図パッケージの使い方を紹介していきます。

 

スポンサーリンク




bokehとは

pythonでもっとも使われるデータ可視化ツールはmatplotlibで間違いありませんが、bokehはmatplotlibと比べインタラクティブなグラフを作ることができます。

株価のチャートなど、マクロで全体を見たり、細かく見たりとしたい場合に便利です。

Bokehの主な機能や特徴については、以下のとおりです。

  • 複数の図を連動させた状態で、グラフの移動などの操作ができる
  • Hoverツールで探索型の可視化ができる。(グラフ上にカーソルをあて、さらに詳細な情報が表示できる)
  • Bokehでは対話的な変更ができる。(matplotlibのように再描画ではなく、オブジェクト単位での変更が可)
  • 3つのインターフェースが提供されており、簡単に使いたい場合と、細かくカスタマイズしたい場合に使い分けられる。

3つのインターフェース

高レベル(入門者向け)

    • bokeh.chartsモジュールを使用
    • 棒グラフや円グラフなど、あらかじめ様式が決まったグラフを簡素な記述方法で出力

中レベル(中級者向け)

  • bokeh.plottingモジュールを使用
  • 描画対象となるオブジェクトの詳細を設定できる

低レベル(上級者向け)

  • bokeh.modelsモジュールを使用
  • 開発者向けのインターフェース

bokehによる株価チャートと移動平均乖離率の描画

まず、株価情報をいつものようにpandas-datareaderでyahoo.comから取得します。

pandasによる25日移動平均線の計算

pandasのデータフレームから25日移動平均値を計算する方法は簡単です。
「データフレーム.rolling(25).mean()」の1行で計算することができます。

早速、AMZNの株価と移動平均線を図示してみましょう。

25日移動平均乖離率の計算

移動平均線が描画できたら、次は投資タイミングを見極めるために移動平均乖離率も把握したいです。
こちらの計算式は、実際の株価と移動平均の乖離率を求める単純なもので1行で計算できます。

このように可視化されました。

bokehによる描画

作成した移動平均線と、移動平均乖離率をリンクして色々と分析していきたいため、bokehで描画します。
なお、今回は複数の銘柄に対し、一括でチャートを描画し、htmlファイルへ保存するような仕様にしています。

bokehを使い、このようなチャートを作りました。
上記は画像貼り付けですが、実際はドラッグなどでグリグリ動きますし、拡大縮小でスケールを変えることもできて、matplotolibよりもインタラクティブな描画になっています。

HTMLファイルは以下に置いておきますので、お試しで触っていただければ違いがわかると思います。

AMZNチャートのHTML

まとめ

本記事では、マイナーな作図ツールであるbokehの使い方を紹介しました。

今回は移動平均と移動平均乖離率をプロットしましたが、今後は他のテクニカル分析もチャート内で表現できるように検討していきます。

matplotlibより若干、文法が素直で、描画後もマウスでグリグリ動かせるので、感覚的で使い勝手の良いツールです。
皆さんもぜひ使ってみてはいかがでしょうか。

 







-機械学習
-, ,

Copyright© AIで米国株研究 , 2018 All Rights Reserved Powered by AFFINGER4.