一句话回答: 定投(DCA,定期定额)就是"每隔固定时间投入固定金额"。用 AlphaFeed 取复权日线,模拟"每 N 个交易日买入固定金额"并和期初一次性全投对比,几十行就能回测——真实数据会告诉你:定投能摊平成本、降低择时风险,但在上涨行情里通常跑输一次性买入,它的价值在于纪律和风控,不是收益最大化。
"定投微笑曲线""定投永远赚"的说法很流行,但很少有人真回测。要验证需解决:
AlphaFeed 提供长历史复权日线,把数据这关解决掉。
from alphafeed import AlphaFeed
af = AlphaFeed(api_key="your-api-key") # 或 export ALPHAFEED_API_KEY 后 AlphaFeed()
def dca_backtest(symbol, count=500, every=20, amount=1000.0):
df = af.klines.get(symbol, period="1d", count=count,
adjust="forward", to_dataframe=True).sort_values("trade_date").reset_index(drop=True)
invested, shares, buys = 0.0, 0.0, 0
for i in range(0, len(df), every): # 每 every 个交易日定额买入
px = df["close"].iloc[i]
shares += amount / px # 用固定金额买入,价低买得多
invested += amount
buys += 1
final_value = shares * df["close"].iloc[-1]
# 对比:把同样的总投入在期初一次性全买
lump_shares = invested / df["close"].iloc[0]
lump_value = lump_shares * df["close"].iloc[-1]
return {"buys": buys, "invested": round(invested, 0),
"dca_ret_%": round((final_value / invested - 1) * 100, 1),
"lump_ret_%": round((lump_value / invested - 1) * 100, 1)}定投参数:
参数 | 含义 | 本文取值 |
|---|---|---|
| 每隔多少交易日买一次 | 20(约每月) |
| 每次定额金额 | 1000 |
收益口径 | 最终市值/累计投入−1 | — |
对比基准 | 同额期初一次性买入 | lump sum |
for s in ["600519.SH", "000001.SZ", "600036.SH"]:
print(s, dca_backtest(s))实测(约 500 个交易日、每 20 日投 1000 元):
标的 | 定投次数 | 累计投入 | 定投收益 | 一次性收益 | 结论 |
|---|---|---|---|---|---|
贵州茅台 600519.SH | 25 | 25000 | −7.4% | −2.7% | 下跌区间定投也亏,但份额分散 |
平安银行 000001.SZ | 25 | 25000 | +8.3% | +23.7% | 上涨行情定投跑输一次性 |
招商银行 600036.SH | 25 | 25000 | +8.3% | +32.5% | 上涨行情大幅跑输一次性 |
结论很清楚:在上涨行情里,一次性买入因为"资金更早到位、全程在场"而明显跑赢定投;定投则把资金分散投入,收益被摊薄。定投的意义不是收益更高,而是降低一次性买在高点的择时风险、强制纪律。
Q:既然定投常跑输一次性,为什么还要定投?
A:因为你事先不知道现在是高点还是低点。一次性买入若买在高点会很难受,定投用分批摊平成本、降低择时风险和情绪压力,更适合无法判断时点、持续有现金流(如工资)的投资者。
Q:定投指数还是个股?
A:定投更适合宽基指数/ETF:分散、长期向上概率高。定投单一个股要承担个股下行风险,摊平也救不了持续走弱的标的。
Q:这个回测能直接实盘吗?
A:它是教学级简化(未计手续费、按交易日间隔而非自然日、未处理停牌)。实盘前需按真实扣费、日期规则与标的完善。
Q:需要付费吗?
A:单只标的 500 根日线在免费额度内即可试;多标的/长历史批量需 Starter 及以上,详见 AlphaFeed 定价页。
回测定投的价值,在于用真实数据看清定投的真面目:它靠分批摊平成本、降低择时风险,但在上涨行情里通常跑输一次性买入。AlphaFeed 提供长历史复权日线让你几十行完成定投 vs 一次性的对比——但请用公平基准、注意标的选择,别把"定投永远赚"当信仰。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。