HUILUMI SHEET 40

首页/词条手册/合约

合约开仓均价怎么算?欧易与 Bybit 的加减仓、结算规则

欧易与 Bybit 的加仓公式不同于简单取平均;部分平仓沿用原均价,结算重置则要看合约类型。

岑野(笔名)2026 年 10 月 14 日发布官方页面查于 2026 年 10 月 14 日

按下文欧易与 Bybit 的平均成本算法,同一合约、同方向仓位加仓后要重算均价,部分平仓则沿用原均价;这里先看没有发生结算重置的情况。加仓价与原均价不同时,新均价会向它靠近;平掉一部分,价差记入已实现盈亏。

先分清 USDT 线性合约与美元面值的反向合约,两者各用一条公式;同一算式中的数量必须使用相同单位。后面再看欧易交割合约和 Bybit USDC 永续的结算重置。下文自设算例以 USDT 计价,币本位例子以美元计价。

U 本位合约加仓后的开仓均价:按数量加权,不是两个价相加除以二

欧易帮助中心「交割合约盈亏计算规则」(更新于 2026 年 8 月 11 日)把 U 本位保证金合约的开仓均价写成:(当前持仓量 × 开仓均价 + 加仓量 × 加仓价格)÷(当前持仓量 + 加仓量)。页面自带的例子是 10 张多单、均价 100,000,再以 160,000 开多 5 张,新的均价 =(100,000 × 10 + 160,000 × 5)÷ 15 = 120,000。

欧易帮助中心「交割合约盈亏计算规则」页面顶部:标题下方写着发布于 2022 年 6 月 20 日、更新于 2026 年 8 月 11 日,「收益相关字段」表格的前两行是持仓量和开仓均价,开仓均价一行写着新增头寸及反向开仓时会改变开仓均价,结算时开仓均价会更新为结算价格
欧易「交割合约盈亏计算规则」中的开仓均价一行:加仓、反向开仓与结算会怎样改变均价(截图于 2026 年 10 月)。

Bybit 帮助中心「开仓均价(永续和交割合约)」(更新于 2026-08-19)对 USDT 合约给的是同一个意思:合约总价值 ÷ 合约总数量,总价值是每一笔的数量乘价格再相加。它的例子是 10,000 买入 1 BTC,之后 13,000 再买 2 BTC,均价 =(1 × 10,000 + 2 × 13,000)÷ 3 = 12,000。

两家的例子都在提醒同一件事:数量大的那笔权重更高。Bybit 那个例子里两个价的中点是 11,500,实际均价 12,000,因为 13,000 那笔买了两倍的量。

换一组往下加仓的数。假设你在 60,000 开多 0.2 BTC,跌到 57,000 又加了 0.1 BTC:

均价只从 60,000 降到 59,000,没有降到两个价的中点 58,500。想靠补仓把均价拉下来,加的量比原仓位小,拉不动多少。

减仓、部分平仓之后,开仓均价为什么没变

按平均成本计算,部分平仓带走的是相同比例的数量与开仓成本,因此剩余成本除以剩余数量,均价不变。这是对上述均价公式的推导。例如 0.3 BTC 对应 17,700 USDT 开仓成本,平掉三分之一后,剩余成本 11,800 USDT ÷ 0.2 BTC,仍是 59,000 USDT。

平掉的那部分去了哪,欧易同一页有另一条公式接着:U 本位多仓的平仓收益 = 面值 × 平仓量 × 合约乘数 ×(平仓价格 − 开仓均价)。平仓是拿成交价去和均价比,差额落进已实现收益,均价本身只是被拿来用了一下。

接着上面的仓位:0.3 BTC 多单,均价 59,000。假设价格回到 61,000,你平掉 0.1 BTC。

容易想成这样:平掉的是 57,000 加的那 0.1,剩下的 0.2 应该回到 60,000 的成本。合约仓位不这么记。同一个合约、同一个方向只有一个仓位、一个均价,系统不区分哪 0.1 是哪次买的,你也没法指定「先平便宜的那笔」。

反过来,减仓也不能把均价往有利的方向挪。盈利时平掉一部分,剩下仓位的均价照旧,落袋的那部分记在已实现盈亏里。各家的已实现盈亏是否包含手续费和资金费,计算方式不一样,见已实现盈亏的三家算法对照。

欧易那句话里还有「反向开仓」。单向持仓下,反方向的单子数量超过现有仓位,多出来的部分会开成一个相反方向的新仓位。页面只说这种情况会改变开仓均价,没给算式;照均价的定义推,若新方向的开仓部分只按一个价格成交,均价就是该成交价;若分多笔、不同价格成交,则要对新开部分重新加权。点反方向到底是平仓还是另开一单,取决于单向持仓还是双向持仓。

币本位合约加仓,均价为什么比心算的低

