コンテンツにスキップ

Interactive Brokers:Flex Queryで接続

Trader、Pro、Fleetプラン。

Interactive Brokersは、ほかのアプリケーションにリアルタイムの読み取り専用アクセスを提供していませんが、Flex Web Serviceで明細を公開しています。Client Portalで作るトークンとFlex Queryです。TakeJournalはこれらを自動で、読み取り専用で取得します。株式、株式オプション、先物、先物オプションを、手数料、満期、権利行使、割り当てとともに、入金と出金も含めて読み取ります。注文は一切出さず、出すこともできません。

  1. Performance & Reports → Flex Queries。Trade Confirmation Flex Queryを作成します。セクションTrade ConfirmationでExecutionsにチェックを入れてすべての項目を選び、形式はXML、期間はToday。保存してQuery IDを控えます。
  2. 任意(履歴と資金移動のため):セクションTrades(Executions、すべての項目)、Cash Transactions、Corporate Actions、Account Informationを含むActivity Flex Queryを、形式XML、期間Last 365 Calendar Daysで作成します。このQuery IDも控えます。
  3. 同じページのFlex Web Service Configurationでサービスをオンにしてトークンを生成します。IBが提供する最長の有効期間(最長1年)を選び、IP制限は空のままにします。TakeJournalのサーバーは自身のアドレスから問い合わせます。

接続 → 接続を追加、種類Interactive Brokers(Flex Web Service):

  • Flex Web Serviceのトークン:手順3のトークン。暗号化して保存し、読み取りにのみ使います。接続を削除すると一緒に消えます。
  • Trade ConfirmationのクエリID:手順1のID。
  • ActivityのクエリID(任意):手順2のID、または空欄。

口座は最初の同期で届き、IBで付けたエイリアスの名前で、IBの基準通貨で表示されます。

IBはFlex Web Serviceを毎分問い合わせる用途には向かないとしており、明細もリアルタイムではありません。約定はその5〜10分後にTrade Confirmationの明細に入り、Activityの明細はクローズ後に1日1回更新されます。そのため自動同期(Fleetで、TakeJournalが開いている間)は、平日のニューヨーク時間9:00から17:30まで30分ごと、その後に1回、週末は1日1回問い合わせます。Activityクエリは最大で20時間に1回です。ダッシュボードまたは接続ページの今すぐ同期ですぐに問い合わせます。

Flex Queryファイルの取り込みと接続は、同じ約定をIBの約定IDで識別するので、古いトレードのファイルを取り込んでも同期で届いたものが二重になることはありません。

Activity取引明細書のCorporate Actionsから、株式分割、銘柄の変更、株式配当が取り込まれます(株式分割)。合併やスピンオフなどその他のコーポレートアクションは数えません。

IBが拒否した場合は、接続のカードに理由と対処が表示されます。期限切れのトークン(新しいトークンを作って接続に入力)、ほかのIPアドレスに制限されたトークン、トークンに属さないクエリ、IBがまだ作成を終えていない明細(次の同期で読み取ります)です。

ActivityクエリにOpen Positionsセクション(すべての項目)を含めると、それを読み込む同期が一覧のポジションを約定と比べるので、履歴に欠けている決済が見つかります(決済の欠落)。欠落した決済では説明できない株数の差異(別のブローカーから移管された株式など)では、警告は出ません。

Interactive Brokers:Flex Queryの取り込み · 取り込みレポート · ブローカーと取り込み