跳到正文
MOKFEE

锁仓对冲一周要花多少钱,三种锁法各算一遍

同所两边一样大,资金费按公式一付一收,花的是对冲腿手续费和保证金;跨所净付费率差;现货加空单只有空单结算资金费。三种各算 7 天的账。

岑步 发布 约 11 分钟

算账机屏上显示对冲腿名义 24,000、开平手续费 24,以及同所锁仓资金费净额 0
24 USDT 是对冲那条腿按吃单 0.05% 开一次、平一次的手续费

同一个交易所、同一个合约、多空两边一样大,资金费一边付多少,另一边就收多少,锁一周净额是 0。真正花掉的是对冲那条腿开仓、平仓的两次手续费,它另占的一份保证金,还有解锁那一刻成交价和预想价之间的差。

换成两个交易所锁,账就变了:两边各按各的费率结算,互不抵扣,每次净付的是费率差。现货加空单这种锁法,只有空单那一边碰资金费,费率为正时空单在收钱,为负时在付钱。

三种锁法用同一组数。拿一笔 BTC 永续多单来算:0.4 BTC,开在 64,000,标记价格跌到 60,000,浮亏 1,600 USDT,打算在 60,000 锁住,拿 7 天。现货加空单那一列,把这笔多单换成手里的 0.4 BTC 现货。默认每 8 小时结算一次,7 天是 21 次;资金费率按一直是 0.01% 假定,跨所那一列欧易的空单按 0.005%。

锁 7 天的账(USDT,正数 = 付出)同所等量跨所现货加空单
对冲那条腿的名义价值24,00024,00024,000
21 次资金费净额025.2−50.4
对冲腿开仓加平仓手续费(吃单)242424
7 天合计2449.2−26.4

现货加空单那一列的 −50.4 是收进来的钱,只在费率一直为正时成立;费率转负,同一格就成了付出 50.4,合计变成付出 74.4。三种锁法都要给对冲那条腿另备保证金,按 10 倍粗算是 24,000 ÷ 10 = 2,400 USDT。

手续费按普通用户档算,币安和欧易的合约费率页上,这一档都是挂单 0.02%、吃单 0.05%。费率会调,动手那天照页面上的数重算。

想换成自己的仓位大小、锁的天数和两边费率,可以填进锁仓对冲成本计算器,三种锁法并排出数,记法和上表一样,正数是付出去的。它把原仓位那条腿的开平手续费也算了进去,合计会比上表多一截。

同所两边一样大,资金费为什么一付一收?

币安资金费率说明给的算法是:资金费用 = 持仓名义价值 × 资金费率,名义价值 = 标记价格 × 持有数量。欧易的「Perpetual funding fee mechanism」写法相同,只多一步把张数换成币:张数 × 面值 × 乘数 × 标记价格。两个式子里都没有开仓价。

所以锁仓后,多单开在 64,000、空单开在 60,000,不影响资金费。每到结算时刻,两条腿用的是同一个标记价格、同一个数量、同一个费率。费率为正,多单付、空单收;为负,反过来。两条腿在同一个账户里,付出去和收进来的数一样大。

每次结算(费率 0.01%,正数 = 付出)USDT
名义价值 60,000 × 0.424,000
多单付 24,000 × 0.01%2.4
空单收 24,000 × 0.01%−2.4
每次净额0

净额为 0 是拿官方公式推出来的结果,实际记了多少,看账户里的资金费流水。两条腿数量不一样时,抵掉的只有相同的那一截。空单只开 0.3 BTC,每次净付 0.1 × 60,000 × 0.01% = 0.6 USDT,7 天 12.6。

同所锁仓的钱花在手续费上,对冲那条腿一开一平要收两次:

对冲腿手续费(USDT)吃单 0.05%挂单 0.02%
在 60,000 开空 0.4 BTC,名义 24,000124.8
解锁时平空,名义按 24,000 算124.8
合计249.6

挂单能把这一项压到 9.6,可挂单不一定马上成交。价格还在往下走的时候,空单挂在 60,000 等成交,多单每多等一个价位就多亏一截;真着急锁,按吃单那一列估更稳妥。

