Appearance
第 4 讲:与买入持有对照
本讲要点
没有基准,就无法判断收益来自策略还是行情。
1. 什么叫基准
本讲设置对照组:
买入持有(Buy & Hold):在样本起点将资金一次性买入,持有至样本终点。口语有时称「一把梭」。
定投为分批投入;买入持有为起点满仓。二者投入节奏不同,但都可用于观察:在同一价格路径下,不同买入节奏会得到怎样的结果。
2. 代码
完整脚本见 easy-quant/code/04_benchmark.py。核心对照如下:
python
result_dca = backtest_dca(df)
p0 = df["Close"].iloc[0]
p1 = df["Close"].iloc[-1]
buy_hold = (p1 - p0) / p0
dca_ret = result_dca["return"].iloc[-1]
print(f"起点价: {p0:.3f}")
print(f"终点价: {p1:.3f}")
print(f"买入持有收益率: {buy_hold:.2%}")
print(f"定投收益率: {dca_ret:.2%}")
print(f"差异: {dca_ret - buy_hold:.2%}")3. 运行结果
固定窗口 2021-01-01—2026-03-04 下的一次运行结果:
text
起点价: 4.763
终点价: 4.610
买入持有收益率: -3.21%
定投收益率: 17.70%
差异: 20.91%
→ 定投赢了累计收益率对照图:

4. 如何阅读结果
请结合数字与图像思考:
- 为何起点价高于终点价时,买入持有为负收益,而定投仍可为正?
- 结合第 2 讲价格路径(整体先跌后涨),分批买入可能起了什么作用?
- 定投跑赢买入持有,是否已经证明存在 Alpha(超额能力)?还是仍主要反映买入节奏与市场路径(Beta)?
| 结果 | 常见解释 |
|---|---|
| 定投 > 买入持有 | 分批可能降低了部分高位买入比例(常见于震荡或先跌后涨) |
| 定投 < 买入持有 | 上涨行情中现金拖累,越早满仓越有利 |
无论谁胜出,二者都是在同一标的上改变投入节奏,尚不能据此声称「战胜市场」。下一讲将在定投上增加均线条件,观察「加判断」是否必然更好。
→ 上一讲 · 下一讲:定投加均线门禁