平均开仓价是建立当前仓位时,各笔成交按数量加权后的价格,通常不能把订单记录中的几个价格直接相加后取平均。本指南会从零解释正确公式、USDT金额换算、手续费处理、目标均价反算,以及部分平仓后为什么不能继续套用同一公式。
成交越大,对均价的影响越大
先用每笔成交价格乘以对应数量,再把所有仓位价值相加,最后除以总数量。大额成交占据更多仓位,因此对最终均价的影响也更大。
- 每笔成交的价格和数量必须放在一起计算。
- 先分别加总仓位价值和持仓数量,再做除法。
- 只合并同一方向上增加仓位的成交。
- 成交
- 订单中已经按照某个价格真正执行的部分。
- 仓位价值
- 成交价格乘以对应币种数量。
- 持仓成本
- 建立当前仓位使用的金额,手续费需要根据采用的记账方式单独处理。
为什么直接取平均会算错?
简单平均会让每个价格拥有相同权重,只有每笔成交数量完全相同时才成立。如果第二笔买入数量是第一笔的两倍,它对最终均价的影响也应该是两倍。
把几个价格相加后除以成交笔数,会忽略每个价格究竟建立了多少仓位。加权算法计算的是实际仓位价值与数量,因此更接近真实持仓成本。
Σ(成交价格 × 成交数量)÷ Σ(成交数量)Σ(成交价格 × 成交数量)输入币种数量还是USDT金额?
线性合约和现货买入的标准公式需要币种数量。如果订单记录已经显示BTC、ETH、SOL或合约数量,可以直接使用。如果只知道每笔使用了多少USDT,需要先用金额除以对应成交价格,换算出币种数量。
这也解释了为什么每次投入相同USDT金额时,不能简单平均价格。相同金额在价格较低时可以买到更多币,因此较低价格自然会获得更高权重。
币种数量 = USDT金额 ÷ 成交价格投入USDT总额 ÷ 币种总数量| 订单记录 | 输入方式 | 处理方法 |
|---|---|---|
| 以68,000 USDT成交0.02 BTC | 币种数量 | 无需换算 |
| 以68,000 USDT买入500 USDT | USDT金额 | 500 ÷ 68,000 |
| 线性合约数量 | 合约或币种数量 | 使用线性加权公式 |
| 反向合约张数 | 合约价值 | 核对交易所反向合约公式 |
两笔BTC成交的完整示例
假设第一笔以70,000 USDT买入0.01 BTC,第二笔以68,000 USDT买入0.02 BTC。第二笔数量是第一笔的两倍,所以最终平均价应该更接近68,000 USDT。
第一笔形成700 USDT仓位价值,第二笔形成1,360 USDT。合计持有0.03 BTC,总开仓价值为2,060 USDT。用2,060除以0.03,得到平均开仓价68,666.67 USDT。
在两个价格建立0.03 BTC仓位
不能使用(70,000 + 68,000)÷ 2。这个结果是69,000,会因为忽略第二笔更大的成交数量而高估真实均价。
手续费应该放在计算的什么位置?
交易平台通常把平均开仓价显示为不含手续费的加权成交价格,再把手续费单独计入已实现盈亏或账户成本。为了方便规划,可以保留这个平均成交价,同时再计算一个计入手续费的盈亏平衡价。
对于现货和多单,开仓费会提高回本所需收入,预计平仓费会减少最终获得的金额。空单的手续费则会减少开仓净收入,并增加买回仓位的成本。资金费、滑点、税务和借币成本还需要另外计算。
(开仓价值 + 开仓手续费)÷ [数量 ×(1 − 平仓手续费率)](开仓价值 − 开仓手续费)÷ [数量 ×(1 + 平仓手续费率)]- 确认手续费使用计价货币收取,还是从实际收到的币数量中扣除。
- 使用自己的Maker或Taker费率等级,不要只看交易所宣传费率。
- 不要把资金费和滑点混入加权成交价格。
- 判断盈利时要看净盈亏,而不是只比较当前价和平均价。
怎样反算达到目标均价所需的加仓数量?
加权平均公式也可以反向使用。先输入下一笔可能的成交价和希望达到的平均价,再解出需要增加的数量。
可以达到的目标必须位于当前均价与计划成交价之间。如果当前均价和下一笔成交价都低于目标,继续在该价格成交不可能把均价推到两个价格上方,反方向也是同样道理。
当前数量 ×(当前均价 − 目标均价)÷(目标均价 − 新成交价)把68,666.67 USDT降到68,000 USDT
当前持有0.03 BTC,均价为68,666.67 USDT。如果下一笔可以在64,000 USDT成交,需要增加0.005 BTC,也就是投入320 USDT。加仓后总价值为2,380 USDT,总数量为0.035 BTC,平均价正好为68,000 USDT。
部分平仓、反手和反向合约应该怎样处理?
标准加权公式适合合并同一方向上增加风险敞口的成交。部分平仓会产生已实现盈亏,并不等于又增加一笔开仓。如果某笔成交先完全平掉原仓位,再建立相反方向的新仓位,通常应该从新仓位重新开始计算。
合约类型也很重要。USDT本位线性合约使用价格乘以数量,反向合约的报价和结算方式不同,通常需要使用价格倒数。有些带周期结算的产品还会重置或更新显示的阶段平均价,因此必须按照具体合约选择公式。
- 不要把减少多单的卖出记录成负数买入。
- 部分平仓后的已实现盈亏应以交易所账单为准。
- 完全平仓并反手后,应该重新建立一组计算。
- 先确认合约属于线性、反向还是周期结算产品。
- 已经开仓后,以交易所仓位面板作为最终记录。
加密货币平均开仓价计算器
动态添加成交,切换币种数量与USDT金额输入,计入手续费、读取参考价格,并反算目标均价所需数量。
常见问题
平均开仓价就是几个价格的平均数吗?
只有每笔成交数量完全相同时才是。只要数量不同,每个价格都必须按对应成交数量加权。
定投也可以使用这个公式吗?
可以。分别输入每次买入价格和数量,或者输入每次使用的计价金额,就能得到这些买入的综合成本价。
空单也能计算平均开仓价吗?
可以,前提是每笔成交都在增加同一个线性空单。平均价公式不变,但盈亏方向和盈亏平衡价不同。
平均开仓价需要包含手续费吗?
建议保留不含手续费的加权成交价,并在有效成本、盈亏平衡价和净盈亏中单独计入手续费,除非你的记账方法另有定义。
为什么目标均价显示无法达到?
目标价必须位于当前均价与计划成交价之间。成交价位于错误方向时,不可能让平均价越过当前值。
为什么交易所显示的结果不同?
交易所可能从币数量中扣除手续费、重置结算周期均价、使用反向合约公式,或对部分平仓采用不同记账方式。请检查具体合约和账单。
交易所机制与费率可能调整。本文使用以下官方资料核对核心概念。
内容仅用于学习。不同交易所的合约规则和账户计算可能不同,交易前请以官方数据为准。