Interactive Brokers
Flex Web Service トークンと 2 つの Flex クエリで Interactive Brokers を一度接続すると、Tradeways が株式、ETF、Forex の新しい約定を定期的にインポートします。
Interactive Brokers
Interactive Brokers を一度接続すると、Tradeways が約定を自動でインポートします。インストールするものは何もなく、パソコンを起動しておく必要もありません。Tradeways が、Interactive Brokers で設定した Flex レポートを定期的にダウンロードします。
接続は読み取り専用です。Flex Web Service トークンでダウンロードできるのは、設定した Flex レポートだけです。注文の発注や資金の移動はできません。
セットアップにかかる時間は約 10 分です。Interactive Brokers で次の 3 つを用意し、Tradeways に貼り付けます。
| 項目 | 見た目 | 用途 |
|---|---|---|
| Flex Web Service トークン | 長い数字(約 25 桁) | Tradeways がレポートをダウンロードできるようにします |
| Activity Flex Query ID | 短い数字(約 7 桁) | 日次レポート: 訂正、手数料、未決済ポジション |
| Trade Confirmation Flex Query ID | 短い数字(約 7 桁) | 当日のレポート: 新しい約定 |
これらはすべて、Interactive Brokers の Performance & Reports → Flex Queries にあります。以下の画像は Interactive Brokers のモバイルアプリのもので、このページは Trade Reports という名前です。デスクトップの Client Portal でも同じ項目が表示されます。
接続前の履歴を取り込む場合や、トークンなしでインポートする場合は、Interactive Brokers のファイルインポートを参照してください。
Interactive Brokers を設定する
1. Flex Web Service を有効にしてトークンを生成する
Flex Queries を開き、Flex Web Service Configuration の横にある歯車アイコンを選択します。

- Flex Web Service Status をオンにします。
- Valid for IP Address は空のままにします。Tradeways は固定のアドレスから接続しないため、IP アドレスで制限されたトークンは拒否されます。
- Generate New Token を選択し、有効期間を決めます。最長の期間にしておくと、当面は入れ替える必要がありません。
トークンをコピーします。後で別のトークンを生成すると、このトークンは無効になります。その場合は、Tradeways の認証情報を置き換えてください。
2. 2 つの Flex クエリを作成する
Flex Queries ページでは、クエリの種類ごとに専用の + ボタンがあります。

Activity Flex Query(1)。ドイツ語版ポータルでは Kontoumsatz-Flex-Query です。
- 名前を付けます(例:
Tradeways)。 - Trades セクションを追加します。詳細レベルに Executions を選び、すべてのフィールドを選択します。
- Open Positions セクションを追加します。詳細レベルに Summary を選び、すべてのフィールドを選択します。
- 形式を XML にします。期間は関係ありません。Tradeways がリクエストのたびに日付を指定します。
- 手順 3のとおりに全般設定を行い、保存します。
Trade Confirmation Flex Query(2)。ドイツ語版ポータルでは Handelsbestätigungs-Flex-Query です。
- 名前を付けます(例:
Tradeways)。 - Trade Confirmation セクションを追加します。詳細レベルに Execution を選び、すべてのフィールドを選択します。
- 形式を XML にします。
- 手順 3のとおりに全般設定を行い、保存します。
1 つのクエリに、複数の Interactive Brokers の口座を含められます。口座ごとにクエリを作る必要はありません。Tradeways は、口座を初めて検出したときに、どこへ入れるかを確認します。
3. 両方のクエリで全般設定を行う
どちらのクエリにも General Configuration ブロックがあります。それぞれに同じ 4 つの値を設定します。

- Date Format:
yyyyMMdd。 - Time Format:
HHmmss TimeZone。見落としやすい設定です。これがないと約定時刻にタイムゾーンが付かず、Tradeways は時刻を推測するしかないレポートをインポートしません。 - Date/Time Separator:
; (semi-colon)。 - Include Offsetting Trade/Cancel Pairs?: Yes。これにより、Interactive Brokers が取り消した約定は、トレード日誌からも除かれます。
Profit and Loss は Default のままにします。その他のオプションはそのままで構いません。
4. 両方のクエリ ID をコピーする
各クエリを開きます。Query ID は詳細の上部に表示されます。

