スポンサーサイト

-----,--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

IbPy でIBからヒストリカルデータ取得がうまくいったりいかなかったり

03-22,2012


ibPy(Interactive Brokers Python API)を使って、先週の火曜日ぐらいまでは順調にInteractive Brokers(IB)からヒストリカルデータを取得できていたのに、急にエラーコード 162が出てしまい、データ取得ができなくなっていた。
こんなエラーメッセージ。


Error id=0, errorCode=162, errorMsg=Historical Market Data Service error message:HMDS query returned no data: AAPL@SMART Trades


なぜかよくわからないけど、Duration を '1 D' から '2 D' に変更してみたり、Bar Size を '1 min' から '15 mins' に変更してみたりしているうちに、もともとの設定だった、Duration、'1 D'、Bar Sizeが '1 min' でもデータ取得ができるようになってた。
それでも、データ取得ができるときとできないときがあるみたい…。
APIの制限なのかなぁ…。
納得がいかないなぁ…。

原因についてご存知の方、教えてください。







スポンサーサイト

先日のスクレイピングをpythonで

03-12,2012

先日のスクレイピングは、ib-rubyを使いたくてrubyで作成していたんだけど、エラーが出てしまいどうやっても回避が難しそうだったので、pythonのIbPy(Interactive Brokers Python API)を使ってみることにした。
先日作成したスクレイピングもpythonで書かないといけなくなった(ToT)

pythonで書いてみて、試してみたけどうまくいかなかった。
この前ハマったときと同じように、user-agentを設定してやればいいはず、と思っていたけどダメ。
試行錯誤した結果、Acceptを下記のように設定してやったらうまくいった。


import urllib, urllib2

user_agent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7"
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', user_agent), ('Accept', '*/*')]
url = "http://www.interactivebrokers.co.jp/
html = opener.open(url).read()


個人的な備忘録として、残しておこう。

銘柄リストをスクレイピングしようとしたら

02-29,2012

Interactive Brokers(IB証券)のウェブサイトから、全取引銘柄のリストをスクレイピングしようとしたけど、なかなかうまくいかなかった。
いろいろ試してみた。
結論としてはアクセスする際に User-Agent を付与してやったら、うまく行けた。
ハマったわー。

Interactive Brokers(IB証券)ヒストリカルデータ

02-28,2012

Interactive Brokers(IB証券)から、TWS経由でMultichartsへヒストリカルデータを落として、売買システムの検証をしようと思っていたんだけど、何度もエラーが出た。
最初は順調に落ちてくるんだけど、しばらくするとエラーになって全然ダメ。
原因を調べてみたら、どうもAPIの制限に引っかかってしまったようです。

詳しくは、こちら(Historical Data Limitations)とか、こちら(Interactive Brokers ~米国株証券会社~)で。

制限の内容としては下記のような感じらしいです。

・15秒以内の同一条件(銘柄、データ種類、期間)のリクエストは禁止
・2秒以内の同一の銘柄を6つ以上リクエストする事は禁止
・10分以内に60以上のリクエストは禁止
・1年以上は遡れない

過去1年間の大量の銘柄のデータを、Multichartsからちまちま落とすのはかなり厳しいので、IB APIを使ってなんとか制限に引っかからないようにヒストリカルデータを収集するプログラムを作ることに決めました。
ヒストリカルデータを格納するデータベースも作らないと。


週末のInteractive Brokers証券

02-27,2012

最近、Interactive Brokers証券(IB証券)に口座を開いて、自分の売買ルールの検証をしています。
この前の土曜日の午後に検証をしようと、TWS(Trading Work Station)でログインしようとしたところ、エラーが返ってきてログイン出来ませんでした。

Interactive Brokers証券の問い合わせ窓口にこの件について確認したところ、「土曜日の午後から夕方にかけてはメンテナンス作業があるので、ログインできない」との回答がありました。
土曜の夜からは使えるようになるようです。
もちろん日曜日も使えるそうです。

土日にガッツリ検証しようとお考えの方は要注意です。




上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。