币本位合约用的是另一条公式,照 U 本位那样乘完再除,结果会偏高。欧易同一页写的是:(当前持仓量 + 加仓量)÷(当前持仓量 ÷ 开仓均价 + 加仓量 ÷ 加仓价格)。例子是 10 张空单、均价 100,000,再以 80,000 开空 5 张:

(10 + 5)÷(10 ÷ 100,000 + 5 ÷ 80,000)= 15 ÷ 0.0001625 ≈ 92,307.69 美元

Bybit 对反向合约的写法一致:合约总数量 ÷ 合约总价值,总价值是每笔的数量除以价格再相加。它的例子是 10,000 买 50 张、15,000 再买 50 张,均价是 100 ÷(50 ÷ 10,000 + 50 ÷ 15,000)= 12,000。

把这两组数分别代进两条公式,结果保留两位小数,单位为美元:

两笔开仓套 U 本位公式币本位公式(按公式复算)相差
10 张 @ 100,000,加 5 张 @ 80,00093,333.3392,307.69约 1,025.64
50 张 @ 10,000,加 50 张 @ 15,00012,50012,000500

原因在面值。币本位合约每张对应的是固定金额的美元,用币结算;同样 50 张,价格低的时候折成的币更多。均价是按币的数量摊的,低价那一笔占的分量就更重,结果总是往低价一侧偏。数量和盈亏为什么都得倒过来算,U 本位与币本位合约的对照那篇有完整的例子。

没加仓也没减仓,开仓均价自己变了

两份官方页面各写了一种会把均价直接换掉的情况。

第一种是结算。欧易那一行的后半句:「结算时开仓均价会更新为结算价格」。同页的 U 本位多仓结算收益公式是面值 × 持仓量 × 合约乘数 ×(结算价格 − 开仓均价),已实现收益 = 平仓收益 + 结算收益 + 交易手续费。连起来读:结算那一刻,仓位按结算价把浮动的盈亏结成已实现的,然后均价改成结算价,之后的浮动收益从这个新价重新算起。这一页讲的是交割合约。

第二种是 Bybit 的 USDC 永续合约。Bybit 那页写的是:开仓均价是「当前结算周期内」的仓位加权平均价格,「在每个结算周期结束时,结算时的标记价格将成为新的开仓均价」;页面还注明,接口里对应的字段叫 sessionAvgPrice。同一页上 USDT 合约和反向合约的段落没有这句话。

碰上这两种合约,持仓栏的开仓均价回答的是「上次结算以来从哪个价起算」,不是「我当初多少钱买的」。均价跳了不等于钱少了,跳之前的浮动盈亏已经结进已实现那一栏。要找最初的成交价,得去翻成交记录。

币安仓位历史里的进场价格包含手续费吗

币安帮助中心「如何使用币安合约上的仓位记录功能」(发布于 2023-05-02)对【仓位历史】里的字段有两行说明:「进场价格:该仓位的平均进场价格」「平均平仓价格:该仓位平仓的平均价格」,并注明交易手续费没有被纳入计算。这里说的是仓位历史中的进场价格:它是平均数,不含交易手续费。

查成交记录时,要把仓位历史的平均进场价与当前持仓分开看。仓位历史记录一段持仓过程,后续已经减仓、再加仓时,不宜拿历史均价直接代替当前剩余仓位的开仓均价。

币安持仓栏上另有一个盈亏平衡价格,那个数才把手续费算了进去。两个价不一样是正常的。

开仓均价一变,持仓栏上哪些数跟着动

未实现盈亏最直接。欧易的浮动收益公式,U 本位多仓是面值 × 持仓量 × 合约乘数 ×(标记价格 − 开仓均价),均价是被减的那一头。

逐仓的预估强平价也在里面。欧易「合约盈亏计算规则」(更新于 2026 年 8 月 11 日)逐仓一节的预估强平价公式里,开仓均价和张数都在。加仓同时改了这两个量,强平价跟着重算;加完仓再看一眼强平价,比只盯着均价有用。强平为什么按标记价格触发,见强平价和标记价格。

手续费不看均价。每一笔成交按它自己的成交价和数量收,加仓、减仓各收各的。

加仓拉低均价之后,账面亏损变没变

加仓把开仓均价拉低了,亏损是不是就少了?

只有均价降低,不能说明亏损减少。假设 USDT 线性合约在 60,000 开多 0.2 BTC,标记价格到 57,000 时,浮亏为 0.2 ×(60,000 − 57,000)= 600 USDT;此时恰好以 57,000 加仓 0.1 BTC,且标记价格不变,新均价为 59,000,浮亏为 0.3 ×(59,000 − 57,000)= 600 USDT。这里未计手续费和资金费;若加仓成交价与标记价格不同,新增部分会立即产生相应浮盈亏。变的是仓位:从 0.2 变成 0.3,之后价格每动一步,盈亏的变化都是原来的 1.5 倍,回本需要的涨幅小了,继续下跌时亏得也更快。另外,加仓那一笔还要再付一次开仓手续费。