最近行情相对平稳,我本来只是例行查看个人量化理财工具里的统计页,却发现几条曲线放在一起时并不直观:累计收益会在几天内明显上下波动,日收益率却连续偏负,年化曲线又呈现另一种趋势。

这不是可以直接下结论为“策略失效”或“收益异常”的证据。更准确地说,它是一个需要核验的信号:这几个数字分别在统计什么?是否使用了同一批账户、同一个时间点和同一套本金口径?币本位仓位的市价估值是否被混进了已经实现的结果?

这篇文章只记录这次复盘中的风险监控思路,不展示具体账户金额,也不把短期曲线当作策略业绩。平台属于个人项目,不是交易建议或收益承诺。

从这张收益率图里,能看到什么,不能看到什么

个人量化理财统计页:累计收益、收益率、日收益率和年化曲线

这张截图记录的是 10 月 3 日至 10 月 27 日 的一个统计窗口。它适合用于发现需要复核的地方,但不足以单独证明策略的长期表现。

  • 累计收益曲线有明显跳变。 图上先出现约 -80 U 的低点,随后又上冲到约 90 U,再回落与修复。这说明净值受估值、仓位、资金流水或快照时点影响的幅度并不小;不能只取最后一个正数来判断过程风险。
  • 收益率曲线多数处于负值区间。 中间曲线在窗口内大约落在 0% 至 -0.35% 之间,反映的是按页面既定口径计算的阶段变化。它与累计收益不一致时,首先应回查入金 / 出金、本位币估值与快照完整性,而不是把其中任意一条视为唯一真相。
  • “不含亏损”与“含亏损”是两种不同的观察方式。 图中显示不含亏损日的日均收益率为 0.0463%、换算年化 16.90%;含亏损日的日均收益率为 -0.0826%、换算年化 -30.15%,同时标记了 11 / 24 天 的亏损天数。前者只能说明正收益日的平均幅度,不能用来代表完整样本的预期结果;完整窗口应至少同时看含亏损口径。
  • 年化曲线只能作缩放后的参考。 7 日滚动年化一度接近 30%,之后又回落到约 16% 左右。观察期只有二十多天,且曲线本身波动明显,把短期日变化直接乘以 365 得到的年化会放大短期噪声,不应被理解为承诺收益。

因此,这张图给出的结论不是“收益好”或“收益差”,而是:统计中已经同时出现了波动、亏损日和不同口径下的截然不同结果。风险监控需要把这些差异标出来,再回到原始快照、仓位与成交数据确认原因。

先把这次看到的“异常”说清楚

统计页里的三个指标并不是同义词:

指标 这里想回答的问题 容易产生的误解
累计收益 当前净值相对累计净本金的变化 把持仓按市价产生的浮动估值,当成已经落袋的收益或亏损
日收益率 相邻快照之间的净值变化,扣除这段期间的入金 / 出金 忽略快照时间、缺失数据或本金流水归属,直接与累计曲线逐点比较
年化曲线 把阶段收益按当前观察期换算成年化后的参考值 在样本期短、波动较大时,把换算值当作长期预期

当前工具的基本口径是:盈亏 = 当前净值 − 累计净本金;日变化 = 最新净值 − 上一日净值 − 期间净转入。 因此,净值中的币本位抵押物或持仓会随价格折算而变动;即使方向对冲大致成立,账户之间的保证金位置、未实现盈亏和快照时点也可能让曲线短期并不同步。

所以这次看到的跳变,优先要检查的是数据和统计边界,而不是先用一条曲线给策略判死刑。

这不是为异常找理由。 如果核验后确认净值、本金、仓位或资金费记录仍然不能对应,问题应继续作为数据质量或仓位风险处理,而不是用“估值波动”一笔带过。

风险监控与预防,不是一条自动交易链

个人量化理财的风险监控与风险预防链路

上图的关键不是“发现后马上做什么交易”,而是把顺序固定下来:先发现、再核验、再提醒,最后才由人结合仓位和成本决定是否处理。

