合约收益率显示 +50%,账户到底多了多少
合约仓位上显示的回报率(也就是常说的合约收益率)= 未实现盈亏 ÷ 这一单的保证金,分母不是账户余额。所以同一笔盈亏,杠杆开得越高,回报率越大;想知道账户多了多少,要用盈亏除以合约账户里的钱另算。
假设合约账户里有 1,000 USDT,用 20 倍杠杆在 60,000 开了 0.01 BTC 的 BTCUSDT 多单,价格涨到 61,500。仓位那一栏的回报率会显示四五十个百分点,未实现盈亏是 15 USDT。15 USDT 放回 1,000 USDT 的账户里,只是 1.5%。这一篇把这几个数各自从哪来、分母是谁、手续费从哪一步扣进去,逐个算一遍。
未实现盈亏怎么算:数量乘以价差
U 本位合约的盈亏按币的数量算,跟杠杆无关。币安帮助中心「如何计算合约盈亏」一页给的式子是:
未实现盈亏 = 合约规模 × 仓位绝对值 × 订单方向 × (标记价格 − 开仓价格)
订单方向做多取 1,做空取 −1。BTCUSDT 一个单位就是 1 BTC,所以开头那一单是 0.01 ×(61,500 − 60,000)= 15 USDT。做空同样的 0.01 BTC、价格同样涨到 61,500,就是 −15 USDT。
有些教程会在这条式子后面再乘一个杠杆倍数,那是把杠杆算了两遍:杠杆已经体现在「用 30 USDT 保证金开出 600 USDT 的仓位」这件事上了,数量定下来以后,盈亏只看数量和价差。
回报率的分母是保证金,不是账户余额
同一页给回报率的定义是「未实现盈亏 ÷ 开仓保证金」,开仓保证金 = 仓位价值 × IMR,IMR 是初始保证金率,等于 1 ÷ 杠杆。开头那一单仓位价值 600 USDT,20 倍对应 30 USDT 保证金:
回报率 ≈ 15 ÷ 30 = 50%
分母只有那 30 USDT。账户里另外 970 USDT 不在这个比例里,所以账户实际增加的比例要另算:
账户收益率 = 盈亏 ÷ 合约账户的钱 = 15 ÷ 1,000 = 1.5%
两个数都没算错,回答的是两个问题:回报率说的是「押上去的那份保证金翻了多少」,账户收益率说的是「你的钱多了多少」。看晒单截图、回顾自己的交易,问的通常是后一个。
按标记价格还是最新价:同一单可能显示 48.8%
仓位栏的【盈亏(回报率)】可以点开,选计价用的价格。按上面那页的 U 本位公式,选标记价格时分子用标记价格,选最新价时分子用最新价;分母两种情况写的都是「合约规模 × 标记价格 × IMR」,也就是按当前标记价格重算出来的保证金,不是开仓那一刻的 30 USDT。
把开头那一单代进去,标记价格 61,500 时:
分母 = 0.01 × 61,500 ÷ 20 = 30.75 USDT;回报率 = 15 ÷ 30.75 ≈ 48.8%
所以同一单在面板上看到 48.8% 而不是整 50%,可能就是分母跟着价格动了,未必是费用扣掉的。价格涨得越多,这个差越大:涨 10% 时,按开仓保证金算是 200%,按这条式子算是 60 ÷ 33 ≈ 181.8%。
这页文字对价格基准的说法前后不完全一致,一处写「按标记价格或开仓价格」,公式部分写的是标记价格和最新价两种。自己核对时,先看面板上实际给了哪几个选项,再选对应的式子算。
换个杠杆,盈亏不变,回报率跟着变
还是 0.01 BTC、60,000 开多、涨到 61,500,只改杠杆。为了让每一行能直接对照,下表回报率按开仓保证金算(不用上一节的标记价格分母),不计手续费:
| 杠杆 | 开仓保证金(USDT) | 未实现盈亏(USDT) | 回报率 | 1,000 USDT 账户的变化 |
|---|---|---|---|---|
| 2 倍 | 300 | 15 | 5% | 1.5% |
| 5 倍 | 120 | 15 | 12.5% | 1.5% |
| 20 倍 | 30 | 15 | 50% | 1.5% |
| 50 倍 | 12 | 15 | 125% | 1.5% |
只有回报率那一列在动。拖杠杆滑块改的是保证金占用,从而改了分母;赚的钱、账户的变化一分没变。反过来也成立:倍数开高,回报率看起来漂亮,强平价却离开仓价更近,这部分代价在杠杆开几倍合适里按同一笔仓位算过。
平仓后的回报率:手续费和资金费扣进去
帮助中心那页还写了一条更新过的回报率算法,把费用也算进去:
回报率 =(已实现盈亏 + 总交易手续费 + 资金费用 + 清算费)÷(开仓价格 × 开仓数量 ÷ 杠杆)
按式子的意思,几项费用是带符号加进去的,付出去的是负数,收到的资金费是正数;分母换回了开仓价格,不再跟着标记价格走。
开头那一单在 61,500 平掉。开平都按普通用户 USDT 合约吃单 0.05% 算,中间假设赶上一次资金费结算,费率 0.01%、多单付费,结算时仓位价值按 610 USDT 估:
- 开仓手续费:600 × 0.05% = 0.30 USDT
- 平仓手续费:615 × 0.05% = 0.3075 USDT
- 资金费:610 × 0.01% = 0.061 USDT
- 扣完:15 − 0.30 − 0.3075 − 0.061 ≈ 14.33 USDT
回报率 = 14.33 ÷ 30 ≈ 47.8%
从 50% 到 47.8%,少掉的 2.2 个百分点里,大头是两笔手续费:0.6075 ÷ 30 ≈ 2.0 个百分点。可以记一个粗略的换算:开平各吃一次单,回报率先少约 2 × 费率 × 杠杆。0.05% 的费率下,5 倍少约 0.5 个百分点,20 倍少约 2 个,50 倍少约 5 个。
手续费按仓位价值收,0.6075 USDT 这个金额不管开几倍都一样;杠杆只是把它在回报率里放大了。想把自己的费率档位和一年的成交次数代进去,用手续费成本计算器;资金费按持仓时间折成多少,用资金费率年化换算器。
几笔仓位的回报率,不能直接平均
假设同时开着两单。A 是上面那张 20 倍多单,保证金 30、赚 15,回报率 50%。B 是另一张 2 倍的仓位,保证金 300、亏 30,回报率 −10%。
两个回报率取平均是 +20%,可加起来的盈亏是 15 − 30 = −15 USDT,账户在亏。要看几笔仓位合起来怎样,把 USDT 盈亏相加,再除以合起来的保证金(−15 ÷ 330 ≈ −4.5%)或者除以账户余额(−15 ÷ 1,000 = −1.5%)。回报率是按各自的分母算的,分母差了十倍,就不能放在一起平均。
回报率会不会跌过 −100%
逐仓时,这一单最多亏掉它自己的保证金,强平在那之前就发生。20 倍逐仓、按第一档维持保证金率 0.40%、不计手续费,理论强平距离约(1 ÷ 20 − 0.004)÷(1 − 0.004)≈ 4.62%,那一刻回报率大约是 −4.62% × 20 ≈ −92%。也就是说,面板上的回报率还没到 −100%,仓位已经被强平了;强平价的推导在合约爆仓价是怎么算出来的,维持保证金率按合约和档位不同,查合约参数速查。
全仓不一样。全仓用整个合约账户的余额撑这一单,分母却还是那 30 USDT 的开仓保证金。开头那单如果是全仓,价格跌 10%,亏 60 USDT,回报率显示 −200%,账户还剩 940 USDT,离强平还远。看到全仓仓位显示 −200%,要换算成账户亏了多少(这里是 6%),才知道离危险线还有多远;直接盯账户层面的数,看保证金率显示到多少该减仓。
币本位合约:盈亏是币,回报率要先换成美元
币本位合约按「张」下单,BTCUSD 每张 100 美元,盈亏用 BTC 结算。帮助中心给的式子和例子是:
盈亏(BTC)=(1 ÷ 开仓价格 − 1 ÷ 平仓价格)× 以美元计的合约规模
100 张、50,000 开多、55,000 平仓:(1 ÷ 50,000 − 1 ÷ 55,000)× 10,000 ≈ 0.0182 BTC。
回报率的式子是「未实现盈亏 × 价格 ÷(规模绝对值 × 合约乘数 × IMR)」,盈亏是 BTC,要乘一个价格才能和美元计的保证金相除,而这个价格可以选开仓价或标记价格。按 10 倍算,分母是 10,000 × 0.1 = 1,000 美元:乘开仓价 50,000,回报率约 91%;乘 55,000 的标记价格,约 100%。同一单,选哪个价格就差出 9 个百分点。币本位还有一层账:保证金本身就是 BTC,币价涨跌会同时改变保证金折成美元值多少,这一层在合约手续费和现货差多少的币本位一节里讲过。
反过来用:想看到 +100%,价格要走多少
回报率 ÷ 杠杆 ≈ 价格要走的幅度。20 倍想看到 +100%,价格要涨 5%;再加上来回吃单的约 0.1%,要涨 5.1% 左右才是扣费后的 +100%。这时账户的变化是 0.01 BTC × 60,000 × 5% = 30 USDT,也就是 1,000 USDT 账户的 3%。
拿这个换算看别人晒的高回报率,问两个数就够了:那一单盈亏多少 USDT,账户有多少钱。下单之前想清楚一单最多亏多少、该开多大,从按止损倒推仓位那一篇往回算,比从回报率往回推更稳。
常见问题
合约收益率和回报率是一回事吗?
在币安合约的仓位栏里,显示在【盈亏(回报率)】那一格的百分比,就是常说的合约收益率,分母是这一单的保证金。它和「账户收益率」不是一回事:账户收益率要用盈亏除以合约账户里的钱。1,000 USDT 账户里一单赚 15 USDT,回报率可以显示 50%,账户只多了 1.5%。
别人晒的 +300% 回报率,能说明赚了多少吗?
说明不了。回报率只是盈亏除以那一单的保证金,杠杆开得越高,同样的价格涨幅显示的百分比越大。要知道赚了多少,得问两个数:这一单盈亏多少 USDT,账户一共有多少钱。杠杆怎么放大这个百分比,见杠杆开几倍合适。
平仓以后的回报率为什么比持仓时看到的低?
按币安帮助中心更新后的算法,平仓后的回报率把交易手续费、资金费和清算费都算进去了,分母用开仓价格下的保证金。开平各吃一次单,回报率大约先少 2 × 费率 × 杠杆:0.05% 的吃单费率、20 倍杠杆,约少 2 个百分点。持仓时看到的数还可能用了按标记价格重算的分母,两者本来就不是同一条式子。