假设你在合约市场买入了 0.05 BTCUSDT 永续合约。
成交以后,现货账户里不会多出 0.05 BTC,你也没有约定在某一天收取这些比特币。账户里真正增加的,是一笔以 BTC 价格为标的、以 USDT 计算盈亏的多头头寸。
这看起来只是一个名词区别,却是理解永续合约的起点:
你交易的不是比特币本身,而是一份跟踪比特币价格的衍生品合约。
本文以 Binance USDⓈ-M 中的 BTCUSDT 永续合约为主要例子。不同交易所、不同交易对的资金费率周期、风险限额和强平规则可能不同,实际系统应始终以交易所当前规则和接口返回值为准。
先读懂 BTCUSDT 这个名字
在 BTCUSDT 永续合约中:
BTC是基础资产,也是合约跟踪的标的;USDT是报价资产;- 保证金和最终盈亏通常也以
USDT计算; PERPETUAL表示合约没有固定到期日。
这种合约通常被称为 USDT 本位或线性合约,因为价格上涨相同的绝对幅度时,同样数量的多头头寸获得相同数量的 USDT 盈亏。
“以 USDT 结算”不等于“没有货币风险”。USDT 不是银行账户中的美元,交易者仍然承担稳定币、交易平台和托管相关风险。这里只讨论合约机制,不讨论这些风险的定价。
仓位首先是一笔名义价值
假设 BTCUSDT 的成交价格为 100,000 USDT,你买入 0.05 BTC:
名义价值 = 合约数量 × 成交价格
= 0.05 × 100,000
= 5,000 USDT
这笔交易在市场中的实际暴露是 5,000 USDT。如果使用 5 倍杠杆,忽略费用和其他限制,开仓所需的初始保证金大约是:
初始保证金 ≈ 名义价值 ÷ 杠杆倍数
= 5,000 ÷ 5
= 1,000 USDT
这里最容易产生一个误解:杠杆本身并不会改变固定仓位的绝对盈亏。仓位数量仍是 0.05 BTC,价格每变化 1,000 USDT,多头的未实现盈亏约变化:
多头盈亏 = 合约数量 ×(当前价格 - 开仓价格)
= 0.05 × 1,000
= 50 USDT
改变杠杆倍数,主要改变的是建立相同名义仓位需要占用多少初始保证金。保证金越少,相同的价格波动相对于保证金就越大,可承受的反向波动空间也通常越小。
因此,真正决定市场风险暴露的是仓位名义价值,而不是界面上单独显示的“5x”或“20x”。
为什么没有到期日,价格仍会靠近现货
传统期货有交割日期。随着到期日临近,期货价格会受到交割机制约束并趋近现货价格。
永续合约没有到期日,也不会自然走向某次交割。为了让合约价格不要长期偏离现货市场,交易所引入了资金费率机制。
当永续合约相对现货偏贵时,资金费率通常为正,多头在资金结算时向空头支付费用;当永续合约相对现货偏低时,资金费率可能为负,空头向多头支付费用。这个现金流会吸引套利和反向头寸,从而给永续价格带来靠近现货价格的动力。
资金费率不是固定利率,也不应默认永远每八小时结算一次。交易所可以针对不同合约调整费率上限、下限和结算间隔。Binance 当前的 USDⓈ-M API 分别提供资金费率历史与资金费率配置,程序应该读取这些数据,而不是把周期写死。
一个合约为什么同时有三种价格
打开永续合约行情时,经常会看到成交价格、指数价格和标记价格。它们回答的是三个不同问题。
成交价格:这个合约刚才在哪里成交
最新成交价来自永续合约自己的订单簿。它是最近一笔买卖撮合的价格,也是 K 线和成交记录最直观的数据来源。
但单个市场的最新成交可能在短时间内被大额订单推离其他市场。如果直接用它触发强平,局部流动性冲击就可能造成不必要的连锁清算。
指数价格:外部现货市场大致在哪里
指数价格通常由多个现货市场的价格组合而成,目的是得到一个更稳定的标的参考价格。成分市场、权重和异常价格处理方式由交易所定义。
指数价格并不是你能够直接成交的价格。它更像一把尺子,用来判断永续合约相对外部现货市场是溢价还是折价。
标记价格:风险系统认为仓位现在值多少
标记价格一般以指数价格为基础,并结合永续合约的基差等因素计算。Binance 的标记价格接口同时暴露标记价格、指数价格、资金费率和下一次资金结算时间等字段。
在 Binance USDⓈ-M 合约中,标记价格用于风险计算和强平判断。它不保证等于最新成交价,也不是一个可以直接下单成交的价格。
这意味着一种看似奇怪但完全可能发生的情况:最新成交价已经触碰某个位置,仓位却没有被强平;或者订单没有在标记价格成交,但账户风险却因为标记价格变化而上升。
保证金不是最大亏损,强平价也不是止损价
初始保证金让你建立仓位,维持保证金则决定仓位至少需要保留多少权益。随着仓位名义价值增加,交易所通常会使用不同的风险档位和维持保证金率。
当用于支持仓位的保证金余额不足以满足维持保证金要求时,强平流程可能被触发。这个判断涉及标记价格、仓位方向、名义价值、维持保证金率、账户余额和其他费用,不能简单理解为“价格下跌了 1 ÷ 杠杆倍数 就一定强平”。
保证金模式还会改变风险边界:
- 逐仓模式:分配给该仓位的保证金相对独立,其他可用余额不会自动共同承担这笔仓位的亏损;
- 全仓模式:账户中的可用保证金可以共同支持全仓仓位,一个仓位的亏损可能消耗原本用于其他仓位的缓冲。
交易界面展示的强平价格只是基于当前仓位和账户状态计算的估计值。追加保证金、开立其他仓位、资金费用、风险档位变化和账户余额变化,都可能让它移动。强平还是一套风险处置流程,不等同于一张严格按照某个价格成交的普通止损单。
盈亏不只有价格变化
一笔永续合约交易至少存在三层成本:
第一层是交易手续费。它通常按照成交名义价值计算,开仓和平仓都会发生,Maker 与 Taker 费率也可能不同。
第二层是资金费用。只有在持仓跨过资金结算时点时才会产生,其方向和金额取决于当期资金费率与仓位名义价值。资金费率为正并不意味着做空必然赚钱,因为价格变化仍可能远大于收到的资金费用。
第三层是滑点和市场冲击。回测中的某个价格不代表真实订单一定能在那里完成。仓位越大、订单簿越薄、下单越急,实际成交均价偏离预期价格的可能性越高。
因此,一笔仓位的实际结果更接近:
净盈亏 = 价格盈亏 - 交易手续费 ± 资金费用 - 滑点与冲击
只计算开仓价与平仓价之差,会系统性高估策略表现。
从量化系统的视角看一张持仓
对手工交易者来说,理解这些概念是为了不误读交易界面。对量化系统来说,它们会变成必须持续维护的状态。
系统需要知道合约是否仍处于交易状态,价格和数量允许多少精度,最小下单量是多少;需要区分成交价、指数价格和标记价格;需要读取资金费率及下一次结算时间;还需要维护仓位、保证金模式、杠杆档位、余额和未完成订单。
Binance 的 Exchange Information 会返回合约类型、基础资产、报价资产、保证金资产和交易过滤器等元数据。生产系统不应该依靠人工记忆这些规则,更不应该假设它们永远不会变化。
在讨论任何永续合约策略之前,至少要能清楚回答下面几个问题:
- 我持有的究竟是资产,还是衍生品头寸?
- 我的真实名义风险敞口是多少?
- 哪个价格用于成交,哪个价格用于风险判断?
- 下一笔资金费用何时产生,由谁支付给谁?
- 当前仓位由哪些保证金支持,什么条件会触发强平?
- 价格盈亏之外,还有哪些成本正在累积?
这些不是交易界面上的附属字段。它们共同定义了 USDT 永续合约到底是什么。
本文用于介绍合约机制,不构成投资建议。永续合约具有杠杆和强制平仓风险,交易规则也可能随平台、地区、账户模式和合约而变化。