> ## Documentation Index
> Fetch the complete documentation index at: https://docs.intention.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# 標記價格

> 用於保證金、強制平倉和未實現損益的結算基準：取四個彼此獨立價格的中位數，任何單一來源都推不動。

標記價格是決定你是否被強平的那個數字。不是最新成交價，也不是[指數價格](/zh-Hant/trading/index-price)。

標記價格之所以要獨立造一個構造出來，理由狹窄但重要：強平若由本交易場所的最新成交觸發，那麼任何人只要能在薄簿上打出一筆成交，就能強平別人的部位。標記價格的設計目標是：任何單一來源——包括本交易場所自己的訂單簿——都無法獨自把價格推遠。

<h2 id="four-prices-one-median">
  四個價格，取中位數
</h2>

<div className="dg" data-dg="mark-price-median">
  <div className="dg-c" style={{aspectRatio:"720 / 308"}}>
    <svg className="dg-w" viewBox="0 0 720 308" aria-hidden="true">
      <path className="dg-wire dg-soft" d="M 305.00 37.00 L 348.23 127.23" />

      <path className="dg-head" d="M 351.00 133.00 L 344.27 129.13 L 352.20 125.33 Z" />

      <path className="dg-wire dg-soft" d="M 305.00 101.00 L 345.75 129.35" />

      <path className="dg-head" d="M 351.00 133.00 L 343.23 132.96 L 348.26 125.73 Z" />

      <path className="dg-wire dg-soft" d="M 305.00 165.00 L 345.75 136.65" />

      <path className="dg-head" d="M 351.00 133.00 L 348.26 140.27 L 343.23 133.04 Z" />

      <path className="dg-wire dg-soft" d="M 305.00 229.00 L 348.23 138.77" />

      <path className="dg-head" d="M 351.00 133.00 L 352.20 140.67 L 344.27 136.87 Z" />

      <path className="dg-wire dg--green" d="M 470.00 133.00 L 499.60 133.00" />

      <path className="dg-head dg--green" d="M 506.00 133.00 L 499.60 137.40 L 499.60 128.60 Z" />
    </svg>

    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"3.2468%",width:"41.6667%",height:"17.5325%"}}><span className="dg-t">預言機加平滑基差</span><span className="dg-s">外部現貨，加上本所基差的 150 秒 EMA</span></div>
    <div className="dg-b dg--blue" style={{left:"0.0000%",top:"24.0260%",width:"41.6667%",height:"17.5325%"}}><span className="dg-t">本所自己的訂單簿</span><span className="dg-s">最優買價與最優賣價的中間價</span></div>
    <div className="dg-b dg--yellow" style={{left:"0.0000%",top:"44.8052%",width:"41.6667%",height:"17.5325%"}}><span className="dg-t">預言機加資金費基差</span><span className="dg-s">由資金費率推導</span></div>
    <div className="dg-b dg--green" style={{left:"0.0000%",top:"65.5844%",width:"41.6667%",height:"17.5325%"}}><span className="dg-t">外部永續中間價</span><span className="dg-s">其他場所的永續市場</span></div>
    <div className="dg-b dg--brown dg-round" style={{left:"49.4444%",top:"34.0909%",width:"15.2778%",height:"18.1818%"}}><span className="dg-t">中位數</span></div>
    <div className="dg-b dg--green" style={{left:"70.8333%",top:"34.0909%",width:"29.1667%",height:"18.1818%"}}><span className="dg-t">標記價格</span><span className="dg-s">保證金 · 強平 · 未實現損益</span></div>
    <div className="dg-free dg-mid" style={{left:"0.0000%",top:"88.3117%",width:"100.0000%"}}><div className="dg-n">中位數就是全部的防禦：要推動它，你至少得推動四個刻意造得彼此不像的輸入中的兩個。</div></div>
  </div>
</div>

中位數就是全部的防禦。要推動中位數，你至少得推動四個獨立輸入中的兩個——而這四個輸入刻意造得彼此不像：一個是外部現貨，一個是本所自己的訂單簿，一個由資金費率推導，一個來自外部永續市場。攻擊者就算有能力扭曲其中之一，也什麼都改變不了。

<h3 id="price-1-oracle-plus-a-smoothed-basis">
  價格 1 —— 預言機加平滑基差
</h3>

$$
P_1 = \text{指數價格} + \mathrm{EMA}_{150s}\!\left(\text{本所中間價} - \text{指數價格}\right)
$$

這一項追蹤的是本交易場所相對外部市場，是否持續存在溢價或折價。中間價取最優買價與最優賣價的平均。

安全來自平滑。原始基差會在有人拉寬或擊穿訂單簿的瞬間移動；150 秒的指數移動平均意味著操縱者得把這個扭曲撐上幾分鐘，不是撐一個區塊，而這段期間對所有與之成交的人，都要付出真金白銀。

想複現這套計算的人，有兩個細節要留意。EMA 中的經過時間取自**區塊時間戳記**，不看系統時鐘，各節點才會一致。另外，間隔異常長的時候，很大的經過時間會讓均值直接跳到當前值，而不是慢慢爬過去，這在暫停後恢復時正是正確的行為。

**平滑實際做了什麼。** 設想一個持續在指數之上成交的交易場所，基差從 0 一路走到 5，然後停在那裡：

| 經過時間 | 基差樣本 |    EMA |
| ---: | ---: | -----: |
|   0s |    0 | 0.0000 |
|  20s |    1 | 1.0000 |
|  60s |    2 | 1.7231 |
|  90s |    3 | 2.2319 |
| 120s |    4 | 2.8107 |
| 150s |    5 | 3.4360 |
| 210s |    5 | 4.1189 |
| 300s |    5 | 4.6189 |

