2026年十一月13日 · 研究

市场永不收盘时,如何年化 Sharpe 比率?

市场永不收盘时,如何年化 Sharpe 比率?

上个月我拿了一份资金费率套利的模拟盘,用 3 种方法计算 Sharpe。日超额收益均值 6.4 个基点,日标准差为 81 个基点。乘以 √252,就是 1.25。乘以 √365,就是 1.51。把同一条权益曲线按每 5 分钟采样,再乘以 √(365×288),笔记上写的是 3.08。前 2 个数字是日历之争。第 3 个是我们的研究代理在按数据文件的频率、而不是决策频率做年化时吐出来的。那根本不是我会为之辩护的 Sharpe 比率。

Sharpe(年化):3.08。5 分钟收益,crypto_carry_v3。
1.25日频 × √252
1.51日频 × √365
3.085 分钟 × √105,120
2.0×相对 365 日频 Sharpe 的膨胀

我把 3.08 留下来。正是这个数字需要解释。

为什么 5 分钟 Sharpe 会把日频 Sharpe 翻倍?

时间平方根法则说的是独立抽取。把 N 个 i.i.d. 收益加起来,均值按 N 缩放,标准差按 √N 缩放,比率按 √N 缩放。5 分钟加密货币收益不是独立抽取。中间价从买一弹回来。陈旧的标记价回跳一档。资金费率不是按 288 个独立切片累积的;它按时钟入账。一本在 16:00 UTC 成交、然后隔夜躺着的账本,并没有在你睡觉时再做另外 287 个决策。

当短周期收益均值回归,而微观结构噪声从构造上就是均值回归的,每隔 5 分钟采样的均值回归信号也会去交易那一跳。日频盯市会把它轧平。多出来的 1.57 年化 Sharpe,往往只是一个 2 个基点的振荡,根本撑不过 8 个基点的来回成本。你并没有发现更多优势。你只是把噪声切成了更多片,再乘以 324。

Andrew Lo 在 2002 年就把 √N 的失效写下来了,针对的是对冲基金月度收益中的序列相关。不同的市场。同样的罪过。我们仍然把 √N 当成一种排版选择。

252 还是 365,才是较小的那场仗

美国股票 NAV 跳过周末和节假日,一年大约给你 252 个点。加密货币永续周六照样成交。如果你每个日历日给 BTC 账本盯市,周六是真实的 P&L,带着真实的资金费率,你大约有 365 个收益。对这条序列用 252,会把年化数字低估大约 20%,因为 √365/√252 是 1.20。我对每日盯市的 24/7 账本用 365,对按交易时段收盘盯市的美国股票账本用 252。我会把这个常数写在 Sharpe 旁边。

这个差异是真实的。但它也不是 1.51 变成 3.08 的原因。拿一个按 365 算出来的加密货币 1.51,去和一个按 252 算出来的股票 1.51 不经换算就比较,那是路演材料的做法。把两者都换成日历年超额收益除以日历年收益的标准差,基于日频 NAV,否则就别比。

按决策时钟年化

如果策略每 5 分钟都能交易、而且确实在交易,5 分钟收益才是诚实的序列。你仍然不该盲目乘以 √105,120,因为这些收益是序列相关的。从 5 分钟账本做出日频 NAV,再用 √365 年化日频 Sharpe。日频盯市会把那一跳折进你从模拟账户上读到的同一个数字。

如果策略每天只交易 1 次,就根本别给它 5 分钟 Sharpe。也别把日频策略重采样成分钟 K 线,好让权益曲线看起来更光滑。一位同事曾发给我一张丝绒般顺滑的图,那是一本日频账本,前向填充到了分钟。交易并没有变。分钟文件上的 Sharpe 却大得吓人。直到现在,每当有代理说它检查了多个时间框架,我还会想起那条曲线。

研究笔记上该写什么

Sharpe 是收益序列的属性,不是策略的属性。笔记必须写明是哪条序列。

惯例乘数何时诚实
日频 × √25215.87美国股票、交易时段 NAV、周末不是收益
日频 × √36519.10加密货币(或任何 24/7 账本)每个日历日盯市
小时频 × √(365×24)93.6每个小时都是独立决策,而且你仍然相信 √N
5 分钟 × √(365×288)324.3几乎从不,对一天交易不到 288 次的策略

我们印出的每一个 Sharpe,旁边我都要 3 样东西:收益频率、年化常数,以及周末盯市是否在样本里。如果代理漏了这些,我就把这个数字扔掉,从日频 NAV 重算。

如果一个 Sharpe 来的时候没有收益频率和年化常数,它就是装饰。从日频 NAV 重算。

模拟交易用一种无聊的方式把争论了结。在 00:00 UTC 给模拟账户盯市。用一年里的盯市次数年化这条序列。如果回测只有在你改了 √N 之后才对得上,你从来就没在看策略本身。

Sharpe 比率加密货币回测24/7 市场绩效
← 全部文章