Tradewaysdocs
手动导入

Interactive Brokers

将 Interactive Brokers Activity 或 Trade Confirmation Flex Query CSV 文件导入 Tradeways。

Interactive Brokers

从 Activity 或 Trade Confirmation Flex Query CSV 文件导入股票、ETF 和由 Broker 标记的 Forex 成交。Tradeways 会先合并各年度文件,再建立 Trade。系统会分开保留部分成交,并使用 Interactive Brokers 成交 ID 检测重复记录。

创建 Activity Flex Query

使用 Activity Flex Query,将 Broker 报告的已实现 P&L 与成交一起导出。

  1. 登录 Interactive Brokers Client Portal,打开 Performance & Reports,然后选择 Flex Queries。
  2. 创建 Activity Flex Query。在德语版 Portal 中,该选项为 Kontoumsatz-Flex-Query,而不是 Handelsbestätigungs-Flex-Query。
  3. 添加 Trades 部分,选择 Executions,并勾选所有可用字段。也可以选择 Closed Lots;Tradeways 会忽略这些行,避免重复计入成交和 P&L。
  4. 将 Profit and Loss 保持为 Default/Standard。不要为此导出启用基础货币 P&L。
  5. 日期使用 yyyyMMdd 格式,时间使用 HHmmss 格式,日期和时间之间用分号分隔。
  6. 选择 CSV 并保留列标题。分别导出每个可用年度,然后一起上传所有文件。

Activity 导出使用 IBOrderID、IBExecID、DateTime、TradePrice、IBCommission、IBCommissionCurrency 和 Notes/Codes,替代下文对应的 Trade Confirmation 列。文件还必须包含 Open/CloseIndicator。FifoPnlRealized 为可选字段,可提供用于核对的已实现 P&L。MTM P&L 不作为已实现 Trade P&L。

报告的已实现 P&L 已包含佣金。Tradeways 会将它与计算出的 P&L 比较,但不会替换计算结果,也不会创建可手动编辑的 P&L 记录。重新导入交易日志中已有的成交时,系统不会补录对应的 Broker P&L。

添加 Open Positions 以显示浮动 P&L

在同一个 Activity Flex Query 中添加 Open Positions 部分,即可显示未平仓持仓的浮动 P&L。

  1. 编辑 Activity Flex Query,添加 Open Positions 部分。
  2. 将详细程度选为 Summary,并勾选所有可用字段。
  3. 按之前的方式导出查询。每个文件随后都会包含其期间结束时的未平仓持仓。

Tradeways 会读取 ClientAccountID、CurrencyPrimary、AssetClass、Symbol、Conid、ReportDate、Quantity、MarkPrice、Side 和 LevelOfDetail。FifoPnlUnrealized 为可选字段。

浮动 P&L 使用报告日期的 Interactive Brokers 收盘价(MarkPrice)计算,而不是实时报价。Tradeways 会以该价格计算交易日志中这笔 Trade 的未平仓数量价值,并将报告日期显示为“截至”日期。Interactive Brokers 报告的未实现 P&L 仅供比较。账户余额包含浮动 P&L。日历、胜率和其他统计数据只计入已平仓 Trade。

上传多个年度文件时,Tradeways 使用最新的报告日期。如果某个持仓未出现在最新文件中,系统会将它视为已平仓。Tradeways 根据合约 ID 跟踪持仓,因此代码更改后,持仓仍会匹配原有 Trade。

如需日后更新浮动 P&L,请重新导出查询并上传最新文件。即使所有成交已在交易日志中,也可以这样更新。仅支持股票和 ETF 持仓。系统会跳过其他持仓行并显示提示。系统会报告无效的持仓行,但不会影响文件中的成交。

