结论先说:哪个更好,取决于你从哪一天开始,而这一点事先没人知道。 用比特币过去几年的真实价格算两段,终点都是 2026 年 9 月 30 日:
| 起点 | 每周定投 100 USDT 的收益率 | 同样的钱第一天一次买入 | 谁多 |
|---|---|---|---|
| 2021-11-01(大跌之前) | +96.40% | +36.28% | 定投 |
| 2022-12-01(低位附近) | +69.08% | +386.67% | 一次买入 |
起点在高位,定投把成本摊低了,赢得明显;起点在低位,一次买入把全部的钱都放在了低价附近;之后价格总体上涨,定投后续买入的综合成本远高于起点。两种结果都是真实发生过的行情,不是对以后的判断。
这里的「一次买入」不是另外拿一笔钱,而是把定投那段时间累计投进去的总额,假设在第一天就全部买进。两边投入的钱一样多、终点一样、手续费率一样,差别只在钱是分批进去的还是一次进去的。
两段回测的输入和算法
两段用的是同一套设置,和站内定投回测的算法一致:
| 输入 | 设置 |
|---|---|
| 交易对 | BTC/USDT |
| 数据 | 币安公开的历史日 K 线(data-api.binance.vision,按 UTC 时间) |
| 频率 | 每周:从起始日起每隔 7 天买一次 |
| 每期金额 | 100 USDT |
| 手续费 | 每期先扣 0.1%,剩下的 99.9 USDT 用来买 |
| 买入价 | 当天日 K 线的开盘价 |
| 期末计价 | 最后一天(2026-09-30)的收盘价 83,623.60 USDT |
| 一次买入 | 把定投的总投入,在第一次定投那天按开盘价一次买完,同样先扣 0.1% |
公式只有三行:
每期买到的数量 = 100 × (1 − 0.1%) ÷ 当天开盘价;期末价值 = 累计数量 × 期末收盘价;收益率 = 期末价值 ÷ 累计投入 − 1。
「账面最大浮亏」是从第一次买入起,每天的持仓价值相对当时累计投入的最低点。工具页只显示定投这一项;一次买入的最大浮亏是用同一个逐日方法另外算的。
从 2021 年 11 月高位开始:定投 +96.40%,一次买入 +36.28%
2021-11-01 这一天的开盘价是 61,299.81 USDT。之后比特币经历了一轮大跌,到 2022 年底跌到 16,000 多。
| 每周定投 | 一次买入 | |
|---|---|---|
| 买入次数 | 257 次 | 1 次(2021-11-01) |
| 累计投入 | 25,700 USDT | 25,700 USDT |
| 平均买入价 | 42,578.19 USDT | 61,299.81 USDT |
| 期末价值 | 50,474.82 USDT | 35,024.21 USDT |
| 收益率 | +96.40% | +36.28% |
| 账面最大浮亏 | −53.79% | −74.28% |
验算一次买入:25,700 × 0.999 ÷ 61,299.81 × 83,623.60 = 35,024.21,35,024.21 ÷ 25,700 − 1 = +36.28%。
定投赢在平均成本:257 次买入里,有一大段是在 2022 年的低价区间买的,均价被拉到 42,578,比起点低了约 30%。两者最终差了 50,474.82 − 35,024.21 = 15,450.61 USDT,全部来自买入价的差别,因为投入的总额、终点价格、手续费率都一样。
但别只看终点。把同一个起点的回测截到 2022 年 12 月 31 日(收盘价 16,542.40):每周定投 61 次、投入 6,100 USDT,账上是 3,703.54 USDT,收益率 −39.29%;一次买入是 1,644.50 USDT,−73.04%。定投亏得少,但也亏了将近四成。如果你在那时候停下,看到的就是这个数字。
定投那 −53.79% 的最大浮亏出现在哪一天?用同一个逐日方法往回找,是 2022-06-18:当时已经投了 33 期共 3,300 USDT,当天收盘价 18,970.79,持仓只值约 1,524.92 USDT。也就是说,最难熬的时刻出现在定投开始后七个多月,投入还不多、价格跌得最深的时候。如果计划停在这一天,之后几年的那些收益就和它没有关系了。
从 2022 年 12 月低位开始:定投 +69.08%,一次买入 +386.67%
2022-12-01 的开盘价是 17,165.53 USDT,离那一轮的低点不远。
| 每周定投 | 一次买入 | |
|---|---|---|
| 买入次数 | 200 次 | 1 次(2022-12-01) |
| 累计投入 | 20,000 USDT | 20,000 USDT |
| 平均买入价 | 49,458.79 USDT | 17,165.53 USDT |
| 期末价值 | 33,815.47 USDT | 97,334.57 USDT |
| 收益率 | +69.08% | +386.67% |
| 账面最大浮亏 | −4.85% | −4.33% |
验算定投:20,000 ÷ 49,458.79 = 0.404377 BTC,× 83,623.60 ≈ 33,815.47 USDT,收益率 +69.08%。
这一段价格总体向上。头几周的价格有高有低,并不是一笔比一笔贵,但拉长看,后续买入的综合成本明显高于起点:均价被抬到 49,458,接近起点的 3 倍。一次买入的钱全部放在 17,165,差距就这么来的。两种做法在这一段里的最大浮亏都只有 5% 左右:起点之后价格没有再跌回起点下方太多,账面几乎一直是赚的。这种行情里定投的「摊低成本」用不上,反而是一次买入的人一直拿着比定投低得多的成本。回头看很容易说「早该一次买完」,但在 2022 年 12 月那一天,价格刚刚跌了七成多,敢全部买进的判断并不比现在容易。
两段放在一起,能说明什么、说明不了什么
用三个价格看清楚原因
两段真实行情太长,用一个极简的假设把道理算清楚。假设只买三期,每期 100 USDT,不算手续费:
| 三期价格 | 定投:每期 100 | 一次买入:第一期 300 |
|---|---|---|
| 100 → 50 → 100 | 买到 1 + 2 + 1 = 4 个,期末值 400,+33% | 买到 3 个,期末值 300,0% |
| 100 → 150 → 200 | 买到 1 + 0.667 + 0.5 = 2.167 个,期末值 433,+44% | 买到 3 个,期末值 600,+100% |
定投在价格下跌时同样的钱买到更多数量,所以先跌后回的行情里它占便宜;一路上涨时,后面每一笔都更贵,一次买入就赢。上面两段真实回测,大体是这两种形状,只是真实价格中途有起伏,不会每一期都朝同一个方向走。
两段结果能说明什么
能说明的:
- 定投和一次买入的差别,几乎全部来自「起点价格相对之后价格的位置」。起点之后跌得多,定投占优;起点之后涨得多,一次买入占优。
- 定投在下跌段的作用主要是让账面亏得没那么深:第一段里 −53.79% 对 −74.28%。能不能拿得住,往往比最终收益率差几个点更要紧。
说明不了的:
- 说明不了以后哪个更好。你站在任何一天,都不知道它在事后看是 2021 年 11 月还是 2022 年 12 月。
- 说明不了收益会重复。+96.40% 和 +386.67% 都只属于那两段已经结束的行情。
- 说明不了别的币。以太坊、BNB 的走势和比特币不同,同样的起点换个币,赢家可能不一样,工具里可以直接切换。
换频率会不会改变结论?同样两段改成每月 1 日买一次(每期金额不影响收益率),第一段定投是 +95.62%,比每周低 0.78 个百分点;第二段是 +73.19%,比每周高 4.11 个百分点。两段的赢家都不变。频率的细节对比在比特币定投多久买一次合适里。
按你手里的钱是怎么来的,对号入座
- 钱是每月从收入里攒出来的。 你没有「一次买入」这个选项,这道题对你不存在。要决定的只是每月买多少、买多久,以及跌到 −50% 时会不会停。
- 手里有一笔已经到账的闲钱。 这才是真正的「定投还是一次买入」。上面两段告诉你,两个答案都可能事后被证明是对的。
- 已经持有、想加仓。 和上一种一样,只是起点换成了今天。
- 还没想好用不用定投。 定投只是三种工具之一,和网格、跟单放在一起比,见网格、定投、跟单怎么选。
所以在下决定之前,先问自己能承受多深的账面亏损:一次买入在第一段里最深亏到 −74.28%,投 1 万 USDT 的话,账上一度只剩 2,500 多。这个数字比最终收益率更该先看。
手里有一笔闲钱又拿不定主意,也可以折中:把这笔钱分成几份按月投完,不把全部押在某一天,也不会拖得太久。分几份没有标准答案,份数越多,越接近定投;越少,越接近一次买入。
回测和真实定投之间还差什么
回测用的是现货日 K 线的开盘价,扣 0.1% 手续费。交易所闪兑里的定投功能不一样:页面写的是零手续费,但成交价和现货市场价可能不同,中间有价差;执行时刻是你创建计划时的那个分钟,不是 UTC 零点开盘。
定投成交价和现货市价的差别,官方说明在币安帮助中心:定投参考价格方法简介(2026 年 10 月核对)
回测还有几样没算进去:
- 卖出的手续费。 期末价值按收盘价直接计价,没有扣卖出时的手续费。真要卖成 USDT,按 0.1% 算还要再少一点,两种做法同等比例地少,不改变谁多谁少。
- 买入时刻。 日 K 线按 UTC 零点划分,开盘价对应北京时间早上 8 点。你的定投计划在别的时刻执行,成交价会不一样。
- 数据来源只有一家。 用的是币安现货 BTC/USDT 的成交数据,不是全市场的平均价格。
所以这里的数字是「按现货开盘价」的近似。真实的定投结果,以你在定投历史里看到的每笔成交为准。闪兑定投怎么设、价差在哪看,见定投功能怎么设置。
想换一段时间验证:打开定投回测,选「比特币(BTC/USDT)」,开始月份填 2021-11 或 2022-12,结束月份填 2026-09,选「每周」,每期 100,手续费率 0.1,点「开始回测」,应该得到和上面表格一致的定投数字。如果你算出来的数字和表格差一点,先核对手续费率是不是 0.1、频率是不是每周;工具读取失败时页面会提示,不会显示预先写好的结果。
再把起点往前或往后挪几个月,看赢家在哪个月份换边。如果你在定投之外还考虑网格或跟单,先看三种工具怎么选。事后能找到换边的那个月份,站在当时却分辨不出来,这正是这道题没有标准答案的原因。工具能做的,是让你在投钱之前,先看清两种做法在不同起点下各自最坏会是什么样子。