為什麼我們需要保證金制度?

目前為止,DeFi 期權最大的缺陷之一是發行期權的資本密集程度過高—— 用戶至少需要質押最大損失的100% 作為保證金。

TradFi(傳統金融)上的期權發行方和出售方只需質押遠低於最大損失的資金作為保證金。這就是期權在TradFi衍生品市場上屬於槓桿頭寸的主要原因之一。

對於我們在Opyn 上推出的部分質押型期權產品,我們的目標是遠遠超越當前的DeFi 期權質押標準。我們旨在確保保證金金額高於期權費(premium)(而非行權價)。因此,保證金在大多數情況下遠低於最大損失。

控制期權費

但是,我們一定不能使用實時的期權費—— 我們需要一些緩衝。為此,我們想要在決定期權費時將黑色星期四等危機情況考慮在內,從而避免立權者(期權賣方)放棄履行義務。

我們將這種最壞情況下的期權費稱為“衝擊” 期權費。衝擊期權費就是保證金的下限(我們不想再放寬下限,因為這會變得不安全)。

要做到這點很難,因為與傳統的期權保證金模型不同,我們假設鏈上沒有可靠的期權費信息輸入機制(如果我們假設鏈上存在期權價格輸入機制,我們的系統會變得沒那麼健壯,但是保證金效率更高)。

我們僅僅假設鏈上存在標的資產的價格播報機制。這個假設更好,因為期權價格相比標的資產價格容易操控得多。

不同於Compound 和Maker之類的保證金借貸交易,我們必須提防對兩個變量的衝擊—— 標的資產的價格和隱含波動率(implied volatility,IV),因為這兩個變量都會在危機發生時驟增,而且會對立權者不利。

示例

接下來,讓我們通過一則看跌期權的例子說明Opyn 的新型期權保證金制度的原理。這是一個具有代表性的例子,因為我們發現每周平價期權非常流行:

-標的資產:ETH;行權價格:2000 美元;ETH當前價格2050 美元;到期時間:7 天后;期權費:115美元;如果隱含波動率飆升到250% 且ETH 價格下跌25%,期權費將是:540 美元-

因此,我們必須確保我們的保證金要求高於540 美元,以防黑色星期四等事件再次發生時立權者放棄履行義務。

由上圖可見,相比Reg T (法規T)的4.6倍資本效率,Opyn 可以提供3.0 至3.6 倍的資本效率。

Opyn 甚至可以提供高於3.6 倍的資本效率,但是這有可能帶來系統風險。密碼學貨幣比股票刺激多了,匪夷所思的事情時有發生。因此,我們在保證金要求上必須更加保守!我們想要確保黑色星期四再次發生時,讓立權者不會進入清算區間,且看跌期權的價格在清算執行前回彈。

原理

看跌期權的保證金可以通過以下公式計算得出:

margin(Strike, ETH price, t) = P(t) * min(Strike, (1-SpotShock)SpotPrice)+ max(Strike — (1-SpotShock) SpotPrice, 0)

我們給出的看跌期權例子:

margin(2000, 2050, 7 days) = .14 * min(2000, (1–0.25)*2050)+ max(2000 — (0.75 * 2050), 0) = $677.80

這裡,t 指的是到期時間,P(t) 是不同到期日的平價期權(ATM option,行權價恰好跟當前市場的現貨價格齊平的期權)的衝擊值的映射,SpotShock是我們預期標的資產在清算發生前的價格變化幅度。

高級數學直覺

我們的目標是,當遇到黑色星期四之類用戶需要立即拋售資產且價格劇烈波動的情況時,我們的保證金依然高於我們的期權費。從長遠來看,治理可以決定用戶接受的衝擊隱含波動率和衝擊拋售。

P(t) 或許是最重要的部分,因為它將到期時間映射成在衝擊波動率下對應平價期權的期權費。由於查詢所需的gas成本很低,我們可以添加一些鍵值對來代表平價期權的到期剩余天數和對應的衝擊期權費(在本例中指的是7天)。這是我們考慮過的眾多解決方案中的首選。

這個等式的其餘部分利用期權的凸性(convexity property,債權的價格與其收益率之間的關係),在平價期權價格和對應行權價之間進行線性插值。也就是說,由於期權價格相對標的資產價格是凸的,我們可以在價格曲線上的任意兩點之間畫一條線,這條線總是位於價格曲線之上。我們在平價時的期權費和ETH價格為零時的期權費(基本上就是看跌期權的行權價)之間畫一條線。

