合约开仓成本为什么比保证金多
下单前看到的开仓成本,按币安 U 本位永续合约的公式是初始保证金加上开仓亏损。开仓亏损按下单时的不利价差预估:限价做多挂得比标记价格高、做空挂得比它低,就用差价乘以数量;市价单则用假定价格比较。手续费另算,实际成交后的浮亏也要按成交价重新核对。
开仓成本的公式:初始保证金加开仓亏损
币安帮助中心《如何计算永续合约的开仓成本》(2026-07-08 更新)给的总式只有一行:
开仓成本 = 初始保证金 + 开仓亏损(如有)
两项各有一个要先定下来的价格。初始保证金用的不是你看到的最新价,而是一个「预估价格」(市价单那一节叫「假定价格」);开仓亏损拿订单价格去和标记价格比。订单方向做多记 1,做空记 −1:
初始保证金 = 预估价格 × 数量 ÷ 杠杆
开仓亏损 = 数量 × abs{min[0,方向 × (标记价格 − 订单价格)]}
min[0,…]这一步的意思是:订单价格对你有利时,括号里是正数,取 0,不加钱;对你不利时才把那段差价算进来。官方页把用意写得很直白——如果不把开仓亏损算进去,下单之后仓位可能立刻被强制平仓。
下面几节只演示新开一笔 BTCUSDT 永续仓位,不含已有仓位与挂单的合并计算。各节用同一组假设数字:最新价 64,000,标记价格 63,980,数量 0.01 BTC,10 倍。价格是为了好算编的,不是某一天的行情。
限价做多:挂在标记价格上方才多出一块
做多限价单的预估价格就是你填的订单价格。
挂 63,900,比标记价格低。初始保证金 63,900 × 0.01 ÷ 10 = 63.90 USDT;开仓亏损那一项,63,980 − 63,900 = 80 是正数,取 0。开仓成本 63.90。
改挂 64,100,比标记价格高 120。初始保证金 64.10;63,980 − 64,100 = −120,开仓亏损 = 0.01 × 120 = 1.20。开仓成本 65.30,比保证金多出 1.20。
这 1.20 是为预估浮亏留出的资金。若恰好按 64,100 成交、成交时标记价格仍为 63,980,这笔多单的未实现盈亏就是 0.01 ×(63,980 − 64,100)= −1.20。下单时算的是预留金额,成交后算的是实际浮亏;成交价或标记价格变了,两者就可能不同。未实现盈亏为什么按标记价格算,在合约收益率显示 +50%,账户到底多了多少里有说明。
限价做空:预估价格取三个数里最高的
做空这边规则不对称。预估价格不是订单价格,而是:
预估价格(空)= max(最新价 × 1.0015,标记价格,订单价格)
同样那组数,最新价上浮 0.15% 是 64,096,比标记价格和最新价都高。所以只要你的卖单价格不高于 64,096,初始保证金都按 64,096 算:64,096 × 0.01 ÷ 10 ≈ 64.10。
- 挂 63,900 做空:订单价比标记价格低 80,对空单不利。方向 −1 ×(63,980 − 63,900)= −80,开仓亏损 0.80。开仓成本约 64.10 + 0.80 = 64.90。
- 挂 64,200 做空:预估价格变成订单价格本身 64,200,初始保证金 64.20;−1 ×(63,980 − 64,200)= +220,开仓亏损 0。开仓成本 64.20。
第一种情况容易让人看不懂:卖得更便宜,成本反而比卖得贵的那单高约 0.70。第一单的初始保证金其实比第二单少约 0.10,却多了 0.80 的开仓亏损;两项相抵后,总成本约高出 0.70 USDT。
市价单:按最新价上浮 0.15% 预估
市价单没有订单价格,官方页里多空两边的假定价格都写成「最新价 × (1 + 0.15%)」,开仓亏损用这个假定价格代替订单价格去和标记价格比。
- 市价做多:假定价格 64,096,初始保证金约 64.10;63,980 − 64,096 = −116,开仓亏损 1.16。开仓成本约 65.26。
- 市价做空:假定价格同样 64,096,初始保证金约 64.10;−1 ×(63,980 − 64,096)= +116,取 0。开仓成本约 64.10。
同一个数量、同一个杠杆,市价做多比市价做空多备 1.16。这是预估,不是成交结果:市价单真实的成交价要看当时的盘口,可能比 64,096 低,也可能因为滑点更高;滑点那笔账在maker 和 taker 差多少里单独算过。
杠杆越高,开仓亏损占初始保证金的比例越大
开仓亏损只跟数量和价差有关,跟杠杆无关;初始保证金却随杠杆缩小。还是那笔 0.01 BTC 市价做多,换几个倍数:
| 杠杆 | 初始保证金 | 开仓亏损 | 开仓成本 | 开仓亏损 ÷ 初始保证金 |
|---|---|---|---|---|
| 5 倍 | 128.19 | 1.16 | 129.35 | 0.90% |
| 10 倍 | 64.10 | 1.16 | 65.26 | 1.81% |
| 20 倍 | 32.05 | 1.16 | 33.21 | 3.62% |
| 50 倍 | 12.82 | 1.16 | 13.98 | 9.05% |
最后一列可以直接估:(假定价格 − 标记价格)÷ 假定价格 × 杠杆。这组数里价差约 0.18%,50 倍时,1.16 USDT 的预估开仓亏损相当于初始保证金的 9.05%。这个比例衡量下单前的预留要求;成交后的浮亏要用真实成交价与当时的标记价格重算。数量和价差相同时,提高杠杆会缩小初始保证金,价差相对它的影响更大;是否触发强平还取决于实际保证金余额和维持保证金要求。可以用强平价计算器核对不同开仓价和杠杆下的距离。
手续费不在这道式子里
官方的开仓成本只有初始保证金和开仓亏损两项,开仓手续费另算。0.01 BTC 按 64,096 估的仓位价值约 640.96 USDT,如果按普通用户 U 本位吃单 0.05% 成交,开仓手续费约 0.32 USDT;平仓还有一次。这个费率取自本站 2026 年 8 月截取的币安 U 本位合约手续费页,你的档位不同就换成自己的,或者用手续费成本计算器把开平两次一起算。
所以余额正好等于算出来的开仓成本时,别指望一定下得去。另外两件常见的事也会让数对不上:标记价格和最新价随时在变,你算的那一刻和点按钮那一刻不是同一组数;全仓模式下,其他仓位的浮亏也在占可用余额。
提示余额不足,按这个顺序对一遍
- 先按上面的式子把开仓成本算出来,做空记得用三者取最高的预估价格,市价单用最新价 × 1.0015。
- 再加上开仓手续费,和合约账户里的可用余额比;全仓的话,看的是扣掉其他仓位占用后的可用部分。
- 要调整订单时,可以减少数量,或重新评估委托价格与资金安排。限价做多的委托价不高于下单时标记价格,按公式预估的开仓亏损为 0;等待成交时标记价格还会变,低价挂单也可能一直不成交。别靠提高杠杆去凑——同样数量和价差下,保证金少了,开仓亏损却没少,占比反而更高,上一节那张表就是这个意思。
- 数量本身太小被拒,是另一回事:那是最小下单量和最小名义价值的门槛,见合约最少多少钱能开一单。
公式出处与例子里的假设
开仓成本、初始保证金、开仓亏损三条公式,做空预估价格取 max(最新价 × 1.0015,标记价格,订单价格),市价单假定价格取最新价 × 1.0015:币安帮助中心《如何计算永续合约的开仓成本》,页面标注更新于 2026-07-08,本站 2026-10-17 核对并截图。最新价 64,000、标记价格 63,980、数量 0.01 BTC 都是为演示设定的整数,不是行情数据。吃单 0.05%:本站 2026 年 8 月截取的币安手续费页,普通用户 U 本位那一档。
常见问题
开仓亏损会被交易所收走吗?
开仓亏损是下单前为不利价差预留的资金,不是一笔额外手续费。限价单用委托价、市价单用假定价格预估;实际成交后的浮亏要用真实成交价和当时的标记价格重算,可能与预估不同。持仓后的浮亏会随标记价格扩大、缩小或转为浮盈。手续费另行扣除;资金费则按结算时的费率正负,可能付出也可能收到。
本文算例里,为什么市价做多比做空多备 1.16 USDT?
按官方页的公式,多空两边都用最新价上浮 0.15% 作为假定价格。本文最新价 64,000、标记价格 63,980,假定价格为 64,096,比标记价格高 116。数量 0.01 BTC 时,多单预估开仓亏损为 1.16 USDT,空单取 0,初始保证金则相同。换一组标记价格就要重新比较,不能把这个多空差额当成固定收费。
逐仓和全仓的开仓成本公式不同吗?
价格、数量和杠杆相同时,按本文公式算出的开仓成本相同。新开仓要比较开仓成本与合约账户的可用余额,不能把已分配给某个逐仓仓位的保证金当成开新仓的全部资金来源。模式主要改变持仓后的担保范围:逐仓按分配给该仓位的保证金核算,全仓仓位共享可用担保资金。开仓余额要求见币安《如何计算合约占用的保证金》(2026-10 核对);担保范围见币安逐仓保证金说明(英文)。两种模式哪个先到强平线,见逐仓和全仓,哪个先爆:同一笔仓位的两组数字。