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発行 · 取引 · 空売り