請注意,我們的近似值不僅計算效率高,而且非常接近不同期權的實際期權費:

-上圖反映了當行權價為100美元時,不同的現貨價格對保證金要求的影響。如上圖所示,如果現貨價格高於期權行權價25%,所需保證金金額陡增-

-上圖反映了當行權價為100 美元時,不同的現貨價格對保證金要求的影響。如上圖所示,如果現貨價格高於期權行權價25%,所需保證金金額陡增-

未來幾週內,我們將發布一篇文章來深入詳細介紹部分質押型期權背後的數學理論。

如何維護保證金系統的安全性?清算

別忘了,保證金必須超過期權的價值,再加上一些緩衝。例如,價值7 美元的期權可能需要高達65 美元的保證金。

如果保證金的價值保持在70 美元以上,金庫就是安全的。但是,如果保證金低於65 美元,該金庫進入清算區間;如果保證金價值低於7美元,該金庫進入資不抵債區間。

在清算區間,金庫中的保證金高於用戶的債務(用戶所創建的期權的價值)。在這種情況下,我們可以為理性清算者提供足夠多的質押物,激勵他們代表用戶銷毀期權,從而關閉金庫。

這一過程是如何發生的?

在Opyn 1.0,我們採用的是類似Compound 的清算機制,但是這對於期權產品來說懲罰力度太大。這是因為上述設計對最低質押金額的要求可能是質押物價值的數倍。因此,如果我們只要求清算者通過銷毀期權來換取質押物,清算者就可以從中賺取巨額利潤。雖然這對清算者很有利,但是對於想要出售期權的普通用戶來說太殘忍了。

因此,我們必須引入某種由市場決定的價格發現機制來進行金庫清算。

我們可以將流動AMM 作為價格發現工具,但是這意味著期權也需要將流動AMM 作為價格發現工具—— 這個問題還沒有得到解決!

因此,針對我們的期權產品,我們提議的價格發現機制是拍賣,靈感來自 Yield Protocol。

受Yield 啟發的逆向荷蘭式拍賣

協議拍賣可清算金庫的質押物來換取該金庫中所有已賣出的裸期權。隨著時間的推移,協議會拍賣越來越多的質押物。就像Yield一樣,“金庫中的質押物可供全部或部分購買”,(如果是部分購買)只要“剩餘質押物超過Liquidations.DUST 即可”。

Opyn 的例子(為便於理解,加入了數據):

假設某個金庫已售出100 手期權,且每手期權需要10 美元的保證金,但是每手期權價值5 美元,因此總共價值500美元的期權需要1000 美元的保證金。但是,金庫中只有700美元的質押物,處於清算區間。

系統發現了這個金庫,並試圖使用金庫中的部分質押物來購買該金庫所創建的期權。

系統會怎麼做呢?首先,它會為這100 手期權出一個很低的價格,比方說價值10 美元或0.1 美元的質押物。沒人會執行該交易。

過了一會兒,Opyn 的出價達到100 美元。沒人會執行該交易。出價是逐區塊遞增的。

又過了一會兒,Opyn 的出價提高到了550美元。這時,可能會有清算者執行交易,如果沒有的話,等到Opyn 將出價提高到600 美元以上時,肯定能達成交易(假設gas 費低於100美元)。

如此一來,Opyn 就可以在不知道期權價格的情況下以較為公平的價格完成清算!這都要歸功於它將拍賣作為價格發現機制。

虛擬拍賣

我們在Yield 協議上的改進有一點反直覺——我們實際上可以在鏈上啟動虛擬清算,卻不執行任何交易。

到目前為止,基於拍賣的清算必須由用戶啟動—— 參考Maker 的“bite(觸發清算)” 。然而,啟動清算的人通常是仁慈的用戶,尤其在出現暴跌行情且gas 價格上漲時需要調用該交易。

這種方式之所以可行,是因為使用了信息輸入機制來提供標的資產的可靠歷史價格。我們的清算系統具有確定性,也就是說,在任何一個區塊,價格輸入機制都會提供每個金庫的標的資產的清算價格,而且清算價格都是可知且可計算得到的。