持續 5 點的基差撐滿五分鐘，把 EMA 推到 4.62，不是 5。這段落後就是保護：攻擊者把訂單簿撐在遠離指數的位置，得付上好幾分鐘的成本，卻仍然推不動標記價格走完全程；而真實的重新定價會持續下去，因此很快就會完整反映進來，標記價格照樣誠實。

上面每一個數字都由已經公布的公式算出。它可以複現，而公布公式的意義正在於此。

<h3 id="price-2-this-venues-own-book">
  價格 2 —— 本所自己的訂單簿
</h3>

$$
P_2 = \operatorname{median}\!\left(\text{最優買價},\; \text{最優賣價},\; \text{最新成交價}\right)
$$

這是對此地行情最直接的讀數；取中位數而非單一值，讓它擋得住兩種常見的扭曲：單筆異常成交推不動，一時的單邊訂單簿也推不動。

<h3 id="price-3-oracle-plus-funding-basis">
  價格 3 —— 預言機加資金費基差
</h3>

$$
P_3 = \text{指數價格} \times \left(1 + F_{\text{last}} \times t_{\text{next}}\right)
$$

永續合約偏離現貨的方式可以用資金費率來解釋。這個價格不去觀測這層關係，而是用資金費率把它重建出來，因而成為另外兩個「觀測型」價格的獨立校驗。

注意這個式子的形態：隨著資金費結算臨近，這項調整逐漸衰減，在扣費那一刻歸零。這與市場自身表現出的收斂是同一回事。

<h3 id="price-4-external-perpetual-markets">
  價格 4 —— 外部永續市場
</h3>

$$
P_4 = \sum_i w_i \cdot \text{中間價}_i , \qquad w_i = \frac{V_i}{\sum_j V_j}
$$

這一項刻意有別於用現貨構建的指數價格。永續市場自帶基差，也有自己的資金費動態；納進來，標記價格反映的就是正在交易的這個工具本身，不只是它的標的。權重按參考場所的 24 小時成交量分配，納入哪些場所可以設定。

<h2 id="update-timing">
  更新時機
</h2>

標記價格在指數價格更新時更新——大約每三秒一次，且在**同一區塊內、指數之後**。順序很重要：標記價格若比它的指數先算出來，從構造上就註定慢一拍。

EMA 分量每區塊採樣一次，其餘部分按指數的節奏重算。如果指數已有六秒沒更新，標記價格仍會更新，而不是跟著一起變陳舊。

<h2 id="when-inputs-are-missing">
  輸入缺失時
</h2>

這套設計按既定步驟降級，而不是直接失效。

| 有效輸入數  | 行為                                               |
| ------ | ------------------------------------------------ |
| **4**  | 取四個的中位數                                          |
| **3**  | 取剩下三個的中位數                                        |
| **2**  | 引入第五個價格：本所訂單簿中位數的 30 秒 EMA。標記價格取這個價格與其餘仍有效輸入的中位數 |
| **≤1** | 觸發嚴重告警；沿用最後一個有效的標記價格                             |

只剩兩個輸入的情形值得理解。系統沒有退回到單一來源——那恰恰是把中位數本要防住的那份控制權交了出去——而是把自己的訂單簿做 30 秒平滑，製造出第三個輸入。平滑期比正常運行時的 150 秒短，因為降級狀態下反應速度更重要；又夠長，單筆成交仍然左右不了。

<h2 id="cold-start">
  冷啟動
</h2>

市場剛上市時，四個輸入有三個坍縮成指數價格：平滑基差從零開始，資金費基差從零開始，本所訂單簿沒有歷史。這三者的中位數就是指數價格。

因此新上市的市場就按自己的指數價格標記，要等真實交易累積起來才開始分化。這是正確的起點：此時還沒有任何本場所特有的資訊可供反映。

<Warning>
  標記價格**抗**操縱，但不是不可操縱。構成標記價格的那些外部市場若一起動——起因可能是一次真實的價格錯位，也可能是數家場所協同的行動——中位數就會跟著一起動。中位數限定的是任何單一來源能做到什麼，卻無法憑空造出市場並不具備的資訊。參見[風險揭露](/zh-Hant/protocol/security/risks)。
</Warning>

<h2 id="where-this-is-used">
  用在哪裡
</h2>

| 用途                                           | 是否使用標記價格          |
| -------------------------------------------- | ----------------- |
| 未實現損益                                        | 是                 |
| 保證金要求與強平觸發                                   | 是                 |
| [條件單](/zh-Hant/trading/conditional-orders)觸發 | 可選——另一選項是最新成交價    |
| [資金費率](/zh-Hant/trading/funding)溢價           | 是                 |
| 成交執行                                         | **否**——成交按訂單簿價格發生 |

最後一行是需要內化的那條。標記價格從不決定你為一筆成交付多少錢，它決定的是你手上未平倉的部位**值**多少錢——這是另一個問題，而且正是這個問題決定你能不能保住部位。

<h2 id="where-to-go-next">
  後續閱讀
</h2>

<CardGroup cols={2}>
  <Card title="指數價格" href="/zh-Hant/trading/index-price">
    標記價格所錨定的外部基準。
  </Card>

  <Card title="強制平倉" href="/zh-Hant/trading/liquidations">
    標記價格向不利方向移動、侵蝕你的保證金時會發生什麼。
  </Card>

  <Card title="資金費率" href="/zh-Hant/trading/funding">
    價格 3 所重建的那套溢價機制。
  </Card>

  <Card title="預言機" href="/zh-Hant/protocol/architecture/oracle">
    指數價格如何產生，以及如何在共識中完成認證。
  </Card>
</CardGroup>
