Python Pandas からお手軽に highcharts が使える kanichart 作りました。

Python
スポンサーリンク

Kanichart

  • python-highcharts のラッパー
  • pandasDataFrameSeries からお手軽に使える

Jupyterからローソク足チャートを使いたいと思った時、色々試しましたが一番良かったのが Highcharts でした。それをできるだけ自分が使いやすいようにラッパーを書いたのがkanichartです。

Highcharts の良いところ

  • JSなのでインタラクティブに操作可能
  • マウスオーバー時に数値を表示など細かいところが標準で充実
  • x軸を共有した際の動作が優秀
    • 時系列解析には必須

Sample Image

python-highchartsの使いにくいところ

Pandas との連携がなく、データをJSの形式にユーザ側で書き換えてから使わなければならない点がかなり面倒。他にも標準の状態でのhighchartsを使うことになるので、ローソク足が勝手に連結されたりと望まない挙動も多い。その辺りをkanichartでは解決している。

使い方

add_chartメソッドが基本となる。

StockChart.add_chart(self, chart_type, symbol, data, is_new_chart=True)

chart_type

以下の3つから選ぶ

  • candlestick
    • ローソク足チャート
  • line
    • ラインチャート
  • scatter
    • プロット

symbol

データの名前

data

Line chart の場合

  • pandas の Series
  • list データ
    • 2次元配列(timestamp, value)

Candlestick chart の場合

  • pandas の DataFrame
    • ‘Open’, ‘High’, ‘Low’, ‘Close’ のカラムを持つこと
  • list データ
    • [[timestamp, o, h, l, c], ….] の形であること

is_new_chart

新しいチャートに表示するか。Falseの場合は同一一つ前に表示したチャート上に表示させる。

プログラム例

from kanichart._chart import StockChart
stock = StockChart()
stock.add_chart('candlestick', 'APPLE', data)
stock.add_chart('line', 'APPLE1', data1, False)
stock.add_chart('line', 'APPLE2', data2, False)
stock.add_chart('candlestick', 'APPLE', data)
stock.add_chart('scatter', 'APPLE1', data2, False)
stock.plot()

コメント

  1. ひろ より:

    質問よろしいでしょうか?
    例えばボリンジャーバンドとRSIとストキャスティクス3つの条件を加えたarrowを出す方法についてご教示いただきたいのですが、よろしいでしょうか?

タイトルとURLをコピーしました