创建 Trade Confirmation Flex Query

  1. 登录 Interactive Brokers Client Portal。
  2. 打开 Performance & Reports,然后打开 Flex Queries。
  3. 创建 Trade Confirmation Flex Query。
  4. 选择所有可用的 Trade Confirmation 字段。
  5. 将日期格式设为 yyyyMMdd。
  6. 将时间格式设为 HHmmss。
  7. 将日期和时间分隔符设为分号。
  8. 将输出格式设为 CSV。
  9. 分别运行每个可用年度的查询,并下载所有文件。

保留原始列名。Tradeways 接受额外选中的列。

上传到 Tradeways

上传步骤,显示文件拖放区域、文件时区和导出说明
上传步骤,显示文件拖放区域、文件时区和导出说明
  1. 在 Trade Log 中点击添加 Trade,再点击上传文件。
  2. 在文件时区下,选择报告使用的时区。文件不包含时区。
  3. 在一次上传中选择所有年度 CSV 文件。
  4. 如果文件包含多个 Interactive Brokers 账户,请将每个账户映射到一个 Tradeways 账户。单个来源账户会导入当前 Tradeways 账户。
  5. 查看每个账户的预览。
  6. 确认导入。

Tradeways 会根据布局识别此导出文件,并使用本页的规则读取。不具备此布局的文件会按未知布局读取:Tradeways 会匹配其列,本页的规则不适用。请参阅导入 Trade。

一个 Interactive Brokers 文件可以包含多个账户。多个年度文件也可能重叠。Tradeways 会在预览前移除重复的成交 ID。每个包含在导入中的来源账户都需要不同的 Tradeways 目标账户。

文件要求

  • 使用 Activity 或 Trade Confirmation Flex Query CSV 文件。不支持 XML。
  • Tradeways 支持股票和 ETF 的 STK 行。
  • 只有当 Interactive Brokers 将 CASH 行标记为开仓或平仓 Forex Trade 时,Tradeways 才会导入这些行。
  • Tradeways 会从交易日志中排除 AutoFX、现金清理和未标记的货币转换行。
  • 此导入不支持期权、期货、债券、CFD、加密货币和未知资产代码。
  • Trade Confirmation 查询必须包含以下字段:ClientAccountID、CurrencyPrimary、AssetClass、Symbol、Conid、TradeID、OrderID、ExecID、Date/Time、Buy/Sell、Quantity、Price、Commission、CommissionCurrency、Code 和 LevelOfDetail。Activity 查询使用上文列出的替代字段。缺少任一字段都会导致文件无法导入,错误信息会列出缺少的列。
  • 系统会跳过 Trades 部分中的汇总行。
  • Open Positions 部分为可选。系统会跳过 Activity Flex Query 的其他部分,并将它们报告为已跳过的行。
  • 如果资产类别不受支持,对应来源账户会在写入任何 Trade 前停止导入。

报告时区适用于文件中的每个账户。Tradeways 会在预览前将所有成交时间转换为 UTC。

Tradeways 使用 Interactive Brokers 合约 ID,在标的的交易所代码发生变化时继续跟踪该标的。如果所选文件和交易日志都不包含之前的开仓成交,对应来源账户将无法导入。请添加更早的年度文件,不要将该笔卖出导入为新的 Short 持仓。如果该笔平仓成交已在交易日志中,则不会影响导入,因此你可以只上传最新的年度文件。

缺少开仓历史时,系统会返回文件选择步骤。已选文件会保留。添加更早的年度导出文件后,Tradeways 会重新检查完整的文件集。继续之前,你可以移除任何已选文件。如果有多个来源账户,Tradeways 会在账户映射后,将每个来源账户与其目标账户一一检查。

如果报告不包含开仓或平仓代码,Tradeways 也不会导入该股票成交。系统不会猜测卖出是否为 Short 持仓。即使取消记录出现在另一个已选文件中,已取消的成交仍会被移除。

你可以同时选择两种查询类型。如果两者包含同一笔成交,Tradeways 会优先使用 Activity 记录,并保留其报告的已实现 P&L。所有已选文件必须使用同一个报告时区。

On this page