2 つのクエリ ID は異なる必要があります。トークンはクエリ ID よりずっと長いため、3 つの値は見分けやすくなっています。
Tradeways で接続する
- 設定 → 連携を開き、Interactive Brokers を探します。
- Interactive Brokers を接続を選択します。
- トークンを Flex Web Service トークンに、Activity のクエリ ID を Activity クエリ IDに、Trade Confirmation のクエリ ID を Trade Confirmation クエリ IDに貼り付けます。接続を選択します。
- Tradeways がトークンと 2 つのクエリを確認します。Interactive Brokers がレポートを生成するまで数分かかることがあります。ウィンドウは閉じても構いません。状況は設定に反映されます。
- レポートに Interactive Brokers の口座が含まれている場合は、それぞれを個別の Tradeways 口座に対応付けるか、インポートしないを選びます。対応付けるまでは、その口座は何もインポートされません。
トークンは暗号化して保存され、再表示されることはありません。Interactive Brokers の口座番号は一部を伏せて表示されます。
最初の同期で何かがインポートされた後は、対応付けた口座の対応付け先は変わりません。除外して後から再び含めることはできますが、同じ Tradeways 口座にしか戻せません。別の口座に移すと、同じ履歴が 2 つ目の口座にインポートされてしまうためです。
同期の仕組み
自動同期はリアルタイムのフィードではありません。Interactive Brokers は Flex レポートを遅れて公開し、Tradeways はそれを定期的に読み取ります。
- 新しい約定: Trade Confirmation クエリを約 15 分ごとに確認します。新しい約定は、おおむね 10〜20 分以内にトレード日誌に反映されます。
- 訂正と未決済ポジション: Activity クエリは 1 日 1 回確認します。遅れて届いた約定、訂正された手数料、未決済ポジションのその日の終値を取り込みます。
- 最初の同期: 直近 365 暦日が対象です。それより古い履歴は、ファイルインポートで取り込みます。
今すぐ同期を選択すると、早めの確認をリクエストできます。リクエストは 15 分に 1 回までです。
約定は Interactive Brokers の約定 ID で照合されます。以前のレポートやファイルインポートですでにトレード日誌にある約定が、重複してインポートされることはありません。削除した Trade は、後のレポートに同じ約定が再び含まれても、削除されたままです。
インポートされるもの
- 株式と ETF の約定、および Interactive Brokers がオープンまたはクローズと指定した
CASH(Forex)の約定。それ以外の資産クラスは未対応として数えられ、スキップされます。 - Interactive Brokers が報告したとおりの部分約定、ポジションの反転、手数料(手数料のリベートを含む)。
- 取り消し: 取り消された約定は、それが属していた Trade から除かれます。
- 未決済の株式と ETF ポジションの含み損益。Activity レポートの日次終値(
MarkPrice)から算出します。リアルタイムの価格ではありません。
MFE・MAE などの指標やその他の価格に基づく分析は、価格履歴に対応している商品にのみ表示されます。それ以外の Trade は、指標なしでインポートされます。Tradeways が推定値で補うことはありません。
履歴の欠落
エグジットの約定には、対応するエントリーの約定が必要です。エントリーの約定が同期期間より古く、トレード日誌にもない場合、Tradeways はエグジットの約定をスキップし、履歴の欠落として数えます。代わりのエントリーの約定を作ることはありません。欠落を解消するには、両方の約定を含むファイルをインポートして、同じ口座に取り込んでください。
ステータスと件数
設定の各接続には、ステータス、前回のチェック、前回の成功、次回の予定チェックが、あなたのタイムゾーンで表示されます。
| ステータス | 意味 |
|---|---|
| 確認中 | レポートをリクエスト中、または処理中です。 |
| 口座を選択 | 新しい Interactive Brokers の口座が見つかりました。続行するには、対応付けるか除外してください。 |
| 有効 | 前回のチェックが成功しました。 |
| 有効、一部の行をスキップ | 前回のレポートはインポートされましたが、確認が必要な行があり、スキップされました。同期は続行されます。 |
| 遅延中、再試行中 | Interactive Brokers が利用できませんでした。Tradeways が自動的に再試行します。 |
| 対応が必要 | トークン、クエリ、またはレポート形式の確認が必要です。修正するまで同期は停止します。メッセージに内容が表示されます。 |
件数は前回のレポートについて、インポートした約定、重複としてスキップした約定、取り消しとして除いた約定、未対応としてスキップした約定、履歴の欠落としてスキップした約定の数を示します。日次の Activity レポートは数日前の分と重なるため、約定の大半は重複として数えられます。これは想定どおりの動作です。
トラブルシューティング
| メッセージまたは症状 | 対処 |
|---|---|
| Flex トークンの有効期限が切れています | 手順 1で新しいトークンを生成し、認証情報を置き換えを選択します。 |
| Flex トークンが特定の IP アドレスに制限されています | Valid for IP Address を空にしたトークンを生成します。 |
| Flex クエリ ID が無効か、クエリの設定が正しくありません | 各 ID が正しい欄に入っていること、Activity と Trade Confirmation のクエリが入れ替わっていないことを確認します。 |
| レポートを読み取れませんでした | 両方のクエリの形式を XML にします。 |
| このレポートの一部の行を読み取れなかったため、インポートしませんでした | 両方のクエリの時刻形式を HHmmss TimeZone にし、各セクションですべてのフィールドを選択します。約定時刻には、米国東部の接尾辞(EST または EDT)が必要です。 |
| 新しい約定が翌日にならないと表示されない | Trade Confirmation クエリが約定を返していません。セクションと全般設定を確認します。 |
| Interactive Brokers の口座がすでに別の Flex トークンで接続されています | いずれかのクエリからその口座を外すか、もう一方の接続を解除します。 |
| レポートが大きすぎてダウンロードできません | 古い履歴はファイルからインポートします。新しい約定が届かなくなった場合は、サポートにご連絡ください。 |
Interactive Brokers でトークンやクエリを修正した後は、認証情報を置き換えを選択して再確認します。対応付け先の口座が利用できない場合は、口座を対応付けを選択します。接続を解除を選ぶと、すべてのチェックが停止し、トークンが削除されます。インポート済みの Trade は口座に残ります。