账户结构设计:主账户与子账户的划分逻辑、多交易所账户的归集与对账机制

做市商资金管理,说白了就是一场「多线作战」。你想想看,我们同时跑着三四个交易所,每个交易所里又有十几个交易对,资金散落在各个角落。如果不把账户结构理清楚,月底对账能让你怀疑人生。

我个人习惯,把账户体系分成两层:主账户子账户。这个结构不是拍脑袋想的,是我在实盘中被坑过好几次之后,才慢慢打磨出来的。

一、主账户与子账户的划分逻辑

主账户是什么?它是你的「资金总指挥部」。所有入金、出金、利润提取,都走主账户。子账户呢?它是你的「前线作战单元」。每个策略、每个交易所、甚至每个交易对,都可以分配一个独立的子账户。

为什么要这么分?我举个例子你就明白了。

假设你在币安、OKX、Bybit 三个交易所都做市。如果没有子账户,所有资金混在一起,你根本分不清哪个交易所赚了、哪个亏了。更麻烦的是,一旦某个策略出问题,你都不知道该停哪个。

核心原则: 主账户管「钱」,子账户管「交易」。主账户负责资金调度,子账户负责执行策略。

具体划分逻辑,我一般遵循三条规则:

  • 按交易所划分: 每个交易所一个子账户组。比如「币安组」、「OKX组」。这样方便统计每个交易所的盈亏。
  • 按策略划分: 同一个交易所里,不同策略用不同子账户。比如「币安-网格做市」、「币安-价差套利」。这样能单独评估策略表现。
  • 按风险等级划分: 高风险策略用单独子账户,设置独立的风控参数。低风险策略可以共用子账户。

嗯,这里要注意:子账户之间要完全隔离。不能出现子账户A的资金被子账户B挪用的情况。我在早期项目中就吃过这个亏——两个子账户共用一个资金池,结果一个策略爆仓,把另一个策略的本金也带走了。从那以后,我强制要求每个子账户必须有独立的资金余额。

二、多交易所账户的归集机制

账户分好了,接下来就是归集。说白了,就是把散落在各个交易所、各个子账户的资金,汇总到一个统一的视图里。

归集的核心,是统一计价单位。你想想看,币安上有 BTC,OKX 上有 ETH,Bybit 上有 USDT。如果不统一计价,你根本算不清总资产是多少。

我个人习惯,用 USDT 作为基准计价单位。所有资产都按实时汇率折算成 USDT。这样每天看一眼总资产,就知道今天是赚了还是亏了。

归集的流程大概是这样的:

  1. 每个子账户定时上报余额(比如每5秒一次)。
  2. 主账户收到数据后,按统一汇率折算。
  3. 汇总到总资产表里。
  4. 生成归集报告。

这里有个坑:汇率选择。不同交易所的汇率可能不一样,甚至同一交易所的买一价和卖一价也不同。我建议用「中间价」或者「加权均价」,不要用买一价或卖一价,否则归集出来的数字会虚高或虚低。

小技巧: 归集时,把每个子账户的「可用余额」和「冻结余额」分开统计。可用余额是你能动的钱,冻结余额是挂单占用的钱。这两个数字加起来,才是子账户的总资产。

三、多交易所账户的对账机制

对账,是资金管理里最枯燥、但也最重要的一环。我曾经因为对账没做好,漏掉了一笔 5 万 USDT 的转账,整整找了三天才找到原因。

对账的核心逻辑很简单:你记的账,和交易所记的账,是不是一致的?

具体怎么做?我一般分三步:

  • 第一步:余额对账。 拿你本地数据库里的余额,和交易所 API 返回的余额做对比。如果差超过 0.1%,就要报警。
  • 第二步:流水对账。 拿你本地记录的每一笔交易、转账、手续费,和交易所的成交记录做逐笔比对。这一步最耗时,但也是发现问题的关键。
  • 第三步:损益对账。 把一段时间内的盈亏算出来,和交易所的损益报表做对比。如果对不上,说明前面两步可能漏了什么。

对账的频率,我建议:

对账类型 频率 说明
余额对账 每5分钟 快速检查,发现异常立即报警
流水对账 每小时 逐笔比对,确保每笔交易都记录正确
损益对账 每天 汇总统计,确认整体盈亏
警告: 对账发现差异时,不要手动修改本地数据。先查清楚原因,再决定怎么处理。我曾经见过有人为了「让账对上」,直接改数据库,结果越改越乱。

四、整体架构图

下面这张图,是我自己用的账户结构设计。你可以参考一下:

主账户 资金总指挥部 币安子账户组 OKX子账户组 Bybit子账户组 网格做市 价差套利 趋势跟踪 高频做市 套保对冲 归集引擎 统一计价 · 定时汇总 · 汇率折算 对账引擎 余额对账 · 流水对账 · 损益对账

这张图展示了我用的三层结构:最上层是主账户,中间是各交易所的子账户组,再往下是具体的策略子账户。归集引擎和对账引擎分别负责汇总和校验。

五、避坑指南

最后,分享几个我踩过的坑:

  • 子账户命名要规范。 我曾经用「test1」、「test2」这种名字,结果三个月后自己都看不懂哪个是哪个。建议用「交易所_策略_币对」的格式,比如「binance_grid_btcusdt」。
  • 对账要留痕。 每次对账的结果,都存到数据库里。万一出了问题,可以回溯查原因。
  • 不要完全信任交易所 API。 交易所的 API 偶尔会返回错误数据。我习惯同时拉两个数据源做交叉验证。
  • 归集频率不要太高。 每秒钟归集一次,除了浪费带宽,没什么实际意义。5秒一次足够了。

嗯,账户结构设计这块,说白了就是「分而治之」。分得清楚,才能管得明白。希望这些经验对你有帮助。


公众号:蓝海资料掘金营,微信deep3321