高流動性的穩定幣價格錨定演算法

買賣虛擬貨幣

2019 年 4 月 28 日,Block.one CTO Daniel Larimer 在 Medium 上介紹其新的演算法 - 高流動性的穩定幣價格錨定演算法。

據介紹,該演算法提供了高流動性和窄幅價差,同時在抵押品隨著時間而貶值的情況下仍可保持穩健性。BM 相信,該演算法可以最大化所有參與者的利益,同時將風險最小化。

另外,BM 今天在電報群中提到對文章做了一些宣告和補充,並分享了一些資訊,他表示,B1 沒有打算做穩定幣,這只是他對於穩定幣發表的一些想法,讓社羣受益並希望有人可以透過該演算法建立成功的 Dapp。同時,他也給出了該演算法的一些示例程式碼(https://github.com/bytemaster/pex)。

為了方便大家瞭解 BM 新發布的演算法內容,IMEOS 對原文(https://medium.com/@bytemaster/high-liquidity-price-pegged-token-algorithm-d86d71188162)進行了翻譯。如需轉載,請註明出處來自 IMEOS 翻譯組。

*原文翻譯中絕大部分 “USD” 都是代指新演算法中的穩定幣角色,而非美元。

今天我介紹一種可提供高流動性和窄幅價差的穩定幣價格錨定演算法。在違約事件中,抵押品隨著時間推移迅速貶值,該演算法在這種情況下仍可保持穩健性。我們演算法的基礎是透過超額抵押的空頭倉位與 Bancor 演算法相結合,同時為多頭和空頭提供流動性。該演算法還將利用喂價來引導市場,但其影響僅限於當價格長期偏離時,以保護做市商系統免遭濫用。  

背景

在 2013 年,BitShares 推出了 BitUSD 概念,這是一種以 BTS 代幣為抵押物的“智慧幣”,旨在追蹤 USD 價格。BitUSD 透過在那些想要槓桿做多 BitShares 代幣 (BTS) 的人和那些想要價格穩定的人之間建立訂單簿來運作。

為了給 BitUSD 的購買者提供流動性,BitUSD 持有者被允許在多日延遲後按照喂價將抵押率最低的空頭倉位強制平倉。這種方式使使用者可以更有效地追加保證金,並保證 BitUSD 買家手上的代幣總是價值約為1 美元的BTS。為了防止違約,如果在當前喂價下的質押物價值低於最低保證金要求,抵押率最低的空頭倉位將可能被強制平倉。

BitUSD 方法的主要問題是流動性的缺乏,BitUSD 供應量的有限,以及過大的市場價差。做市商必須使用交易機器人在內部訂單簿上進行交易。雖然系統為 BitUSD 持有者提供了流動性,但是空頭倉位的流動性卻並沒有得到保證。最後當抵押率最小的空頭倉位無法被平倉,整個市場將受制於黑天鵝事件的影響。當發生這種情況時,穩定幣的價格錨定被永久性破壞,而 BitUSD 和 BTS 之間則出現固定的匯率。

市場對 BitUSD 生成動機的缺乏,過低的流動性 (交易參與者被迫付出不合理的價格滑點),出乎意料的爆倉預警,以及試圖執行安全的做市機器人時所面臨的困境,這一切意味著 BitUSD 的低供應和高價差。

很多其他專案也設計了各種樣式的超額抵押倉位和保證金要求。但所有這些專案都遇到了與 BitUSD 類似的問題。

傳統的衍生市場實行“期貨交易”,允許人們在未來的某個時間點發布抵押並按喂價結算。這些期貨合約是可互換的並且在某一時間可以交易,但由於截止日期和強制的結算/轉倉,這種方式並不適合建立價格錨定的穩定代幣。

Bancor 演算法在兩個資產間提供自動流動性,同時保護其儲備不會被老練的交易者擄走。無論針對 Bancor 演算法執行的訂單數量和種類如何,當資產對的價格回到其起始點時,演算法始終會產生利潤。典型的 Bancor 做市商被稱為中繼器,其具有兩個代表具備相同市場價值餘額的“聯結器”。該演算法已成功在市場中提供自動流動性,如 EOS RAM 市場。

錨定演算法

該錨定演算法是基於"穩定幣是空頭給多頭提供服務"這一概念上的。此服務要求空頭為穩定幣提供流動性。如果對穩定幣有需求,那麼即使市場價格相對穩定,做市商在提供服務的過程中賺取的交易費也足夠使他們有利可圖。

其他錨定演算法使空頭們之間通常互相碾壓,而不是以帶來穩定服務為前提進行相互合作。在這些其他演算法中,空頭們在競爭過程中平倉或建倉,並時刻擔心逼空風險。

我們演算法的前提是,那些願意在抵押資產 (如 EOS) 中略微槓桿做多的人,可以透過在 EOS 和可互換穩定資產(如 USD )之間的做市行為中進行獲利,其價值被設計為在允許的價差範圍內追蹤喂價。

我們的演算法不是由使用者各自建立獨立的空頭倉位,而是建立一個全球性的空頭倉位並允許使用者買賣這個全球空頭倉位的份額。假設兩者之間不發生其他額外交易,那麼買賣空頭倉位的份額就是一箇中立且可逆的過程 (但是要扣除手續費)。此時槓桿化便不再是主要動機,交易費才是使用者買入倉位份額的動機。這意味著 400% 或更高的超額抵押品目標是可行的,且允許空頭在抵押資產中以較低槓桿率來賺取交易費。

做市商最初是透過將抵押品存入合約而建立。合約將在做市商 (MMS) 中建立代幣並將其給予最初的存入者。舉例來說,我們假設抵押品是 EOS,穩定幣是 USD,其設計旨在追蹤24小時 EOS  美元中間價。

確定目標儲備比率,例如 400%。根據 4 倍的準備金比率,75% 的 EOS 存入將被留做多餘的抵押品,另外 25% 將以 50% 的權重被置於 Bancor 中繼聯結器 (Bancor Relay Connector) 中。這時,自動做市商合約將建立一些 USD 代幣以入資第二個 Bancor 中繼聯結器,使 EOS 和 USD 聯結器餘額的市場價值與喂價的初始價值相同。

在初始條件下做市商在其聯結器中擁有 100% 的 USD,因此沒有淨負債 (即必須回購的 USD)。MMS 的賬面價值等於聯結器中保留的 EOS 價值加上多餘的抵押品 EOS,減去從聯結器賣出的任何流通 USD。在初始設定之後,任何人都可以從做市商那裡買入 USD,從而為 MMS 持有者建立未來的回購責任。Bancor Relay 的數學特性意味著當使用者從做市商那裡買入 USD 時,要價將會增加。如果每個買入 USD 的人都將其賣回去,那麼聯結器最終處於初始狀態。交易收取的每一份費用都將導致聯結器餘額中保留的 EOS 淨增加。

鑑於以上設定和 400% 的儲備目標,我們可以證明實際抵押物儲備與已售出 USD 的比例將遠遠超過 400%。為了使其降低到 400% (在市場價格不變的情況下),整個 USD 聯結器將必須被購空,這將推動 USD 價格至無限大。實際上,隨著多頭 USD 倉位有效供應的減少,做市商將自動提高買入多頭 USD 倉位的成本。

做市商提供的現貨價格等於聯結器餘額中持有的 EOS 與 USD 的比率。當現貨價格波動超過可接受的幅度(如 +/- 2%) 且持續時間也超過來可接受範圍(如 24小時),那麼做市商將會取決於市場情況採取以下其中一個行動:

該演算法的目的是使系統狀態始終更接近於初始條件,即在 USD 聯結器中持有比 Bancor 餘額多 3 倍的超額抵押物和 100 % 的 USD。當有流通 USD 的情況下,聯結器顯然不可能達到持有 100% 的 USD,但當 EOS 的價值相對與 USD 顯著上升,流通供應可以按百分比進行減少。

抵押品移動或 USD 發行的速率應以價格修正為目的,即在目標時間內(如,1 小時)將價格修正入一個可接受的範圍。從理論上講交易者應該假設 USD 價值 1 美元來進行交易,因為他們有信心在不久後能夠以 1  美元的價格賣出。這意味著當 EOS 和 USD 的相對價格穩定時,做市商不必依賴喂價來糾正實時價格,並且 Bancor 演算法在面對操縱者時的安全性可以保護聯結器餘額不被交易者擄走。

諸如喂價偏差的允許範圍,修正率,以及觸發價格修正前的時間間隔等等的配置引數對於最小化做市商的主動干預頻率是至關緊要的,並且能保證當需要干預時,干預是緩慢和漸進的。市場參與者在理論上應該無法在做市商前搶跑(預測干預的發生並提前進行投機性參與)並獲得利潤。

該演算法的成果,是使穩定幣在 24 小時內的中間價格與美元掛鉤,而不是以它的即時價值。只有當做市商價格的 24 小時中間值明顯大於實際市場價格的 24 小時中間值時,它才會對錨定結果進行主動修正。當實際市場價格大幅波動時,我們希望交易者能夠與 Bancor 演算法進行互動,並在 24 小時中間值偏離時進行提前交易。

這種提前交易可以防止 Bancor 聯結器發生強制性調整,除非市場已經陷入長期偏離。中間價走勢越慢,做市商的風險越低,但穩定幣 USD 和實際美元的偏差則越大。由於Bancor 演算法允許較大百分比(如 5%) 的價格偏差,這也最小化了基於喂價的人為價格操作。而越少人為操作,則喂價時效性的相關性就越低。

買入和賣出 MMS 代幣

任何人都可以隨時透過提供新的 EOS 來打包買入 MMS 和 USD。這透過新增新的 EOS 之後維持 Bancor 聯結器中的 MMS、EOS、 USD 和流通中的 USD 的比率來實現。提供 EOS 抵押物的使用者將收到 MMS, 並以某種比例獲得新生成的 USD,該比例取決於當前的 USD 流通總量。 一部分 USD 和 EOS 將被轉賬到聯結器和超額準備金中。然後,使用者可以賣出 USD 來獲得 EOS 並重復該操作,或者單純持有超額的 USD 或 EOS。

賣出 MMS 代幣需要提供等同於 USD_circulating * MMS_Sell / MMS_Supply 的 USD 數量。這與他們在首次用 EOS 買入 MMS 代幣時所獲得的 USD 數量是相同的(減去期間所有的交易費用)。

此過程可視為拆分和新增相同的空頭倉位。一旦你控制了空頭倉位的所有未償還債務,你就可以將其解除並獲得所有抵押品。這個過程的關鍵在於保持不變數,即當一個使用者用抵押物買入 MMS  或者售出 MMS 來獲得抵押物的時候,不會改變 MMS、EOS、USD 和流通中的 USD 的比率。如果你想要賣出 1% 的 MMS 份額,那麼你也必須買入和支付 1% 的流通 USD。幸運的是,你可以從做市商那買入流通 USD,因此總是有流動性。

市場交易費用

當使用者買入和賣出 USD、EOS 和 MMS 時,系統將收取交易費。此費用代表一種收入來源,可為持有 MMS 的人帶來資本收益。波動性越高,交易越多,產生的費用就越多。這些費用不斷對 MMS 進行資本重組,無需槓桿合集的抵押者們再進行任何投入。

不論市場情況如何,那些被槓桿化的人不可能減少他們的抵押品或面臨無法逐步增加抵押品的情況。由於初始抵押品比例較高,如假設為 4 倍,抵押品的貶值速度必須比交易費的累計快 75%。

黑天鵝事件

黑天鵝是指任何使做市商無法將 USD 的價格維持接近喂價的事件。這種情況當抵押率不足時就會發生。當這種情況發生時,做市商將繼續運作,但 USD 的價格會獨立於喂價而浮動。

精明的讀者可能會考慮從聯結器的一側移除 USD 以維持價格,但這是不可取的,因為它會導致聯結器中剩餘的 EOS 的逃離。在超額抵押品消失時讓價格浮動,那些想要提前離場的人會為流動性支付溢價,而場中交易行為的繼續則將會為留下的各方使用者進行資本重組。

即使在黑天鵝期間,交易費用所代表的收入流也會激勵各方提供抵押品併為做市商提供資金。如果抵押資產(例如EOS)的價值迴歸預期不再存在,則穩定資產(例如 USD )的持有人將以市價在聯結器中獲得剩餘EOS的公平份額。

與其他系統不同,黑天鵝事件在此不是一個特別案例,市場有一種無縫且自然的恢復方法來恢復價格錨定。

如果抵押率過低,做市商的配置可以阻止市場賣出 MMS 代幣,同時允許以 10% 折扣用 EOS 買入 MMS。這種方式可以在為做市商進行資本重組的同時,為新的 MMS 持有者提供比先前持有者更高的利益。一旦超額抵押率恢復,MMS 可以如上所述再次賣出。超額抵押品的損耗和折扣幅度的確切數值是可變數。透過調節這些可變數,將最小化抵押物耗盡的風險並且最大化激勵資本快速參與市場調整,而不會過度懲罰先前的 MMS 持有者。

喂價

有許多不同的方法可以產生可信賴的喂價;但是有一些建議可以得到更好的結果。幣價的穩定可以透過追蹤任何喂價來實現,包括人工喂價如 30 天的移動平均線。典型的喂價機制試圖追蹤即時現貨價格,但這種預期對追求安全性的做市商來說是不現實的。價格變化越慢,幣價的穩定就越容易得以維護,因為市場參與者有更多的時間進行倉位調整。

我的建議是使穩定幣價格錨定 24 小時中間價而不是即時價格。這將減少錨定價格的波動頻率和幅度,同時不會破壞穩定幣 USD 作為美元替代品的價值。事實上,它將一些當日波動風險轉移給 USD 持有者(平均偏差),同時仍然為 USD 持有者提供長期波動對沖。

市面中有部分實驗要求在喂價的反應與做市商的盈利能力之間確定一個適當的平衡。

價格修正替代措施

當交易者與演算法互動時,他們要麼把 bancor 價格從喂價進一步推高,要麼使之更接近喂價。對交易進行產生動態費用是可行的,這些交易增長越高,就把 bancor 價格從喂價推的更遠。這允許 MMS 持有者增加利潤並且阻止由操縱者引起的喂價過度偏離。

結論

相比於 BitUSD 這樣的系統,我們的穩定幣方案透過向提供抵押品的空頭提供交易費用,同時有效消除空頭的大部分流動性風險,來激勵資產創造和流動性。

此外,該演算法為市場雙方提供相同的流動性,而 BitUSD 僅向市場的一方提供強制結算。交易費用不斷重新抵押市場,使其能夠從由於價格變化導致的損失中恢復。只要交易費用的收入高於抵押資產價值的平均下降,系統就可以保持償付能力和流動性。我們相信這種方法可以最大化所有參與者的利益,同時將風險最小化。

註解:本文所述的經濟佈局可能受到或者不會受你所在的司法管轄的法規制約。在進行所述的經濟佈局之前,請尋求專業的法律意見。實際效能取決於許多因素,包括實施和選定的配置引數。上述想法和意見是由我自己提出的,而非其他人。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;