BigShort Docs

ファンディング Funding

貸出利用率、総積立、およびQ128時間積立に基づく日々の資金調達曲線の平方で、正確なラウンド例を示します。

Funding は、Short ポジションが貸出能力を継続的に使用するために支払う BNB 費用です。ロングとショート間で移転する無期限先物のファンディングでも、リアルタイムの Token 市場価格から計算する借入利息でもありません。現バージョンでは Short ポジションが支払い、独立した fundingNative 収益帳簿に入ります。

この仕組みは二層です。Token の貸出利用率が料率を決め、BNB のグロス想定元本持分が各ポジションの支払額を決めます。

貸出利用率と Funding 日率の二次関係

このグラフは、現在の BSC グループパラメータを使用しています。 毎日の利率曲線は、投資の回収ではありません。

1. パラメータと単位

記号 / パラメータ値と単位用途
L0L_01,997,367,528 Token現在のBSCグループの初期貸出先
LbadL_{\mathrm{bad}}Token、18 桁精度確認済みの未回収貸出元本
BtotalB_{\mathrm{total}}Token、18 桁精度現在の全アクティブポジションの借入数量
UUbps,10,000 = 100%切り捨て量子化済みの在庫利用率
始点 / 終点1,000 / 9,000 bps10% / 90% 利用率
AA99,990 ppm / 日曲線の増分係数
bb10 ppm / 日最低日次手数料率
HiH_iBNB 最小単位、18 桁ポジションの shortShares。グロス想定金額に基づく
QQ21282^{128}Funding 固定小数点指数の精度

1,000,000 ppm = 100%、一日は 86,400 秒で計算します。 ether で表現した BNB パラメータは、Solidity の 101810^{18} スケーリング構文にすぎません。

2. 利用率と二次曲線

まず確認済み不良債務を除きます。

Leffective=L0−LbadL_{\mathrm{effective}}=L_0-L_{\mathrm{bad}}
U=⌊Btotal⋅10,000Leffective⌋U=\left\lfloor\frac{B_{\mathrm{total}}\cdot10{,}000}{L_{\mathrm{effective}}}\right\rfloor

有効元本がゼロなら、コードは直接 U=10,000U=10{,}000とします。Engine への Token の直接寄付は L0L_0を増やさないため、帳簿を迂回して利用率を下げることはできません。

ゆえに 1,000<U<9,0001{,}000<U<9{,}000 の場合、正規化変数も整数で切り捨てます:

x=⌊(U−1,000)⋅10,0008,000⌋x=\left\lfloor\frac{(U-1{,}000)\cdot10{,}000}{8{,}000}\right\rfloor

日次手数料率 rdr_d の単位は ppm / 日です。

