Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor · · Updated 2026-07-23

定期定额投资有效吗

对比每月投入 $500 购买 SPY 与一次性投入的效果,通过 2016 至 2026 数据研究其真实收益。

定期定額投资(Dollar-cost averaging)是指按固定时间表投入固定金额,例如每月1号投入500美元到指数基金,无论当日价格如何。定期定额投资有效吗?它能完成其设计初衷:将投资转化为习惯,并让您无需纠结入场时机。但在市场上涨的情况下,它无法超越一次性投入同等总额的效果。

定期定额投资的本质

定期定额投资(DCA)是一种时间表,而非选股系统。您在固定间隔投入固定金额,并接受市场价格。当价格较低时,500美元可以买入更多份额;当价格较高时,买入份额则较少。随着时间推移,您的平均持仓成本将处于各期买入价格的中间水平。

最直接的对比对象是一次性投入(Lump sum):即在开始时一次性投入相同的总金额。大多数人其实并不面临这种纯粹的选择。资金随每份薪水发放,您随发随投,这在默认情况下就是定期定额。只有当您手头已有一笔现成资金(如遗产或奖金)时,一次性投入的问题才会显现。这两种情况截然不同,下文的数据将它们分开讨论。

每月向 S&P 500 投入 500 美元

以下是直观的对比。从2016年1月开始,每月月初买入500美元的 SPY(标普500指数基金),持续到2026年中期。与此同时,假设您在2016年1月就拥有相同的总金额并一次性投入。

查询每月投入 $500 投资 SPY 与一次性投入的对比,2016至2026(组合价值,$ 千美元)
每个数字背后的完整 SQL
WITH
monthly AS (
    SELECT toStartOfMonth(dt) AS mo, argMin(c, dt) AS px
    FROM (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
               argMax(toFloat64(close), window_start) AS c
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= '2016-01-01 00:00:00' AND window_start < '2026-07-01 00:00:00'
          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
               + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
        GROUP BY dt
    )
    GROUP BY mo
),
agg AS (
    SELECT argMin(px, mo) AS first_px, sum(500.0) AS total_invested FROM monthly
)
SELECT mo AS month,
       round(sum(500.0 / px) OVER (ORDER BY mo) * px / 1000, 1) AS dca_value,
       round((total_invested / first_px) * px / 1000, 1) AS lumpsum_value,
       round(sum(500.0) OVER (ORDER BY mo) / 1000, 1) AS invested
FROM monthly CROSS JOIN agg
ORDER BY mo

到2026年6月,每月定投计划将 63k 的投入变成了 139.3k。而从第一个月起就全额投入的一次性投资,最终金额为 237.7k。投入的总金额相同,但一次性投资的收益远超定投。

这种差距体现在图表中,而非股票本身的属性。一次性投资在2016年1月起就有全部 63k 的资金在运作。而定投计划在风险敞口上仅限于已投入的金额:当资金投入过半时,多年已过去,最早买入的廉价份额仅占总资产的一小部分。在长达十年的上升趋势中,早期投入的资金获得了更长时间的复利。

一次性投入总是胜出吗?

在单一指数的十年周期内,是的。为了验证这并非 SPY 的特例,这里列出了五个以相同方式持有(2016年至2026年每月500美元)的标的,并附带一次性投入的对比。这五个标的在观察期内均未拆股,确保了原始价格具有可比性。

查询每月投入 $500 计划与五只股票一次性投入的对比,2016至2026($ 千美元)
每个数字背后的完整 SQL
WITH
monthly AS (
    SELECT ticker, toStartOfMonth(dt) AS mo, argMin(c, dt) AS px
    FROM (
        SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
               argMax(toFloat64(close), window_start) AS c
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker IN ('SPY', 'QQQ', 'MSFT', 'JNJ', 'KO')
          AND window_start >= '2016-01-01 00:00:00' AND window_start < '2026-07-01 00:00:00'
          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
               + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
        GROUP BY ticker, dt
    )
    GROUP BY ticker, mo
)
SELECT ticker,
       round(sum(500.0 / px) * argMax(px, mo) / 1000, 1) AS dca_final,
       round(sum(500.0) / argMin(px, mo) * argMax(px, mo) / 1000, 1) AS lumpsum_final
FROM monthly
GROUP BY ticker
HAVING count() = 126
ORDER BY lumpsum_final DESC

一次性投入在每一个案例中都胜出。MSFT 使定投计划达到 199.4k,而一次性投入达到 529.5k。KO 是五个标的中涨幅最慢的一个,定投计划达到 92.6k,一次性投入达到 116.8k。差距随涨幅大小而变化:标的涨得越快,早期全额投资的领先优势就越大。

定期定额投资的价值所在

一次性投入的优势依赖于两个您很难同时具备的条件:一笔巨额资金,以及从购买之日起基本持续上涨的市场。改变入场点会显著改变一次性投入的结果。下表展示了一个为期五年的计划:从2016年到2021年,每年1月开始,每月投入30,000美元(即每月500美元,共60个月),并与第一天投入30,000美元的一次性投资进行对比。