因此,我們能做的是,確保在任何一個區塊,一旦標的資產觸及清算價格,“虛擬拍賣” 就會啟動。然而,合約不會意識到它們正處於拍賣狀態—— 它們需要事後被告知自己之前處於拍賣狀態。

這一運作方式(假設我們正在進行一場oToken 的虛擬逆向荷蘭式拍賣)以及清算方式規定了,每當一個新的區塊添加到鏈上,協議給oToken 的出價就會增加5 美元。

假設ETH 的價格在區塊A 時是1500 美元,導致某個金庫進入清算區間。虛擬拍賣就會啟動—— 具體流程是,假設當前區塊是區塊A + 10(即,自區塊A 之後又有10 個新區塊被添加到鏈上),如果有用戶利用信息輸入機制提供的相關歷史價格來證明該金庫在區塊A 時進入清算區間,就能以50 的價格賣出oToken。從這個角度來看,協議即處於拍賣狀態,自標的資產觸及清算價格以來,每新增一個區塊,協議就會將報價提高5 美元,無需通過任何交易來正式啟動拍賣。

歷史價格可以由Chainlink 的roundId、Uniswap 的歷史TWAP 或其它信息輸入機制解決方案提供。我們的系統只需要確認信息輸入機制提供的價格的時間戳,並確保它處於拍賣期即可。我們提議最初的實現利用Chainlink 定價合約,該合約接受特定資產的roundId。 Chainlink 合約可以用來查詢相關價格和時間戳。

用戶可以往金庫內補充質押物,或支付gas 費來查看金庫的質押率並更新金庫上的時間戳來證明該金庫沒有低於質押率閾值。即使虛擬拍賣開始後,用戶也能這麼做,只要金庫沒有(部分或全部)清算即可。金庫的時間戳起到了清算檢查的作用,任何清算使用的餵價所附帶的時間戳必須在上一次金庫更新/質押率檢查的時間戳之後。這樣做的好處是,可以讓用戶在拍賣開始時迅速行動,保護自己的金庫。同時還可以防止片刻低於質押率閾值的金庫被清算。

Maker 1.0 清算機制的問題:質押物的荷蘭式拍賣

想像一下,我們質押1ETH(價值1500美元)創建了一個金庫,生成了1000DAI。假設ETH 的價格跌至1300美元,這個金庫因質押率低於150% 的閾值而遭到清算。

Maker 系統想要關閉這個金庫。為了銷毀DAI 以清償金庫的1000DAI 債務,系統會通過拍賣讓清算者用DAI 競拍質押物。如果拍賣需償還的DAI 債務達到100%,就會轉而對質押物進行逆向荷蘭式拍賣,即,清算者為自己願意償還的DAI 債務報出自己願意接受的質押物數量,要求質押物數量最低者勝出。如果第一次拍賣沒有收到高於全部Dai 債務的報價,金庫中的所有質押物由最高出價者得。

如果遇到失活問題,且用戶(由於gas 費等原因)無法在區塊鏈上敲定其清算交易,可能會嚴重影響系統的健康。就像

黑色星期四

那樣,由於鏈上清算延遲,清算者只花0 DAI就拍下了價值832 萬美元的質押物。

結果導致,系統丟失了大量質押物,其DAI 債務卻絲毫沒有減少。這種清算本身對系統健康的傷害性極強,如果沒有發生過這些清算,Maker 系統會更加健康。

Opyn 提議的機制:oToken 的逆向荷蘭式拍賣

如果是Opyn 2.0 出現失活問題,導致用戶無法在區塊鏈上敲定交易,我們不希望發生不健康的清算—— 與其發生上文所述的那種清算,我們寧可不要有清算發生。

這就是我們選擇逆向荷蘭式拍賣的原因,與Yield 協議中的拍賣機制高度相似,但是做了一些調整。

在Opyn 協議下,金庫將為oToken 債務出價,最開始先拿出少量質押物來交換全部oToken 債務。如果沒人接受該報價,就會拿出更多質押物來交換,直到拿出所有質押物為止。

如果金庫拿出了所有質押物還是沒人願意幫著償還債務,我們就可以認為金庫已經無償債能力,或者係統出現活性問題。

Opyn 的保證金系統由Zubin Koticha、Andrew Leone 和Apoorva Koticha 設計。