原来那笔多单早晚要平,它的平仓费不算锁仓多出来的钱。手续费能不能再打折,两家规则不同:币安的 BNB 抵扣规则页写着,用 U 本位钱包里的 BNB 付手续费打 9 折,BNB 不够时改扣 USDT、不打折;欧易的手续费常见问题写着,目前没有用 OKB 抵扣手续费的功能。

保证金那一项要分全仓、逐仓看。全仓下,币安「如何计算 U 本位合约的强平价格」里的全仓强平式把其它合约的保证金和未实现盈亏都算了进去,一条腿亏、另一条腿赚,两边在同一个式子里互相撑着。逐仓下,每条腿只认分给自己的那份保证金,另一条腿赚多少都进不来。

用估算式算一下逐仓的情形。维持保证金率取 0.40%,币安和欧易的 BTC 永续第 1 档都是这个数。原多单 10 倍开在 64,000,强平价约 64,000 ×(1 − 0.1 + 0.40%)= 57,856;新空单 10 倍开在 60,000,强平价约 60,000 ×(1 + 0.1 − 0.40%)= 65,760。两条腿都用逐仓,这把锁只在 57,856 到 65,760 之间管用;价格走出这一段,先碰线的那条腿会被单独强平。

同所锁仓,开第一笔仓之前就要切到对冲模式

币安的持仓模式说明写明:单向持仓模式下,同一合约只能持有一个方向的仓位;对冲模式下可以同时持有多头和空头。入口在右上角的设置图标 →【交易】→【仓位模式】,选【对冲模式】。同一页还写着:有未平仓仓位或挂单时,无法调整仓位模式。

落到这笔仓位上,就是多单已经开着,模式切不过去了。这时在单向模式里下 0.4 BTC 的卖单,结果是把多单平掉,不是锁仓。欧易的「交易常用功能设置教程」把这一点直接写了出来:单向持仓同一时间仅支持一个方向的持仓,进行反向开仓操作就会平仓;双向持仓才允许同时持有多空两个方向,两者不会相互平仓。它的入口在交易页面右上角的【···】→【交易设置】→【交易模式】,仓位模式和账户模式、交易单位在同一处切;切之前同样要先确保没有持仓。想留着同所锁仓这条路,得在开第一笔仓之前就把模式切好。

两个交易所之间锁仓,每次净付的是费率差

这一节按多单开在币安来算:它留着不动,到欧易开 40 张 BTC-USDT 永续空单。一张面值 0.01 BTC,40 张就是 0.4 BTC,名义同样是 24,000。

两家各按自己的费率结算,钱不会在两个账户之间互相抵。每次的净付 = 名义 ×(多单所在交易所的费率 − 空单所在交易所的费率):

每次结算(正数 = 付出)USDT
币安的多单付 24,000 × 0.01%2.4
欧易的空单收 24,000 × 0.005%−1.2
每次净额1.2
21 次合计25.2

再加上对冲腿在欧易的开平手续费 24,7 天是 49.2。两边费率一正一负时更难看:多单这边 +0.01%、空单那边 −0.01%,两边都在付,每次 4.8,7 天 100.8。费率每期都在变,这一期站在哪一种,下一期说不准;更多组合和两所结算时刻的对照,在两所资金费对照那篇。

21 次这个数也要打个问号。两家默认都是每 8 小时一次,可行情极端时,币安可以改成每 4 小时或每小时,欧易可以改成每 4、2 或 1 小时。只要有一边改密了,就得按各自实际经过的结算次数分开算,不能再拿每次净额乘 21。

跨所还有两笔同所没有的账。一是保证金要在两个账户各备一份,空单那边的 2,400 得另外转过去,两个账户之间不能直接互相补。二是两家的标记价格各算各的,名义价值会差一点零头,上表按相等处理。

两条腿放在两个互不相通的账户里,还带来一个同所没有的风险:价格单边走一大段时,亏的那条腿可能先被强平、那份保证金亏光,赚的那条腿还开着,手上就只剩一笔没有对冲的单边仓位。跨所锁之前,把两边各自的强平价都算出来,看哪一边先到。