当前个人理财工具把四类信号放在一起观察:

  1. 净值与本金。 每日资产快照、充值、提现和划转要分别记录。数据没同步到,不应被展示为零资产;本金变动也不能被算成收益。
  2. 仓位结构。 现货与合约数量是否仍然配平、强平距离是否收窄、是否出现 ADL(自动减仓),决定了“对冲”是否还真实存在。
  3. 行情与收益条件。 资金费率转负、费率大幅跳变、成交量异常或盘口不足,会改变原先持有组合的预期,不应只看历史年化。
  4. 系统健康度。 行情、仓位或成交同步连续失败时,最大的风险不是页面少了一项数据,而是使用者可能在错误的前提下作出判断。

这些信号进入 Lark 时,提醒的职责是把问题带回来,而不是替我下单。平台的监控路径保持只读;涉及开仓、平仓或补齐对冲的动作,仍需要确认实际仓位、账户保证金、成交能力和当下的资金费条件。

发现曲线不一致时,按什么顺序核验

这次复盘后,我把检查顺序收敛成下面四步:

1. 先确认数据是否可用

检查每日快照是否连续、取数时间是否一致、是否混入模拟盘,以及当天是否发生过充值、提现或主子账户划转。数据缺失只能说明“不知道”,不能推导成“没有风险”。

2. 再确认统计范围

同一条累计曲线里,净值、本金、资金费和未实现盈亏各自的来源必须可追溯。实盘与模拟盘、交易账户与资金账户、现货与合约,不能因为都能折成 USDT 就被不加区分地合并。

3. 回到仓位,而不是只看图

收益图只能提示变化,不能证明仓位安全。出现异常时,需要查看现货数量、合约名义价值、保证金模式、可用保证金、强平距离、已收资金费和对冲缺口。尤其是 ADL 后,合约腿可能已经被减少,现货仍在,原来的组合关系就不存在了。

4. 最后才评估处置方式

如果数据无误、仓位仍配平、费率与流动性条件也没有改变,可以继续观察;如果条件变化,需要重新计算手续费、滑点和持有成本;如果无法确认仓位或风险已超过可接受范围,优先做的是让敞口收口,而不是因为“之前是套利”就机械补仓。

风险预防:在异常发生前保留选择权

我更愿意把风险预防理解为“不要让一个小问题变成只能赌方向的大问题”。目前特别在意以下几件事:

  • 把模拟盘和实盘完全分开。 模拟盘用于验证页面、流程与接口,不用于证明实盘收益;实盘日报也只统计已启用的实盘账号。
  • 限制自动化权限。 监控、日报和报警读取数据;涉及交易的命令使用单独客户端和更窄的接口白名单,不能拥有提币或划转能力。
  • 让每个汇总数字能回到原始事实。 曲线看起来异常时,应能回查资产快照、本金流水、成交明细、资金费记录和仓位同步状态。
  • 把“停止”设计进去。 服务异常、订单状态不明、对冲缺口过大或行情条件改变时,停止自动处理并由人核验,比持续执行更重要。
  • 不把高年化当作低风险。 历史费率高、短期年化高,可能只是新币、短时波动或统计窗口过短。收益条件与仓位安全是两件不同的事。

这次复盘留下的结论

量化理财工具能减少反复查页面的工作,但它的价值不在于把复杂问题压缩成一个“收益率”。更重要的是,在数字开始互相矛盾时,能清楚告诉我:哪一层需要确认、哪些事实还缺失、以及哪些操作不应由程序擅自完成。

后续我会继续把净值、本金、已实现结果和估值波动的边界做得更明确,并把数据质量状态和风险提醒放在收益数字之前。曲线漂亮不代表安全;曲线异常也不必然说明策略亏损。关键是能否及时发现、核验并收口风险。

相关阅读:Okx 合约量化套利开发心得 · 资金费率套利方案分析:从机会筛选到开平仓风险控制