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 与成交一起导出。
- 登录 Interactive Brokers Client Portal,打开 Performance & Reports,然后选择 Flex Queries。
- 创建 Activity Flex Query。在德语版 Portal 中,该选项为 Kontoumsatz-Flex-Query,而不是 Handelsbestätigungs-Flex-Query。
- 添加 Trades 部分,选择 Executions,并勾选所有可用字段。也可以选择 Closed Lots;Tradeways 会忽略这些行,避免重复计入成交和 P&L。
- 将 Profit and Loss 保持为 Default/Standard。不要为此导出启用基础货币 P&L。
- 日期使用
yyyyMMdd格式,时间使用HHmmss格式,日期和时间之间用分号分隔。 - 选择 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。
- 编辑 Activity Flex Query,添加 Open Positions 部分。
- 将详细程度选为 Summary,并勾选所有可用字段。
- 按之前的方式导出查询。每个文件随后都会包含其期间结束时的未平仓持仓。
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
- 登录 Interactive Brokers Client Portal。
- 打开 Performance & Reports,然后打开 Flex Queries。
- 创建 Trade Confirmation Flex Query。
- 选择所有可用的 Trade Confirmation 字段。
- 将日期格式设为
yyyyMMdd。 - 将时间格式设为
HHmmss。 - 将日期和时间分隔符设为分号。
- 将输出格式设为 CSV。
- 分别运行每个可用年度的查询,并下载所有文件。
保留原始列名。Tradeways 接受额外选中的列。
上传到 Tradeways


- 在 Trade Log 中点击添加 Trade,再点击上传文件。
- 在文件时区下,选择报告使用的时区。文件不包含时区。
- 在一次上传中选择所有年度 CSV 文件。
- 如果文件包含多个 Interactive Brokers 账户,请将每个账户映射到一个 Tradeways 账户。单个来源账户会导入当前 Tradeways 账户。
- 查看每个账户的预览。
- 确认导入。
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。所有已选文件必须使用同一个报告时区。