现货加空单,只有空单那边算资金费

这一种锁的是手里现货的价值。手里有 0.4 BTC 现货,想在 60,000 把它的美元价值锁住,就开 0.4 BTC 的永续空单。传统期货里管这叫套期保值:芝商所(CME Group)期货入门课程的 Understanding the Role of Hedgers 一课,介绍的是套保者怎样用期货抵消现货价格变动的影响。

资金费是永续合约的账,现货不参与。7 天里只有空单那一边结算:

空单 0.4 BTC,名义 24,000(USDT,正数 = 付出)费率 +0.01%费率 −0.01%
每次资金费−2.42.4
21 次合计−50.450.4
空单开平手续费(吃单)2424
7 天合计−26.474.4

锁住的是什么,换个价格一看就清楚。7 天后价格跌到 54,000:现货少了 0.4 × 6,000 = 2,400,空单赚了(60,000 − 54,000)× 0.4 = 2,400,两边相加还是 24,000 USDT 的价值。涨到 63,000 也一样,现货多 1,200,空单亏 1,200。价格怎么走,这 0.4 BTC 都按 60,000 算,剩下的变化只来自资金费和手续费。

现货本来就在手上,这里没算买卖现货的手续费;要是为了锁仓临时去买现货,那一笔也得加进来。

这种锁法的麻烦在保证金放在两个地方。空单用的是逐仓,只认分给它的那份保证金,现货涨多少都不进它的强平式。价格涨到 65,760 左右,也就是涨 9.6%,10 倍逐仓的空单就到了强平线;这时现货多出来的 0.4 × 5,760 = 2,304 USDT 还躺在现货账户里,空单那 2,400 保证金已经赔进去了。想让它扛得住更大的涨幅,就给空单降杠杆、多放保证金,代价是多占 USDT。

锁仓和直接止损,哪个亏得少

回到那笔 64,000 的多单。锁仓之后,两条腿合起来算,不管价格去哪,浮亏都停在 1,600。它没有变小,只是不再变大。

把「现在止损」和「锁 7 天再两边一起平」放在一起,7 天后的价格按还在 60,000 附近算:

两种做法(USDT,正数 = 付出)在 60,000 直接平多同所锁 7 天后两边一起平
已经亏掉的1,6001,600
多单平仓手续费 24,000 × 0.05%1212
对冲腿开平手续费024
7 天资金费净额00
合计1,6121,636

两边按同一个价格一起平,多单在 60,000 之下多亏的,空单正好赚回来;在 60,000 之上多赚的,空单正好亏回去。合计的 1,600 不随平仓价变。锁 7 天比直接平掉多付 24 USDT 手续费,另有 2,400 保证金被占 7 天。

锁仓前先说得出自己在等什么。等一笔钱转进合约账户补保证金,等某个已知时间的公告或数据公布,这类事有明确的终点,锁几天、花多少都能算出来。说不出终点,锁仓就只是把止损往后推:每推一天,2,400 保证金就多占一天,解锁时还得再做一次同样难的决定。那种情况我倾向在 60,000 直接平掉,少付一份对冲腿的手续费,也少占一份保证金。

解锁先平哪条腿:手续费差不了几毛,差别在留下的那条腿

锁是分两笔开的,解也得分两笔平。两笔一起平、先平空单、先平多单,各算一遍。拿 7 天后标记价格在 62,000 来算,这时每条腿的名义是 0.4 × 62,000 = 24,800,吃单平一笔的手续费是 24,800 × 0.05% = 12.4。多单开在 64,000,浮亏(64,000 − 62,000)× 0.4 = 800;空单开在 60,000,浮亏(62,000 − 60,000)× 0.4 = 800。价格落在 60,000 到 64,000 之间时,两条腿都是浮亏,加起来正好是锁住的那 1,600。

