BigShort Docs

資金費 Funding

基於借貸利用率的二次日費率曲線、毛名義金額計費與 Q128 時間積分,含精確舍入算例。

Funding 是 Short 部位持續占用借貸能力所支付的 USDC 費用。它不是在多空雙方之間轉移的永續合約資金費,也不是按即時 Token 市價計算的借款利息。目前版本由 Short 部位支付,進入獨立 fundingNative 收入帳本。

該機制分兩層:Token 借貸利用率決定費率,USDC 毛名目份額決定各部位支付金額。

借貸利用率與 Funding 日率的二次關係

圖示採用 FULL 參數。日率曲線不是投資報酬率。

1. 參數與單位

符號 / 參數數值與單位用途
L0199,861,071 TokenFULL 初始借貸本金
LbadToken,18 位精度已確認未回收借貸本金
BtotalToken,18 位精度目前所有活動部位借款量
Ubps,10,000 = 100%已向下量化的庫存利用率
起點 / 終點1,000 / 9,000 bps10% / 90% 利用率
A99,990 ppm / 日曲線增量係數
b10 ppm / 日最低日費率
HiUSDC 最小單位,18 位部位 shortShares,以毛名目金額計
Q2128Funding 定點指數精度

1,000,000 ppm = 100%,一天按 86,400 秒計。以 ether 表達的 USDC 參數只是 Solidity 的 1018 縮放語法。

2. 利用率與二次曲線

先剔除已確認壞帳:

Leffective=L0−LbadU=⌊Btotal⋅10,000Leffective⌋

若有效本金為零,程式碼直接令 U=10,000。直接給 Engine 捐贈 Token 不增加 L0,不能繞過帳本降低利用率。

在 1,000<U<9,000 時,正規化變數同樣按整數向下捨入:

x=⌊(U−1,000)⋅10,0008,000⌋

日費率 rd 的單位為 ppm / 日:

rd(U)={10,U≤1,00010+⌊99,990⋅x210,0002⌋,1,000<U<9,000100,000,U≥9,000

目前實作是二次曲線(平方項),不是三次曲線。利用率在 10% 以下時日費率為 0.001%;達到 90% 後為 10% / 日。高利用率下的資金成本會顯著上升,不能把最低費率當作固定收費標準。

利用率x整數日費率換算日百分比1,000 USDC 份額一天費用約值
≤10%不適用10 ppm0.001%0.010 USDC
30%2,5006,259 ppm0.6259%6.259 USDC
50%5,00025,007 ppm2.5007%25.007 USDC
70%7,50056,254 ppm5.6254%56.254 USDC
≥90%不適用100,000 ppm10%100.000 USDC

表中費用為便於閱讀的十進位約值;鏈上實際值還要經過以下 Q128 整數計算。

3. 按秒累計、按份額分攤

設距上次更新經過 Δt 秒,全域 Funding 指數為 I,每一段費率固定的區間增加:

ΔI=⌊rd⋅Δt⋅Q1,000,000⋅86,400⌋Inew=Iold+ΔI

部位 i 記錄其上次結算快照 Ii,未付金額為:

Fi=⌊Hi⋅(I−Ii)Q⌋

兩步均向下捨入。跨多個檢查點應分別計算 ΔI 再相加,不應無條件用一個連續浮點公式替代;極小的整數捨入差異不代表多收或少收了一筆完整費用。

為什麼不會隨瞬時市價重估舊 Funding?

  • 日費率來自 Token 庫存帳本,不直接依賴 Pair 當時價格。
  • 部位份額來自毛名目金額,不是借入 Token 數量 × 檢查點現貨價。
  • 開倉、加倉、部分平倉和清算在改變借款量前先更新指數,將舊時間段按舊利用率鎖定。
  • 壞帳恢復僅允許在沒有活動 Token 借款時進行,避免把恢復後的較低利用率追溯套用於舊區間。

市場交易仍可能改變將來新倉的借入 Token 數量,從而間接影響未來利用率;「不按瞬時市價計費」並不等於未來費用完全不受市場行為影響。

4. 結算如何扣款

設目前部位資金為 M:

Fpaid=min(Fi,M),Funpaid=Fi−Fpaid

已付部分從 marginNative 轉入 fundingNative,不減少 collateralNative 的歷史抵押帳面值;應付但未付部分不會憑空成為已實現協議收入。

操作Funding 處理
新開倉更新全域指數,新份額從目前快照開始計費,不承擔開倉前區間
加倉先按舊份額結清舊區間;再加入新份額,此後按合併份額計費
追加抵押先加入資金,再結清所有份額的費用,允許新資金補足舊欠費
全部平倉先結清全部份額,再進行各自的安全檢查
部分平倉只結算關閉份額;剩餘份額保留舊快照和對應歷史欠費
清算優先結清 Funding;付不清時進入 Funding 資不抵債專用分支

除清算外,若本次要求結算的那部分 Funding 仍有未支付額,操作回退;部分平倉後,剩餘份額的歷史 Funding 可以繼續待結算。部分平倉不能透過縮小份額抹去歷史 Funding。

5. FULL 參數精確算例

延續 Short 開倉例:借出 18,390,419.136168399731870069 Token,有效本金為 199,861,071 Token,且沒有其他部位和壞帳。

U=⌊18,390,419.136168399731870069⋅10,000199,861,071⌋=920

利用率經 bps 量化為 9.20%,低於 10%,所以 rd=10。部位 Funding 份額為 H=1,000×1018,保持該利用率一天,僅在一天末更新一次:

ΔI=⌊10⋅21281,000,000⌋F=⌊1,000×1018⋅ΔI2128⌋=9,999,999,999,999,999

即 0.009999999999999999 USDC,比十進位理想值 0.01 USDC 少一個 18 位最小單位;這是指數與最終乘法各自向下捨入的結果。

若其他部位使利用率穩定為 50%,同樣 1,000 USDC 毛名目份額一天的精確費用為 25.006999999999999999 USDC。這是同一 FULL 曲線的情境假設,不是把初始庫存縮小後的測試參數。

加倉前後分段

若一個部位先持有 H1 兩天,再增加 ΔH,則舊兩天使用 H1 結算;加倉之後才使用 H1+ΔH。即使加倉使日費率從低檔跳到高檔,也不能把新費率回溯計入舊兩天。

倉位操作限制

只支援追加抵押,不提供存續倉位單獨提取保證金的入口。部分平倉也不會向錢包返還資金。

最新一次成功開倉或加倉發生在區塊 N 時,最早可在 N+1 區塊部分或全部平倉,仍須通過其他執行檢查。

BigShort Protocol · ARC發行 · 交易 · 做空