查询按起始年份划分的五年期 $30,000 计划:定投 vs 一次性投入($ 千美元)
每个数字背后的完整 SQL
WITH
monthly AS (
    SELECT toStartOfMonth(dt) AS mo, argMin(c, dt) AS px
    FROM (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
               argMax(toFloat64(close), window_start) AS c
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= '2016-01-01 00:00:00' AND window_start < '2026-07-01 00:00:00'
          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
               + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
        GROUP BY dt
    )
    GROUP BY mo
),
w AS (
    SELECT mo, px,
        sum(500.0 / px) OVER (ORDER BY mo ROWS BETWEEN CURRENT ROW AND 59 FOLLOWING) AS dca_shares,
        count() OVER (ORDER BY mo ROWS BETWEEN CURRENT ROW AND 59 FOLLOWING) AS n_ahead,
        leadInFrame(px, 59) OVER (ORDER BY mo ROWS BETWEEN CURRENT ROW AND 59 FOLLOWING) AS end_px
    FROM monthly
)
SELECT toString(toYear(mo)) AS start_year,
    round(30000.0 / px * end_px / 1000, 1) AS lumpsum_final,
    round(dca_shares * end_px / 1000, 1) AS dca_final
FROM w
WHERE toMonth(mo) = 1 AND n_ahead = 60 AND toYear(mo) BETWEEN 2016 AND 2021
ORDER BY start_year

在这些年份中,一次性投入也全部胜出。差距才是关键。30,000美元的一次性投入,其最终金额从2018年开始的 45.5k(该五年周期经历了2018年底的抛售和2020年的崩盘)到2017年开始的 60k 不等。您的结果取决于您恰好开始的月份。定投计划的最终结果则更为集中,介于 37k 到 45.5k 之间。定投缩小了结果的波动范围。它牺牲了一部分潜在收益,以换取对入场时机依赖性的降低。

定期定额投资的真正用途

综合来看,这些图表传达了一个简单的道理:在趋势向上的市场中,较早投入的一次性投资优于缓慢投入的同等金额,且这种规律在不同指数和个股的多个起始日期中均成立。定投无法超越这一点,其价值在于其他方面。

首先,它符合收入发放的模式。您按月领薪,按月投资。您不需要让一笔巨额资金闲置等待部署。定投本质上就是随赚随投。

其次,它消除了入场时机的决策压力及随之而来的遗憾。最难决定一次性投入的时机 通常是在市场大跌之后,那是心理压力最大的时刻。固定时间表让您无需做决定,并在恐惧中继续以较低的价格买入。上述2018年和2020年的案例中,定投在两次抛售期间都在持续买入。

第三,它缩小了结果的波动区间。正如五年期起始年份图表所示,定投的最终结果集中在一定范围内,而一次性投入的结果则随日历年份大幅波动。对于无法承受错误入场风险的储蓄者来说,结果的稳定性可能比更高的平均收益更重要。

这些并不代表定投能实现收益最大化。如果您目前已持有大量现金且投资期限较长,历史数据支持一次性投入。如果您是每月积累资金(大多数人的情况),那么定投本身就是一种计划。请将其与多元化持仓结合,以避免 将整个计划押注在单只股票上,并时刻关注 波动率,如果平稳的走势能帮助您在市场低迷月坚持投资,这会很有帮助。

常见问题

定期定额投资能胜过一次性投入吗?

在上涨市场中,通常不能。从2016年到2026年,每月向 SPY 投入500美元,将 63k 的投入变成了 139.3k,而起始时一次性投入的同等金额则达到了 237.7k。一次性投入的资金从第一天起就在运作。

定期定额投资是一个好的策略吗?

对于按月储蓄的人来说,这是自然的选择:您随每份薪水到账时进行投资,无需考虑入场时机。它降低了结果对起始日期的依赖,代价是在市场稳步上涨时牺牲了一部分潜在收益。

定期定额投资的主要好处是什么?

纪律性和降低时机风险。它实现了在市场好坏时期都能自动买入,并缩小了不同入场点下的结果波动范围,如上述五年期起始年份图表所示。

定期定额投资会降低平均成本吗?

它将您的平均成本设定为整个计划期间支付价格的平均值,在价格低时买入更多份额,价格高时买入较少。这会介于您可能支付的最差价格和最好价格之间。这并不保证成本一定低于市场平均水平。

我应该一次性投入还是分批投入?

历史记录表明,如果您已经持有现金且投资期限较长,较早的一次性投入更具优势。分批投入是用预期收益换取更窄的结果区间,并减少在购买后市场立即下跌时的遗憾。两者都不是预测。


这里的每个数据都是存储的查询,您可以打开并重新运行。在 Strasmore 终端上更改代码、每月金额或起始日期,亲自测试该计划。

#dollar-cost averaging#lump sum investing#index funds#spy#investing strategy