-
Notifications
You must be signed in to change notification settings - Fork 163
07_Backtest_Simple_vs_Compound
youngcan edited this page May 25, 2026
·
1 revision
单利就是"赚多少算多少",既不夸大、也不放大噪声。它是策略研发阶段最诚实的口径——把过拟合策略压得跑不起来、把好策略和坏策略放在同一条赛道上比较、把风控边界算得清清楚楚。复利只在"长期能赚、装得下钱、利润真能滚回去"这三件事都成立时,才适合作为补充展示。
两者只差一件事:赚到的钱要不要立刻再投进去。
| 口径 | 公式 | 直觉 |
|---|---|---|
| 单利(cumsum) | 每期收益按最初本金算,逐期累加 | 本金 100 万,每年赚 20% → 每年稳赚 20 万,10 年赚 200 万 |
| 复利(cumprod) | 每期赚到的钱并入本金,下期按新本金继续 | 100 万 × 1.2^10 → 10 年赚 519 万 |
简而言之,单利是直线,复利是指数曲线。第一年两者完全一样,从第二年开始分叉。
| 年份 | 单利累计(万元) | 复利累计(万元) | 复利比单利多出 |
|---|---|---|---|
| 第 1 年 | 20.0 | 20.0 | +0% |
| 第 2 年 | 40.0 | 44.0 | +10% |
| 第 3 年 | 60.0 | 72.8 | +21% |
| 第 5 年 | 100.0 | 148.8 | +49% |
| 第 7 年 | 140.0 | 258.3 | +85% |
| 第 10 年 | 200.0 | 519.2 | +160% |
观察:
- 2 年以内:差距 < 10%,短周期可视作等价
- 3-5 年:差距 20%-50%,对策略稳定性要求陡增
- 7 年以上:差距指数级放大,复利线脱离实盘地心引力
- 策略容量有天花板:本金从 1000 万翻到 1 亿,边际收益率几乎一定被吃掉
- 放大头寸被滑点反噬:成交量越大、滑点越深,alpha 一边干一边漏
- 回撤破坏复利连续性:复利曲线摔一跤,恢复时间比单利长得多
- 资金不是想加就能加:风控、合规、资金流入流出节奏都会打断理想节奏
单利按最初本金算,得到的是"线性收益的下界",更贴近实盘真正能拿到手的业绩。
复利会把样本内的微小优势指数放大:
| 因子质量 | 单利下的样子 | 复利下的样子 |
|---|---|---|
| 真有效(IC ≈ 0.1) | 稳定线性上行 | 指数级上行,更亮眼 |
| 过拟合(IC ≈ 0.02) | 勉强为正,区分度不强 | 被放大成"伪 alpha",容易看走眼 |
| 纯噪声(IC ≈ 0) | 横盘震荡,一眼能看穿 | 波动被放大,甚至像有上行趋势 |
一个 IC 只有 0.02 的过拟合假因子,在 10 年复利曲线上能跑出"年化 100%"的神奇业绩;切到单利口径后原形毕露。
| 优势 | 实际好处 |
|---|---|
| 公式线性 | 总收益 = 本金 × 每期收益率 × 期数,求导拆分都直接 |
| 指标可加 | 多个子策略收益直接相加 = 总收益 |
| 风控边界准 | 最大回撤、止损线、仓位规划都能提前算清 |
| 跨品种/跨周期可比 | 不同窗口、不同标的可横向比较 |
| 统计推断更稳 | 夏普、Calmar、信息比更接近高斯假设 |
上千条策略比较时,复利口径下跑得早、运气好的策略会因指数效应拿到不成比例的优势。单利把所有策略放在同一条线性赛道上:IC、夏普、Calmar 天然可加、可比、可排序。
复利本身没有错,但前置条件必须同时成立:
- 策略长期有效(5 年以上),无明显衰减
- 资金容量足够大,加仓不掉收益率
- 利润能全部滚回去(不分红、不抽资、不被合规卡)
- 回撤很小,不会被风控强制减仓
- 展示场景是长期目标(养老金、定投)
- 中短期或中高频策略(容量极易触顶)
- 策略有衰减,alpha 周期性失效
- 实盘有滑点、手续费、占用成本等摩擦
- 正在做过拟合检测或横向比较
- 研发/筛选阶段,目标是稳健而不是好看
wbt(weight backtest) 是一个独立的 PyPI 包,专门跑基于权重的策略回测。默认累计收益走单利(cumsum)口径。
import wbt
wb = wbt.WeightBacktest(
data,
digits=2,
fee_rate=0.0002,
n_jobs=1,
weight_type="ts", # 或 "cs"
yearly_days=252,
)
# wb.daily_return.cumsum() → 单利累计收益曲线设计取舍:
- 累计曲线走 cumsum:整段回测的单利累计收益
- 多头超额也走 cumsum:归一化后 cumsum 求差,直观且可加
-
年内复利、年间单利:
wb.yearly_return年内用复利聚合(行业惯例),跨年汇总仍单利 - 多策略叠加直接相加:权重收益直接相加,不用为指数项分心
- ✅ 真实:贴近实盘能拿到手的业绩
- ✅ 稳健:不放大噪声,研发阶段就能把过拟合压下去
- ✅ 好解释:公式线性 + 指标可加 + 风控边界算得准
- ✅ 可比较:所有策略放在同一条线性赛道上
⚠️ 复利的边界:长期有效 + 容量充足 + 利润真能滚 + 回撤极小,四条缺一不可
- 研发/筛选/回测阶段:一律走单利,保证评估真实可比
- 对外路演/长期资金规划:可补复利曲线,但必须标注"假设利润全额再投且策略长期有效,仅供参考"
- 禁止口径混用:同一份报告里不在不同章节切换单利和复利
来源:zengbin93(CZSC 作者)· 内容由 AI 辅助整理