返回文章列表

多券商美股交易合并对账的 5 个坑

2026年6月6日·3 分钟阅读

如果你跟我一样,BBAE 用一个、富途用一个、Moomoo 再用一个,每个月底想对一遍账,你大概率遇到过这些坑。把所有交易合到一处的过程比想象中麻烦得多 —— 不是数据少,而是数据

下面是我自己踩过、并写进 RecapTrade 自动处理逻辑里的 5 个坑。

坑 1:一笔订单分批成交,导出后变成多行

Moomoo / IB / 富途 都有这个习惯。你下了一笔买入 50 股的限价单,系统分两次成交(24 + 26),导出 CSV 里就会出现:

卖出 NVDL 117.88 50 ...  | 成交 24 @ 117.88 ...
   (空)              ...  | 成交 26 @ 117.88 ...

第二行的「方向」「代码」全是空的,只有成交数据。如果你按行数 count,就会把一笔订单算成两笔;如果按行平均价格,加权均价也会算错。

对策:识别这种「续行」(symbol + side 同时为空,但成交数据非空),把它合并到上一行的父订单里 —— 数量相加,价格按加权平均。RecapTrade 导入时自动做。

坑 2:撤单 / 失败 / 部分成交未撤 也在导出文件里

Moomoo 的状态字段可能是「已撤单」「部成已撤」「下单失败」「已失效」—— 这些都不是真实成交。如果你一股脑导入,会出现 price=0 / quantity=0 的脏数据,胜率和盈亏统计直接歪

对策:跳过状态包含「撤」「失败」「失效」的行。RecapTrade 用正则 /撤|失败|失效/i 一次性过滤。

坑 3:港股价格按 USD 算

如果你在富途同时交易了美股和港股,导出文件里两类货币混在一起,但只有一列「成交价」

骤眼一看,你买的腾讯(00700)在 5 月 11 日是 $556。其实那是 HKD$556,按 7.8 折算只有 USD$71.28。一买就是 100 股,按 USD 算成本是 $55,600,按 HKD 换 USD 才 $7,128 —— 整整 7.8 倍偏差

如果你不注意币种字段(很多人不注意),你的 PnL 会被严重虚高或虚亏。

对策:导入时读取「币种」列,按固定汇率折算到 USD。HKD = 7.8(联系汇率,误差 < 0.2%);CNY 视参考期不同 6.7 - 7.2;其他币种近似处理。RecapTrade 全自动。

坑 4:期权代码人类不可读

券商导出期权交易时,symbol 列长这样:

TSLA260424P370000

意思是 TSLA 2026-04-24 Put $370 行权价。但作为数据库 symbol 字段,它跟正股 TSLA 完全独立。你的"TSLA 胜率"看到的全是正股的,期权那 5 笔不会跟它聚合

对策:识别 OCC 期权代码格式 <UNDERLYING><YYMMDD><C/P><STRIKE>,解析出底层资产做 symbol(TSLA),asset_type 设为 option,原始合约信息写入备注。这样 TSLA 期权和 TSLA 正股都能在同一个标的下复盘。

坑 5:重复导入

最后一个最容易踩。BBAE / 富途的导出是累计的 —— 你 5 月底导出一份,6 月底再导出,6 月那份包含 5 月的所有交易。直接导进去?5 月的交易翻倍

很多人手动想办法:"只选 6 月那一段再导"。但日期边界、时区、是否包括上个月最后一天的尾单 —— 麻烦。

对策:按 (券商 + 标的 + 方向 + 日期 + 价格 + 数量) 6 字段做去重。任意 6 字段完全相同 = 同一笔交易,重复导入会自动跳过。RecapTrade 把这套做成默认行为。

总结

跨券商对账难,不是因为数据少,是因为每个券商导出格式都不一样、每个家都有特殊状态值。你做这事 100% 是体力活

我把这 5 个坑(加上其他十几个)都做进 RecapTrade 的导入流程里了 —— 拖入文件、选券商,剩下的自动处理。

如果你也在 3 个以上券商交易美股 + 港股,直接试试 看(无需注册)。