Squeeth insides volume 1: funding and volatility

This is part 1 of an inward journey towards opyn’s implementation of squeeth. Our first stop is an account of how we implement funding payments between long and short squeethers, and how the price of squeeth contains a hidden prediction of ETH volatility.

Squeeth (short for squared ETH) is an asset that tracks the value of ETH². It’s an implementation of a power perpetual — a contract that tracks the power of a price (like price², price³, etc) that we introduced here.

Two important concepts for squeeth are the funding rate — the interest rate paid from long squeeth holders to short squeeth holders; and implied volatility — the prediction of volatility embedded in the squeeth price. We use these measures for the same reason we use yields for bonds or implied volatility for options: they can be interpreted directly and compared across time. We are particularly interested in these for squeeth because, under some simplifying assumptions, the funding rate is the variance (the square of volatility)*.

This post covers some high-level ideas. Here we’ll go through:

• How funding works for squeeth: in-kind vs cash funding
• How the normalization factor is used for squeeth funding
• The difference between oSQTH and squeeth
• Calculations for normalization factor and funding rate
• Inferring ETH volatility from the squeeth price

Squeeth funding

We say that squeeth tracks rather than equals ETH² because longs pay a funding rate to shorts to maintain the position. This is similar to funding payments for perpetual futures, except that there is no direct (cash) payment. Instead, changes in the relative price of squeeth and ETH² give the same effect. This is in-kind funding.

This works like the interest payment of a cToken in the Compound protocol or a zero coupon bond. There is no direct payment from long to short positions, but there is an exchange of value through the relative price of ETH² and the traded price of the squeeth (in the same way as there is a change in the value of a cToken to represent interest payments).*

The ultimate impact is the same if we had cash or in-kind funding. We chose in-kind because it doesn’t require extra machinery on the token to pay or receive funding. In particular it means it fits into a standard ERC-20 contract.

The normalization factor in the squeeth mechanism

Under the hood, the funding is implemented by a single variable called the normalization factor. This is a global variable that adjusts the value of the debt owed by someone who has minted squeeth, i.e. someone who is short.

(value of debt in ETH) = (original debt amount) * (normalization factor)* (ETH price)

The value of squeeth debt adjusts down with the normalization factor. If I borrow one unit of squeeth and the normalization factor changes from 1 to 0.99 over a week this is equivalent to receiving 1% funding. If it decreases to 0.97 after another week this is equivalent to receiving 2% funding over that week. Changes in the normalization factor between two points in time represent the funding rate paid or received to hold the ETH² position.

We expect that funding will be paid from longs to shorts so this normalization factor will decrease over time, reducing the price of SQUEETH and making the debt cheaper to repay.

From the short side, you can convert this change to a direct payment in one of two ways:

1) mint more squeeth and sell it for ETH, monetizing the funding, or

2) remove ETH and keep the same collateralization level

From the long side’s perspective, it’s as if you are selling some of your position every day to pay funding. To be clear, you don’t actually sell any of your position, but the funding mechanism has this effect. Under normal circumstances funding should be paid from long squeeth to short squeeth holders (see appendix).

oSQTH vs squeeth

We call the ERC20 token that is minted oSQTH. The price of this token will reflect accumulated funding since the contract is created. For comparisons to ETH² we adjust for the impact of the normalization factor and scale by 10,000 to put the number in more natural units:

squeeth price = 10,000*(oSQTH price in USD)/(normalization factor)

The value of squeeth will be close to ETH², while the value of oSQTH be proportionately smaller over time.

The figure shows the impact of a hypothetical constant funding rate for squeeth from November 2020 to November 2021. The cumulative funding is around 50%, which is reflected in the final difference between ETH² and oSQTH.

Over the year where ETH has gone up by 10x, oSQTH has gone up by 50x but ETH² has gone up by 90x. The difference is the impact of funding costs.

How is the normalization factor set?

The normalization factor changes based on the relative price of oSQTH and ETH². The change is over a chosen funding period (say, one month) is approximately (this is not exactly how done in contracts, but close enough as an approximation and an example of how to think about it):

% change in normalization factor = % difference between squeeth price and ETH²

Where the squeeth price is the oSQTH price divided by the normalization factor. The change is calculated based on average prices over a funding period. Funding % is the average %difference between SQUEETH and ETH paid over the funding period

Consider an example where the normalization factor is 0.9 and we observe an average price over a month of 3000 for ETH/USD and 2847.90 for oSQTH.