rd(U)={10,U≤1,00010+⌊99,990⋅x210,0002⌋,1,000<U<9,000100,000,U≥9,000r_d(U)=\begin{cases} 10,&U\le1{,}000\\ 10+\left\lfloor\dfrac{99{,}990\cdot x^2}{10{,}000^2}\right\rfloor,&1{,}000<U<9{,}000\\ 100{,}000,&U\ge9{,}000 \end{cases}

現実装は二次曲線(平方項)であり、三次曲線ではありません。利用率が 10% 以下なら日次手数料率は 0.001%、90% 到達後は 10% / 日です。高利用率では資金コストが大きく上がるため、最低料率を固定の課金基準として扱うことはできません。

利用率 xx 整数日次料率 日次百分率への換算 1 BNB 持分の一日費用概算
≤10% 該当なし 10 ppm 0.001% 0.000010 BNB
30% 2,500 6,259 ppm 0.6259% 0.006259 BNB
50% 5,000 25,007 ppm 2.5007% 0.025007 BNB
70% 7,500 56,254 ppm 5.6254% 0.056254 BNB
≥90% 該当なし 100,000 ppm 10% 0.100000 BNB

表の費用は読みやすい十進数の概算です。実際のオンチェーン値は、さらに以下の Q128 整数計算を経ます。

3. 秒単位で累積し、持分に応じて配分

前回更新から Δt\Delta t 秒が経過し、全体の Funding 指数を IIとすると、料率が一定の各区間の増加分は:

ΔI=⌊rd⋅Δt⋅Q1,000,000⋅86,400⌋\Delta I=\left\lfloor\frac{r_d\cdot\Delta t\cdot Q}{1{,}000{,}000\cdot86{,}400}\right\rfloor
Inew=Iold+ΔII_{\mathrm{new}}=I_{\mathrm{old}}+\Delta I

ポジションの ii は前回決済スナップショット IiI_iを記録し、未払額は:

Fi=⌊Hi⋅(I−Ii)Q⌋F_i=\left\lfloor\frac{H_i\cdot(I-I_i)}{Q}\right\rfloor

両段階とも切り捨てです。複数チェックポイントをまたぐ場合は ΔI\Delta I を個別に計算してから合計し、無条件に一つの連続浮動小数点式へ置き換えるべきではありません。ごく小さな整数丸め差は、一回分の費用を丸ごと過大・過少請求したことを意味しません。

過去の Funding が瞬間的な市場価格で再評価されない理由

  • 日率は Token 在庫帳簿から決まり、その時点の Pair 価格には直接依存しません。
  • ポジション持分はグロス想定金額に基づき、借入 Token 数量 × チェックポイントの現物価格ではありません。
  • 建玉、増し玉、一部決済、清算は借入数量を変える前に指数を更新し、過去の区間を旧利用率で確定します。
  • 不良債務の回復はアクティブな Token 借入がない場合のみ許可し、回復後の低い利用率を過去区間へ遡及適用しないようにします。

市場取引は将来の新規ポジションの Token 借入数量を変え、将来の利用率へ間接的に影響する可能性があります。「瞬間的な市場価格で課金しない」ことは、将来の費用が市場行動にまったく影響されないという意味ではありません。

4. 決済時の引き落とし

現在のポジション資金を MM:

Fpaid=min⁡(Fi,M),Funpaid=Fi−FpaidF_{\mathrm{paid}}=\min(F_i,M),\qquad F_{\mathrm{unpaid}}=F_i-F_{\mathrm{paid}}

支払済み部分は marginNative から fundingNativeへ移り、 collateralNative の過去の担保帳簿値は減少しません。支払義務があっても未払いの部分が、根拠なく実現済みプロトコル収益になることはありません。

操作 Funding 処理
新規建玉 全体指数を更新。新持分は現在のスナップショットから課金を開始し、建玉前区間は負担しない
増し玉 まず旧持分で過去区間を決済し、新持分を追加。その後は合算持分に課金
担保追加 先に資金を加え、全持分の費用を決済。新資金で過去の未払額を補填可能
完全閉鎖 全持分を先に決済し、それぞれの安全性検証を行う
一部決済 閉じる持分だけ決済。残存持分は旧スナップショットと対応する過去未払額を保持
清算 Funding を優先決済。完済できない場合は Funding 支払不能専用分岐へ

決済と清算には新規建て・増し建て後のブロックロックが適用されます。直近の新規建て・増し建てがブロック N なら、部分・全決済と単独・一括清算は最速 N+1 です。担保追加と部分決済はロックをリセットしません。現在のバージョンでは存続中のポジションから担保を引き出せず、部分決済でも返金しません。

清算を除き、今回決済すべき Funding 部分に未払額が残る場合、操作はリバートします。一部決済後、残存持分の過去 Funding は未決済のまま残り得ます。持分を減らす一部決済によって、過去の Funding を消すことはできません。

5位 現在の BSC グループパラメータを使用する正確な例

独立した Funding の計算例です。総名目持分を 1 BNB、貸出済み量を 132,259,540.801155254764734088 Token、有効元本を 1,997,367,528 Token とし、他のポジションと貸倒れはないものとします。

U=⌊132,259,540.801155254764734088⋅10,0001,997,367,528⌋=662U=\left\lfloor\frac{132{,}259{,}540.801155254764734088\cdot10{,}000}{1{,}997{,}367{,}528}\right\rfloor=662

量子化利用率は6.62%で、10%以下なので、日々の割合は10ppmです。 株 H=1018H=10^{18} 1 BNB は、Gross Notional に相当します。 この利用を 1 日間維持し、日曜日に 1 回だけ更新してください:

ΔI=⌊10⋅21281,000,000⌋\Delta I=\left\lfloor\frac{10\cdot2^{128}}{1{,}000{,}000}\right\rfloor
F=⌊1018⋅ΔI2128⌋=9,999,999,999,999F=\left\lfloor\frac{10^{18}\cdot\Delta I}{2^{128}}\right\rfloor =9{,}999{,}999{,}999{,}999

つまり 0.000009999999999999 BNB1 wei は 0.00001 BNB のデシマル理想の下です。 安定した50%の利用率を持つ別々のシナリオでは、同じ1 BNB株の正確な1日のコストは 0.025006999999999999 BNBた これらは資金調達コストの例であり、固定回収、ポジションサイズ制限、または利率約束ではありません。

増し玉前後の区間分割

ポジションが最初に H1H_1 を二日間保有し、その後 ΔH\Delta Hを追加した場合、過去二日は H1H_1 で決済し、増し玉後に初めて H1+ΔHH_1+\Delta Hを使用します。増し玉で日率が低い階層から高い階層へ跳ね上がっても、新料率を過去二日へ遡及適用することはできません。

BigShort Protocol · BSC発行 · 取引 · 空売り