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

*

Interactive Brokers 証券の Python API を利用する

公開日: : 最終更新日:2018/08/07 Python , , , , ,

Interactive Brokers 証券とは

日本には珍しく自動売買プラットフォームが提供されいてる証券会社です。基本的には全部JAVAで書かれていますが、最近Pythonも公式に対応しました。

Python ライブラリの入手

IB API | Interactive Brokers
はてブ数
Our proprietary API solutions let you create your own trading programs that take advantage of our high-speed order routing and broad mark...

Latest版のzipをダウンロードしてください。Stable版にはPythonが同梱されていないととても小さい文字で書いてありました。Python3のみ対応とのこと。

Pythonのパッケージディレクトリから下記コマンドでインストールしておきます。

つなぎ方

IB Gatewayアプリを立ち上げるか、TWSを起動して、ローカルにAPIサーバーを立ち上げます。

まだ開発途中でデバッグがしやすいので、TWSを利用した形での説明をします。

TWSを立ち上げて、File -> Global Configuation -> API の項目からEnable ActiveX and Socket clientsにチェックを入れれば、APIサーバーが立ち上がります。

公式 Python API つらい

ドキュメントを見ながら、実装していこうと思った矢先、ドキュメントに動くコードがあまり載っていないことが発覚。コードの切り出しだけ貼り付けてある感じで、実際にどのようにすれば価格情報を取得できるのかがパット見で全然分かりませんでした。

2018-08-07 追記

そのままibapiを使うと、loggingのrootでのログが大量に発生してしまいます。
インストール時に下記コマンドでインストールしておけば、名前でログの管理ができるようになります。

より使いやすいライブラリを使う

そんななかどりらんさんより救いの手が。

これで簡単に価格情報とかとれました。

サンプルコード

ib.sleepを使わないと、イベントループが周ってくれません。ハマった・・・。

参考リンク

にほんブログ村 為替ブログへ 
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

関連記事

Flast-Sockets + redis-py で簡単 Websocket サーバー実装

参考にしたサイト Using WebSockets on Heroku with Python | Heroku

記事を読む

SQLAlchemy のマイグレーションライブラリ Alembic を使ってみる。

SQLAlchemyの作者が作ったデータベースマイグレーションツール。個人的には、SQLAlchemyは使わないが、

記事を読む

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

Kanichart fx-kirin/kanichart: Easy(簡易) plotting library.

記事を読む

no image

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

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

記事を読む

PythonでsleepしているThreadを呼び起こすプラクティス

Pythonのsleep中のThreadをWake up PythonのThreadにて、RubyのThr

記事を読む

Python 2, Python 3 で更新したファイルを調べてreloadするパッケージを作った。

pdbでのデバッグにはreload機能がない IPythonには優秀なautorelaod機能がマジックコマンドで

記事を読む

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

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

記事を読む

DictCursor に AttrDict を指定する

記事を読む

swig で foofunction is private と怒られた時。

例えばのエラーとしてはこれ。 問題は、公開する予定のクラスのpublicインスタンス変数にprivateにしなけれ

記事を読む

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

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

記事を読む

Message

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

Adsense

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

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

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

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

JupyterでボタンからJavascriptを実行して追加のアウトプットをさせない方法

Javascriptを実行するとアウトプットセルの行が増える これがとても面倒だった。上の

まだBokehで消耗してるの?これからはPandas-Bokehを使おうぜ

タイトルはあまり気にしないでください。全然、Bokehで消耗する価値があるとは思っています。ただ

SQLAlchemy のマイグレーションライブラリ Alembic を使ってみる。

SQLAlchemyの作者が作ったデータベースマイグレーションツール。個人的には、SQLAlch

→もっと見る

PAGE TOP ↑