Wizard In The Market
システムトレードの魔術師

*

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メソッドが基本となる。

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の場合は同一一つ前に表示したチャート上に表示させる。

プログラム例

にほんブログ村 為替ブログへ 
Fx-Kirin

About Fx-Kirin

2009年10月にFXを開始、翌年2010年5月から脱サラをしてFX業界に専念。 2012年10月頃から本格的に勝ち始め、一月で資産を倍にする、2年半月間負けなし等、安定した収支で2013年11月に生涯FX収支が1億を超える。 投資スタイルはシステムトレード。プログラミングの知識がほぼない状態から、独学で自分がしたいと思うことであればほぼ実現することが可能なレベルまで成長。好きな言語はRuby, Python。必要となればC++からVBA、Pascal等なんでも行う。MT4/MT5のプログラミングも得意。 2011年にはFXで稼いだ資金をもとにシンガポールに移住し、留学も兼ねて起業をチャレンジするほど、ビジネスを興すことに熱意がある。国内の業者を主に使い始めたことから、2012年に帰国。零細株式会社経営中。

Adsense

  • このエントリーをはてなブックマークに追加
  • Pocket
  • 67 follow us in feedly

関連記事

no image

vim-ipythonをWindows 7 x64で使うとR6034 が出る件

個人的なただの忘備録。 Visual Studioのコマンドプロンプトから実行すること。 http://st

記事を読む

まだ Python の datetime で消耗しているの? maya 使おうぜ

この記事は Python Advent Calendar 2016 の 24日目の記事です。 当初は SCOOP

記事を読む

PythonのThreadを待機させるか、必要の度に作成するのかのベンチマーク比較

QueueとThreadのベンチマーク比較 2つのケースについて比較検証してみました。 実際に処理する内

記事を読む

VimでPythonのIDE 環境を一から構築する

追記 これ見ておいたほうがいいかも。 Vimを最強のPython開発環境にする2 - Λlisue's blog

記事を読む

Windowsユーザ御用達の uci.edu から直接python wheelをインストールしてくれるライブラリ pipwin

あんまり情報が出てこないのでメモ書き。 https://twitter.com/fx_kirin/status/9

記事を読む

CPP extension vs Cython vs CPython on calculating the mean of numpy array

I'd like to get any feedback to make cython faster like

記事を読む

Python の超お手軽のネットワーク分散コンピューティングライブラリSCOOP

SCOOPとは ssh とPython の設定を適切にするだけで、簡単にネットワーク間での分散処理が実行できる。

記事を読む

vim-slime を使って VIM の内容をコンソールに送信

この記事はVim Advent Calendar 2016の20日目の記事です。 選択行の内容をコンソールに送信

記事を読む

ipdb だけではなく IPython.embed も使おう

ipdb だと複数行の挿入ができなかったりするが、その問題が解消される。明らかにこちらのほうが使い勝手がいい。行のデ

記事を読む

Pythonのsocketでプロセス間通信をして価格データ等を送信する

どうも、お久しぶりです。キリンです。 取り敢えず1ヶ月ほど、連続でブログの更新を続けてみたのですが、そ

記事を読む

Comment

  1. ひろ より:

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

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

joblib によって謎のバグが起こる

joblib 0.14.1 にて確認.0.13.2 だと起こらない.import joblib を消

Fixing kernel error AMD-Vi: Event logged IO_PAGE_FAULT on Ryzen Machine

My pc was periodically shut down on 7:40 am JS

Ubuntu で仮想ディスプレイを使う

雑多な備忘録ですが、せっかくなので残しておきます。 Ubuntu 18.04 の resolv.c

PYPIへの登録を10秒でできるようになる方法

pip 使ってますよね Pythonを使っている人であれば、pip installでライブラリ

The art of debugging with GDB, DDD, and Eclipse の読書メモ

GDBの勉強がしたくて、下の本を原著で読んでみました。10年前の本だけど全然現役でした。

→もっと見る

PAGE TOP ↑