Skip to content

第 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-012026-03-04 下的一次运行结果:

text
起点价: 4.763
终点价: 4.610
买入持有收益率: -3.21%
定投收益率:     17.70%
差异:           20.91%
→ 定投赢了

累计收益率对照图:

定投 vs 买入持有


4. 如何阅读结果

请结合数字与图像思考:

  1. 为何起点价高于终点价时,买入持有为负收益,而定投仍可为正?
  2. 结合第 2 讲价格路径(整体先跌后涨),分批买入可能起了什么作用?
  3. 定投跑赢买入持有,是否已经证明存在 Alpha(超额能力)?还是仍主要反映买入节奏与市场路径(Beta)?
结果常见解释
定投 > 买入持有分批可能降低了部分高位买入比例(常见于震荡或先跌后涨)
定投 < 买入持有上涨行情中现金拖累,越早满仓越有利

无论谁胜出,二者都是在同一标的上改变投入节奏,尚不能据此声称「战胜市场」。下一讲将在定投上增加均线条件,观察「加判断」是否必然更好。

上一讲 · 下一讲:定投加均线门禁