怎么追踪 DCA 定期定额的真实绩效?平均成本与报酬率完整算法
发布于 2026年7月19日
每周固定买 100 镁比特币,买了半年,现在到底赚还赔?这题很多 DCA(Dollar-Cost Averaging,定期定额)玩家答不出来——每次买的价位都不一样,脑袋根本记不住平均成本落在哪,更别提还要把一路加码的运气扣掉、看出「真实报酬率」。
我们做 ExAgg 帮用户算定投绩效时发现一件反直觉的事:很多人牛市尾段用「现价比平均成本」评估自己,越算越觉得「怎么赚这么少」——其实不是策略差,是后期投入的大笔钱还没吃到前面的涨幅,指针本身就用错了。这篇用实际数字讲清楚:平均成本怎么算、为什么「现价比平均成本」比不出真实绩效,以及怎么让 App 接上交易所自动帮你算。
💡 DCA 别只看现价涨跌就下结论。真正要盯的是两个数字:加权平均成本(买贵还是买便宜)和真实报酬率(排除加码后策略到底行不行)。
平均成本怎么算:一个定投小算例
DCA 的核心是「不管涨跌、固定金额分批买」,所以你的成本是一条被摊平的均线,不是单一进场点。正确算法是加权平均成本 = 累积投入金额 ÷ 累积持有数量。
假设你分三次定投比特币,每次都投入 100 镁:
- 第一次:价格 20,000,买到 0.005 BTC
- 第二次:价格 25,000,买到 0.004 BTC
- 第三次:价格 10,000(大跌),买到 0.010 BTC
累积投入 = 100 + 100 + 100 = 300 镁。累积持有 = 0.005 + 0.004 + 0.010 = 0.019 BTC。
加权平均成本 = 300 ÷ 0.019 ≈ 15,789 镁。
注意:三个价格的「算术平均」是(20,000 + 25,000 + 10,000)÷ 3 ≈ 18,333,但你的真实平均成本只有 15,789。因为固定金额在低价时会自动买进更多数量,DCA 天然把成本往下拉——这就是定投的威力,也是为什么你不能用「价格的平均」来估成本。
为什么「现价 vs 平均成本」比不出真实绩效
算出平均成本后,最直觉的做法是「(现价 − 平均成本)÷ 平均成本」当报酬率。以上面例子、现价假设 18,000 来算:(18,000 − 15,789)÷ 15,789 ≈ +14%。
这个数字能告诉你「现在帐面赚赔多少」,但它不能代表你的策略或标的表现好不好,原因有二:
- 它把加码时机混进去了。 你在 10,000 大量加码,把平均成本压很低,报酬率看起来很漂亮——但这是「择时运气」的功劳,不是策略本身。反过来若你都在高点追,同样一段行情会被算得很难看。
- 它没有时间维度。 分三次、跨半年投入的钱,参与市场的时间长短不同。后期投入的资金根本没吃到前面的涨幅,用单一「现价比成本」会低估或高估真正的区间表现。
换句话说,「现价 vs 平均成本」是资金加权的结果——它同时被市场表现和你的出入金时间点污染,两件事糊在一起,你既看不出选币准不准,也看不出择时差在哪。想深入理解这个陷阱,可以读已实现 vs 未实现损益,搞懂帐面数字和真实落袋的差别。
TWR:把加码干扰切出去
要衡量「策略/标的本身」的表现,基金业的标准做法是 TWR(Time-Weighted Return,时间加权报酬率)。它的思路是:每次出入金(对 DCA 来说就是每次扣款)就切一个子期间,分别算报酬,再几何连乘:
TWR =(1 + r₁)(1 + r₂)…(1 + rₙ)− 1
连乘之后,每段报酬的权重只跟时间有关、跟你当时投了多少钱无关——加码多寡的影响被干净切掉,剩下的就是市场这段路真正给了多少。这正是 DCA 玩家最需要的视角:你想知道的是「这半年比特币的走势,对我这种定投法有没有利」,而不是「我运气好压中低点没」。
开头讲的那个「怎么赚这么少」的错觉,根源就在这:资金加权会让后期大额投入拖累数字,TWR 换个切法就还原了策略本身的表现。完整的 TWR 算法、和资金加权报酬(MWR)的差别,详见 什么是 TWR。
怎么自动追踪:接上交易所就不用手算
DCA 追踪最痛的一点是:期数越多、记录越烦。每周扣款一次、半年就是 26 笔,你要记下每次的买入价、数量、还有当下的组合总市值才能算 TWR——靠记忆或翻对帐单根本撑不了几周。
自动化的正确姿势是让工具替你记帐:
- 接交易所唯读 API:把交易所连进追踪 App,每一笔成交(包含你的定投扣款)自动被读进来,加权平均成本实时更新,不用手动输入。
- 自动切期算 TWR:每次出入金当下的总市值被记录下来,系统自动几何连乘,同场对比「现价比成本」的简单报酬率,让你一眼看出策略表现和择时效果的差距。
- 跨所集成:如果你在多家交易所定投,总资产被合并成一个数字,跨所转帐互相抵销,不会被搬钱的动作干扰绩效。

想先手动试算的话,可以用免费的 DCA 计算机 粘贴每次的买入价与金额,自动算加权平均成本;再搭配 TWR 计算机 排除加码干扰。但要长期、无痛地追踪,还是接上交易所自动算最实在。
常见问题 FAQ
DCA 的平均成本要怎么算?
用「累积投入金额 ÷ 累积持有数量」,也就是加权平均成本,不是把每次买入价格做算术平均。因为固定金额在低价时会买到更多数量,加权后的成本通常低于价格的单纯平均。
为什么「现价减平均成本」不能当作我的定投绩效?
因为那是资金加权的结果,会把「加码时机的运气」混进策略表现里,也没有考虑各笔资金参与市场的时间长短。要看策略/标的本身好不好,得用 TWR 时间加权报酬率,把加码干扰切掉。
DCA 用 TWR 还是简单报酬率?
两个一起看最好。简单报酬率(现价比成本)告诉你荷包现在帐面赚赔多少;TWR 告诉你这段行情对你的定投策略有没有利。DCA 因为天天在制造出入金事件,只看简单报酬率特别容易失真。
定投很多笔,怎么不用手动记帐就追踪?
把交易所用唯读 API 连进 ExAgg,每笔定投成交会自动读入,加权平均成本与 TWR 都自动计算并实时更新,不用逐笔手动输入,也不怕漏记。
结论:让工具帮你把 DCA 算对
- 平均成本 = 累积投入 ÷ 累积数量,DCA 天然把成本压在价格算术平均之下。
- 「现价 vs 平均成本」只能看帐面赚赔,不能代表策略绩效——它被加码时机污染了。
- 想看策略本身,用 TWR 把加码干扰切掉;想看落袋,参考 已实现 vs 未实现损益。
- 手算试试 DCA 计算机,但长期追踪还是接交易所自动算最省事。
ExAgg 会把你在十家交易所与链上钱包的定投成交自动集成,加权平均成本与真实报酬率实时更新,不再靠记忆力对帐。到 App Store 下载 ExAgg,一个画面看完你的 DCA 到底赚不赚。