We calculate squeeth price by dividing by the normalization factor: 2946.9/.9 = 3164.34. Then the funding is the percentage difference between the two prices (log ratio gives us this):

% change in normalization factor = % difference between squeeth price and ETH² = ln(3164.34/3000) = 0.0533

This means the funding rate is 5.33% for the month and an approximate value of the new normalization factor is 0.852:

(new normalization factor) = (old normalization factor)*(1-0.0533) = 0.9*(1-0.0533)= 0.852

In this way the funding rate is set through demand and supply for the contract which will determine the distance between ETH² and the squeeth price. If it trades too far above, it will become attractive to mint oSQTH (and sell it) to receive a high rate of funding. If it trades too close to ETH² it will be unprofitable to short, and people will buy back oSQTH to repay their loans.

Squeeth implied volatility

Squeeth is option-like in the sense that the price of squeeth depends on the volatility of the ETH price. In fact, we have a pricing formula for a squared exposure to an asset derived under the same assumptions as the Black Scholes Merton option pricing formula**:

Squared ETH future = ETH² * exp(volatility²)

Where volatility² is the variance of the ETH price returns over the holding period. Since squeeth is an exposure to squared ETH, it should share this funding cost. This gives us a nice result:

The funding cost of squeeth is the expected variance of ETH

In the previous example, the monthly funding cost of 5.33% is also the expected variance of the ETH over a month. We can convert this to the more familiar annualized volatility that we see in option prices by multiplying by 12 months and taking the square root to get 0.8. So the annualized implied volatility of the squeeth price is 80%. This is useful for a couple of reasons:

First it means that we can use the price of squeeth as a volatility oracle, a predictor of how much volatility we expect in ETH over the short term. This index is something like the VIX price, a market priced based measure of volatility for US equities. In our example, oSQTH price at 2847.9 ETH is saying the market expects volatility to be 80%. This has the advantage over other on-chain oracles for ETH volatility that it is directly tradable, and an advantage over any individual option because it is not specific to any particular strike or expiry.

Second, it means that we can quickly figure out the fair price of squeeth. That is, we know what the price of squeeth should be based on the volatility priced in the options market. If the implied volatility for squeeth is substantially below the implied volatility of short term options, we should be able to profitably buy squeeth and sell options, and vice versa.

Squeeth is an evolved option

Let’s recap:

1. Squeeth is a perpetual future for ETH²
2. It needs a funding mechanism for longs to pay shorts. We implement this with in-kind funding that operates like cTokens in the Compound protocol (change in the price of the tokens rather than direct payments)
3. Under the hood this is implemented by a single number maintained by the contract called the normalization factor which governs how much squeeth you can mint for a given level of ETH collateral
4. The impact of changes in the normalization factor is as if longs made a direct payment to shorts
5. The funding rate is determined in a similar way to funding for traditional perpetuals like dydx or FTX. The cleanest way to think about this is:
% funding rate = % difference between squeeth and ETH²
6. The main visible impact of the funding rate is that the traded token for squeeth (oSQTH) will decrease continuously relative to ETH²
7. Under Black Scholes assumptions the funding rate should be approximately the variance of ETH. This gives us a nice way to quote the ETH price that can be interpreted directly and compared to implied volatility for options.

Squeeth isn’t just a quirky derivative payoff. It’s the purest form of the most important option risk, gamma. Our design choices are all about making this as accessible and transparent as possible. The traded price itself gives you all the information you need to know to trade: the funding rate and the volatility of ETH that the rate implies.

*Compound’s actual mechanism differs from squeeth in that Compound can set the rate directly, whereas the squeeth rate is set purely based on the traded price.

**This assumes standard Black Scholes Merton assumptions and that the risk free rate for ETH and USD are both zero. Note that BSM assumptions do not hold in general, but they’re useful as a common quoting convention, and it’s possible to solve for richer pricing dynamics with the same techniques.

Appendix: Why is funding paid from longs to shorts?

One way to see why the funding rate should be positive by looking at the payoff to just holding ETH²:

Payoff to ETH² = (ETH +(change in ETH))²-ETH² = 2 *ETH * (change in ETH)+ (change in ETH)²

The fundamental theorem of asset pricing tells us that the correct funding rate equals the expected value of this payoff (technically to make it a risk-neutral measure, but more plainly it means that the contract price should fully reflect expectations about the price). The first term is 2x the funding cost from the future (which will typically be positive) and the second term — the second moment of ETH price changes — will always be positive.

ELI5 version: the funding rate is positive because squared things have to be positive! 