第四章 实战复盘框架:数据采集、归因分析、绩效评估指标
做市商策略跑完一天,你看着账户里的盈亏数字,然后呢?
很多人直接关掉终端,明天再战。这其实是最浪费的行为。我见过太多团队,策略亏了不知道亏在哪,赚了也不知道是运气还是实力。说白了,复盘才是策略迭代的起点。
4.1 数据采集:别让脏数据毁了你的分析
复盘的第一步,是拿到干净、完整的数据。我个人习惯把数据分成三类:
- 行情数据:Tick级买卖盘口、成交记录、订单簿快照
- 交易数据:每笔订单的发送时间、成交时间、成交价、手续费
- 状态数据:策略参数、持仓变化、资金余额、风险指标
嗯,这里要注意。很多新手只记录成交数据,忽略了订单簿快照。为什么?因为你要分析「为什么没成交」或者「为什么被吃掉了」,没有盘口数据根本说不清。
避坑指南:我曾经在某个项目中,只记录了成交记录,结果回测时发现滑点异常大。后来补上盘口数据才发现,是策略在流动性枯竭时还在猛冲。没有盘口数据,你永远找不到根因。
数据采集的格式,我建议统一用时间戳+字段名的方式。举个例子:
{
"timestamp": 1700000000123,
"type": "orderbook_snapshot",
"exchange": "binance",
"symbol": "BTCUSDT",
"bids": [[45000.1, 1.2], [45000.0, 3.5]],
"asks": [[45000.2, 0.8], [45000.3, 2.1]]
}
时间戳一定要用毫秒级,最好用UTC。别问我为什么,跨交易所对账时,时区问题能让你崩溃一整天。
4.2 归因分析:把盈亏拆开来看
数据拿到了,接下来就是归因。说白了,你要回答三个问题:
- 赚/亏了多少钱? —— 总盈亏
- 钱从哪来的? —— 收入结构
- 钱亏在哪了? —— 成本结构
我习惯把做市商的盈亏拆成四个部分:
| 收入/成本项 | 说明 | 计算方式 |
|---|---|---|
| 价差收入 | 买卖价差带来的净收入 | Σ(卖价 - 买价) × 成交量 |
| 库存损益 | 持仓方向性波动带来的盈亏 | 期末库存价值 - 期初库存价值 |
| 手续费 | 交易所收取的费用 | Σ(成交额 × 费率) |
| 滑点成本 | 实际成交价与预期价的偏差 | Σ(成交价 - 报价价) × 成交量 |
你想想看,如果总盈亏是正的,但库存损益是负的,说明什么?说明你的策略在赚价差,但方向判断错了。这时候你要调整的不是报价算法,而是库存管理逻辑。
核心观点:归因分析不是为了算账,是为了找到「哪个环节出了问题」。我见过一个团队,总盈亏一直为正,但库存损益越来越大,最后一天行情反转直接爆仓。归因分析如果能早点做,就不会等到爆仓才反应过来。
4.3 绩效评估指标:用数字说话
归因分析是定性,绩效指标是定量。我个人常用的指标有这几个:
- Sharpe Ratio:风险调整后收益。做市商策略的Sharpe一般要求在3以上,低于2就要警惕了。
- 最大回撤:策略从峰值跌到谷底的最大幅度。做市商策略通常控制在5%以内。
- 胜率:盈利交易次数 / 总交易次数。做市商胜率一般很高,但别只看胜率,要看盈亏比。
- 订单成交率:实际成交订单 / 发送订单。这个指标能反映你的报价是否合理。
- 库存周转率:总成交量 / 平均库存。周转率越高,说明资金利用效率越高。
举个例子,我做过一个ETH做市策略,胜率高达85%,但最大回撤却到了12%。为什么?因为那15%的亏损单,每一笔都亏得很大。这就是典型的「高胜率、低盈亏比」陷阱。
小技巧:我建议把指标做成仪表盘,每天跑完自动更新。重点关注「最大回撤」和「库存损益」这两个指标。一旦回撤超过阈值,立刻暂停策略,先复盘再重启。
4.4 实战复盘框架图
下面这张图是我自己总结的复盘框架,你可以直接拿去用:
这张图的核心逻辑是:数据采集 → 归因分析 → 绩效评估 → 策略迭代,然后循环。我每次复盘都严格按照这个流程走,从不跳步。
4.5 复盘实战:一个真实案例
我记得有一次,一个学员跑来做市策略,连续三天盈利,第四天突然亏了5%。他慌了,问我怎么办。
我说别急,先按框架走一遍:
- 数据采集:拉出那天的Tick数据和订单记录。发现当天波动率突然放大,盘口深度变薄。
- 归因分析:价差收入还是正的,但库存损益亏了6%。说明策略在波动率放大时,库存管理没跟上。
- 绩效评估:最大回撤从2%跳到了5%,Sharpe从4.2掉到了2.1。订单成交率从85%降到了60%。
- 策略迭代:加了一个波动率自适应模块,当波动率超过阈值时,自动缩小报价宽度并降低库存目标。
改完之后,回测显示最大回撤降到了3%以内。后来实盘也验证了,效果不错。
总结一句话:复盘不是事后诸葛亮,而是为下一次交易做准备。没有复盘框架,你就是在闭着眼睛做市。
我的习惯:每天收盘后花15分钟跑一遍这个框架。周末再花1小时做深度复盘。坚持三个月,你会发现自己的策略迭代速度明显加快。