在 62,000 解锁(USDT,正数 = 付出)两边一起平先平空单、留多单先平多单、留空单
这一步落袋的亏损1,600800800
这一步的平仓手续费 12.4 × 笔数24.812.412.4
留下的仓位无多 0.4 BTC空 0.4 BTC
留下那条腿的均价—64,00060,000
留下那条腿带着的浮亏0800800
价格每动 1,000,盈亏跟着变0400400
留下那条腿的逐仓强平价(10 倍估算)—57,85665,760
强平价离 62,000—6.68%6.06%

手续费上分不出高下。先平一条腿只是把另一笔 12 块多的平仓费往后挪,早晚要付。强平价那两格是前面逐仓估算式的结果,57,856 和 65,760,离 62,000 分别是(62,000 − 57,856)÷ 62,000 = 6.68% 和(65,760 − 62,000)÷ 62,000 = 6.06%。锁着的时候这两条线只是那把锁管用的范围;一解开,留下那条腿的线就成了真会碰到的强平线,而且这条腿一开始就带着 800 浮亏。

先平一条腿,等于在 62,000 重新押了一次方向。把「先平空单、留多单」往后推,看多单最后平在哪:

先平空单之后,多单最后平在(USDT,正数 = 付出)64,00062,00060,000
空单已经落袋的亏损800800800
多单平仓亏损(64,000 − 平仓价)× 0.408001,600
两笔平仓手续费25.224.824.4
合计825.21,624.82,424.4

两笔平仓手续费里,空单那笔固定是 12.4,多单那笔按平仓价算:0.4 × 64,000 × 0.05% = 12.8,0.4 × 60,000 × 0.05% = 12。中间那一列就是两边一起平的结果。往上走 2,000 少亏 800,往下走 2,000 多亏 800,锁仓攒下的「不再变大」到这一步就没有了。先平多单、留空单,是把这张表左右对调。两条腿前后脚平,中间价格动了多少,也照这个算法多亏或少亏:隔了 100 个价位,就是 0.4 × 100 = 40 USDT。

全仓账户里账要换一种算法。锁着的时候两条腿在同一条强平式里互相撑着;平掉一条,它的亏损从钱包余额里扣掉,留下那条腿由变薄了的余额单独扛。拿钱包余额 7,000、账户里只有这两条腿来算,手续费先不计:

全仓,在 62,000 先平一条腿先平空单、留多单先平多单、留空单
平掉那条腿落袋的亏损800800
钱包余额 7,000 − 8006,2006,200
余额 ÷ 数量 6,200 ÷ 0.415,50015,500
强平价算式(64,000 − 15,500)÷ 0.996(60,000 + 15,500)÷ 1.004
留下那条腿的强平价48,694.7875,199.20
强平价离 62,00021.46%21.29%

多单用的是「钱包余额 + 数量 ×(强平价 − 均价)= 维持保证金率 × 强平价 × 数量」,空单是把方向对调的对称式,都按第 1 档、账户里没有别的仓位算。全仓留下的那条腿离强平远得多,可它押着的是账户里全部 6,200,逐仓那一种最多赔掉分给那条腿的保证金。

现货加空单的解法只有两种顺序。先平空单,留下的是没有杠杆的现货,没有强平价,只是重新跟着价格涨跌。先卖现货,留下的是一笔裸空单,10 倍逐仓的强平价还是 65,760 左右;价格真涨到那里,这份保证金可能全部亏光。跨所锁仓的两笔平仓单下在两个地方,没法做到同一刻成交,前后脚之间的价差要算进成本。

顺序上我的取舍是这样:等的那件事有了结果、方向已经想清楚,就先平看错的那条腿,并且把留下那条腿的强平价和保证金当成一笔新开的仓重新算一遍;方向没想清楚,就两边一起平,认下 1,600 和几十块手续费。

写这篇的人

岑步

岑步是笔名。这里的每个数字都写明按什么公式、用哪个月读到的交易所公开规则算出来,读者可以拿同样的输入自己复算;算不准的地方直接写出来。 数字怎么算出来

放在这几个抽屉里: 锁仓与对冲的花费 资金费

配套计算器 锁仓几天要花多少钱:同所、跨所对冲成本计算器 分同所等量锁仓、跨所锁仓、现货加空单三种情况,按手续费、资金费和保证金占用算出锁仓 1 天、7 天、30 天的成本。