In this article, I showed how to directly use the daily trading volume and liquidity information in the Uniswap v3 pool to extract the implied volatility of any asset.
ETH-USDC-0.3% of the liquidity of the pool. The green bar shows the 7-day expected trend, calculated using the implied volatility measurement on the chain.
In my last article, I demonstrated that lending a Uni v3 LP position as an option may be more profitable than holding it. That’s because the premium received from selling options may exceed the amount of expenses accrued in LP tokens. In my analysis, I came up with the following equation:
After some rearrangements, the following conditions have led to the guidance of whether assets should be lent or held as options for charging fees:
However, I made an unnatural assumption in my analysis: I assumed that the on-chain volatility of the asset matches the “market” volatility of the same asset on the exchange of centralized options.
Specifically, I assume that the annualized volatility is hovering around 100% and use that number to extract the ratios of 6.8, 76, and 2749. Recall that these ratios should tell you what the trading volume to liquidity ratio should be, so that assuming the implied volatility is 100%, holding LP tokens is more advantageous than selling the position as an option.
I stipulate that the annualized volatility of all assets on Uniswap is 100%. For the ETH-stable currency pair, 100% may be accurate, but for the stable-stable currency pair, this would be a serious overestimation. Similarly, the annualized actual volatility of some highly volatile assets may be as high as hundreds of%.
how to solve this problem? How do we choose the “correct” volatility in the above expression? I am actually a strong supporter of the efficient market hypothesis. After all, the efficient market hypothesis is one of the main reasons for using geometric Brownian motion to simulate asset prices in the Black-Scholes equation.
The Efficient Market Hypothesis (EMH) is an assumption in financial economics that states that asset prices reflect all available information. A direct implication is that it is impossible to always “outperform the market” on the basis of risk adjustment, because market prices should only respond to new information. (Source: Wikipedia)
Therefore, considering this framework, can we assume that all participants have already priced the holding costs and expected returns of LP positions, which means that we can only assume that LP returns exactly match their option premiums.
In other words, we can view the daily transaction volume and tick liquidity of any Uniswap v3 pool, and use the conditions I have derived earlier to calculate the implied volatility (IV) of the pool:
Therefore, as long as daily transaction volume and tick liquidity can be extracted from on-chain activities, this equation provides a direct method for calculating asset IV.
Calculate implied volatility from Uniswap v3
How accurate is the assumption that all DeFi users are “rational”. Depending on who you are asking, it may be very low, but let us think about it more carefully.
To calculate the implied volatility of the USDC-ETH-0.3% pool, we must divide the daily trading volume (76,520,000) by the square root of the liquidity volume of the current price change (4,350,000), and then multiply by 2*0.3% and √365days Get the annualized volatility:
The following is TVL’s calculation of the same implied volatility for the top 15 mining pools in Uniswap v3:
View at http://info.yewbow.org
The implied volatility range of the WBTC/USDC pair is 49%, and the implied volatility of the stablecoin-stable currency pair (DAI/USDC) and ETH/sETH2 pair is as low as 1%.
How good is this approximation?
In a previous article, I grabbed daily opening and closing price data from Coingecko to extract the actual volatility of several assets, all denominated in USDC or ETH:
Calculated in ETH, the actual volatility of most assets fluctuates between 75% and 200%. If we compare it with the IV drawn from the Uniswap v3 pool, we will get:
Please note that for most assets, the volatility is slightly lower and may be about 2.5 times.
I’m not sure where this difference comes from. Maybe this is because DeFi users are not all rational, or compared with centralized exchanges, the user’s transaction volume on the chain is not so much, or because I took this screenshot on Sunday, and the transaction volume is only relatively high. Low.
In addition, WNXM appears to be an outlier, with an annualized volatility exceeding 1,000%. This may be due to the relatively low liquidity of tick:
Or the transaction volume on the day is very large (103 million USD), I think the Uniswap theGraph instance reports the 24-hour transaction volume as a combination of transaction volume and liquidity token addition + deletion. A quick overview of the daily exchange transaction volume is close to about 1 million, which corresponds to an implied volatility of 32%/year, which is more realistic.
Use IV to help deploy liquidity effectively
Why should we care about IV? In fact, implied volatility is very useful for estimating the expected price change of any asset:
For more details on choosing the best Uniswap v3 LP location, please refer to this post and this post. Specifically, knowing the IV should also help determine where to deploy liquidity in the Uniswap v3 pool.
For example, ETH-UNI-0.3% locked in a total value of 57 million US dollars, but only about 2 million US dollars were locked in the expected trend of 7 days. In other words, within the next 7 days, an average of 96% of deployed liquidity will not be touched.
The next step is to directly calculate the realized volatility of each transaction using on-chain data and compare it with the IV calculated using transaction volume + liquidity.
This is a slightly more complicated problem than I expected, and I have been working on it for the past few weeks. However, in the process, I made several interesting movies that showed the link between the exchange + liquidity + fees of some highly volatile assets:
I will introduce it in detail later, so stay tuned!