Tradewaysdocs
自動匯入

Interactive Brokers

用 Flex Web Service Token 和兩個 Flex Query 一次連接 Interactive Brokers,Tradeways 會依排程匯入新的股票、ETF 與 Forex 成交。

Interactive Brokers

連接 Interactive Brokers 一次後,Tradeways 就會自動匯入你的成交。不需要安裝任何東西,你的電腦也不必開著:Tradeways 會依排程從 Interactive Brokers 下載你設定好的 Flex 報表。

這個連接是唯讀的。Flex Web Service Token 只能下載你設定好的 Flex 報表,無法下單,也無法轉移資金。

設定大約需要十分鐘。你要在 Interactive Brokers 建立三樣東西,再貼到 Tradeways:

項目長相用途
Flex Web Service Token很長的數字,約 25 位讓 Tradeways 下載你的報表
Activity Flex Query ID較短的數字,約 7 位每日報表:更正、佣金、未平倉部位
Trade Confirmation Flex Query ID較短的數字,約 7 位當日報表:新的成交

這些都在 Interactive Brokers 的 Performance & Reports → Flex Queries 底下。下方圖片來自 Interactive Brokers 行動 App,那裡這個頁面叫做 Trade Reports。桌面版 Client Portal 的欄位相同。

若要匯入連接之前的歷史,或不使用 Token 直接匯入,請參閱 Interactive Brokers 檔案匯入。

設定 Interactive Brokers

1. 開啟 Flex Web Service 並建立 Token

開啟 Flex Queries,點選 Flex Web Service Configuration 旁的齒輪圖示。

設定 Flex Web Service:開啟服務、讓 IP 位址保持空白、產生新的 Token

  1. 開啟 Flex Web Service Status。
  2. 讓 Valid for IP Address 保持空白。Tradeways 不會從固定位址連線,所以限制 IP 位址的 Token 會被拒絕。
  3. 點選 Generate New Token,並選擇有效期限。選最長的期限,就不用太快更換。

複製這組 Token。之後再產生另一組 Token 會讓這組失效;那時請在 Tradeways 更換憑證。

2. 建立兩個 Flex Query

在 Flex Queries 頁面,每種 Query 類型各有一個 + 按鈕。

Flex Queries 頁面,Activity 與 Trade Confirmation Flex Query 各有一個 + 按鈕

Activity Flex Query(1)。在德文版入口網站中,它叫做 Kontoumsatz-Flex-Query。

  1. 為它取個名稱,例如 Tradeways。
  2. 新增 Trades 區段。層級選 Executions,並選取所有欄位。
  3. 新增 Open Positions 區段。層級選 Summary,並選取所有欄位。
  4. 格式設為 XML。期間不重要:Tradeways 每次請求都會自行指定日期。
  5. 依步驟 3 設定 General Configuration,然後儲存。

Trade Confirmation Flex Query(2)。在德文版入口網站中,它叫做 Handelsbestätigungs-Flex-Query。

  1. 為它取個名稱,例如 Tradeways。
  2. 新增 Trade Confirmation 區段。層級選 Execution,並選取所有欄位。
  3. 格式設為 XML。
  4. 依步驟 3 設定 General Configuration,然後儲存。

每個 Query 可以包含多個 Interactive Brokers 帳戶。你不需要為每個帳戶各建一個 Query;Tradeways 第一次看到某個帳戶時,會問你要把它放到哪裡。

3. 設定兩個 Query 的 General Configuration

兩個 Query 都有 General Configuration 區塊。請在兩邊設定相同的四個值。

General Configuration:日期格式、含時區的時間格式、分號分隔符號,以及將沖銷的成交與取消配對設為 Yes

  1. Date Format:yyyyMMdd。
  2. Time Format:HHmmss TimeZone。這是最容易漏掉的設定。沒有它,成交時間就不帶時區,而 Tradeways 不會匯入需要猜測時間的報表。
  3. Date/Time Separator:; (semi-colon)。
  4. Include Offsetting Trade/Cancel Pairs?:Yes。這樣 Interactive Brokers 取消的成交,也會從你的交易日誌中移除。

Profit and Loss 保持 Default。其他選項可以維持原樣。

4. 複製兩個 Query ID

開啟每個 Query。Query ID 會顯示在詳情頂端。

Activity Flex Query 詳情,Query ID 位於頂端

兩個 Query ID 必須不同。Token 比 Query ID 長很多,所以很容易分辨這三個值。

在 Tradeways 連接

  1. 前往設定 → 整合,找到 Interactive Brokers。
  2. 點選連接 Interactive Brokers。
  3. 把 Token 貼到 Flex Web Service Token,Activity Query ID 貼到 Activity Query ID,Trade Confirmation Query ID 貼到 Trade Confirmation Query ID。點選連接。
  4. Tradeways 會檢查 Token 與兩個 Query。Interactive Brokers 可能需要幾分鐘來產生報表。你可以關閉視窗,狀態會在設定中更新。
  5. 當報表中出現 Interactive Brokers 帳戶時,請把每一個對應到各自的 Tradeways 帳戶,或選擇不匯入。帳戶完成對應之前,不會匯入任何資料。

Token 會加密儲存,之後不會再顯示。Interactive Brokers 帳戶號碼會以遮蔽方式顯示。

第一次同步匯入任何資料後,已對應的帳戶會保留它的目的帳戶。你可以排除它,之後再重新納入,但只能納入同一個 Tradeways 帳戶。改放到其他帳戶,會把同一段歷史匯入第二個帳戶。

同步如何運作

自動同步不是即時 Feed。Interactive Brokers 發布 Flex 報表有延遲,而 Tradeways 會依排程讀取:

  • 新的成交:Trade Confirmation Query 約每 15 分鐘檢查一次。預計新成交會在大約 10 到 20 分鐘內出現在你的交易日誌。
  • 更正與未平倉部位:Activity Query 每天檢查一次。它會補上延遲到達的成交、更正後的佣金,以及未平倉部位當日的收盤價。
  • 第一次同步:涵蓋最近 365 個日曆天。更早的歷史請用檔案匯入。

點選立即同步可以要求提早檢查。每 15 分鐘最多只能要求一次。

成交會依 Interactive Brokers 成交 ID 比對。已在你交易日誌中的成交,不論來自先前的報表或檔案匯入,都不會重複匯入。你刪除的 Trade,即使之後的報表再次包含它的成交,也會維持已刪除。

會匯入什麼

  • 股票與 ETF 成交,以及 Interactive Brokers 標記為開倉或平倉的 CASH Forex 成交。其他資產類別會計為不支援並略過。
  • 部分成交、部位反轉,以及 Interactive Brokers 回報的佣金,包含佣金退還。
  • 取消:被取消的成交會從它所屬的 Trade 中移除。
  • 未平倉股票與 ETF 部位的浮動 P&L,依 Activity 報表中的每日收盤價(MarkPrice)計算。這不是即時報價。

Excursion 指標與其他以價格為基礎的分析,只會出現在有支援價格歷史的標的上。其他 Trade 匯入時不含這些指標;Tradeways 不會估算。

歷史缺口

平倉成交需要有對應的開倉成交。當開倉成交早於同步期間,且不在你的交易日誌中時,Tradeways 會略過該平倉成交,並計為歷史缺口。它不會建立替代的開倉成交。要補上缺口,請將涵蓋這兩筆成交的檔案匯入到同一個帳戶。

狀態與計數

設定中的每個連線都會以你的時區顯示狀態、上次檢查、上次成功的檢查,以及下次排程的檢查。

狀態意義
檢查中正在請求或處理報表。
選擇帳戶發現新的 Interactive Brokers 帳戶。請對應或排除它們才能繼續。
運作中上次檢查成功。
運作中,已略過部分列上一份報表已匯入,但有些列需要檢查而被略過。同步會繼續。
延遲,重試中Interactive Brokers 無法使用。Tradeways 會自動重試。
需要處理Token、Query 或報表格式需要處理。在你修正之前,同步會停止。訊息會說明是哪一項。

計數描述上一份報表:已匯入的成交、因重複而略過、因取消而移除、因不支援而略過,以及因歷史缺口而略過的數量。由於每日 Activity 報表會與前幾天重疊,其中大多數成交都會計為重複。這是正常的。

疑難排解

訊息或症狀處理方式
Flex Token 已過期依步驟 1產生新的 Token,然後點選更換憑證。
Flex Token 限制了特定 IP 位址產生 Valid for IP Address 保持空白的 Token。
Flex Query ID 無效確認每個 ID 都填在正確的欄位,且 Activity 與 Trade Confirmation 的 Query 沒有搞混。
無法讀取報表將兩個 Query 的格式都設為 XML。
此報表中有些列無法讀取將兩個 Query 的時間格式都設為 HHmmss TimeZone,並在每個區段選取所有欄位。成交時間必須帶有美東時間後綴,EST 或 EDT。
新的成交要到隔天才出現Trade Confirmation Query 沒有回傳它們。請檢查它的區段與 General Configuration。
帳戶已透過另一組 Flex Token 連接從其中一個 Query 移除該帳戶,或中斷另一個連線。
報表太大請從檔案匯入較早的歷史。若新的成交不再出現,請聯絡支援團隊。

在 Interactive Brokers 修正 Token 或 Query 之後,點選更換憑證重新檢查。當目的帳戶無法使用時,點選對應帳戶。中斷連線會停止所有檢查並刪除 Token;已匯入的 Trade 會保留在你的帳戶中。

On this page