Advanced Volatility Surfaces for XRP, SOL, and MATIC

Introduction

A volatility surface maps out how implied volatility (IV) changes across different option strikes or deltas and expiration times, offering a three-dimensional view of the market’s expectation of future volatility. Constructing a volatility surface goes beyond merely collecting option prices and calculating IV’s. It involves selecting appropriate models, ensuring data integrity, selecting reasonable filters, and constantly updating to incorporate the latest market conditions. This task is pivotal for crafting informed trading strategies and pricing options effectively. However, the construction of a volatility surface is challenging due to its complexity and the precision required. The process demands a thorough mix of data analysis, model selection, and market comprehension, making it a demanding yet essential component of financial analytics.

Figure 1: Visualization of a volatility surface for BTC.

Below, we outline the process used to create a volatility surface for Bitcoin and Ethereum, starting from raw data, and finishing with a delta-based volatility surface, an example of which can be seen in Figure 1. Our process is carried out separately for call and put options until the final step, where both are combined into a single volatility surface. First, we filter and process the raw data to remove any invalid or missing values. Next, instrument IVs are grouped by expiry, and we apply a more detailed filter on a per-expiry basis to exclude unwanted data points, and potentially exclude the entire expiry. After filtering, we fit the data for each expiry to a quadratic model, and interpolate the IVs for each target delta. Grids are then constructed for calls and puts using bilinear interpolation to construct a regular grid for expiry steps of 1 day, and delta steps of 1 delta. Finally, we merge the grids for puts and calls into a single surface arranged according to how delta-based surfaces traditionally are.

Raw Data Processing

For this step and the majority of remaining steps, calls and puts are handled separately, and any differences in operations between the two will be specifically highlighted.

We start with raw data from various venues that offer options on the underlying (BTC/ETH). This data is generally in the form of order book snapshots for the entire options chain from each venue, which includes data such as bids, asks, Greeks, IVs, mark IVs, mark prices, etc. At this point, only simple filtering is performed, namely filtering out any instruments that have missing data or zero values for required information such as price.

Once this filtering has been performed, the next step is processing, where we compute a delta and IV for each instrument. These values can be computed in various ways, for example, using Black-Scholes. In some cases, venues provide values for delta, mark IV, etc., which can also be used as inputs to our model. It is important to note that at this stage, there may be multiple IV values for a single delta value.

Pre-Expiry Filtering

Once a list of instruments has been built, including corresponding expiry, delta, and IV, we are ready to perform additional filtering on a per-expiry basis. Instruments are grouped by their expiry, then the following filters are applied for each instrument:

  1. Any instruments with a delta outside the range [4, 96] are excluded. Entries outside of this range have a tendency to have extreme values which negatively impact the resulting volatility surface.

  2. The standard deviation and mean of the IV is calculated, and any instruments with IVs that are more than two standard deviations away from the mean are excluded.

Once the per-instrument filters are applied, additional filters are introduced to potentially exclude an entire expiry. Specifically:

  1. Any expiries which don’t contain at least one instrument with a delta less than 50, and one instrument with a delta greater than 50 are excluded. Cases like these often indicate an illiquid expiry.

  2. Any expiries which have less than 4 instruments after filtering are excluded. This is based on the minimum number of points required to obtain a reasonable fit for our volatility model.

The end result of this is a list of expiries, each consisting of a list of instruments with delta and IV values.

Quadratic Model Fitting

Now that we have our filtered data, we are ready to begin constructing our surface. We begin by using least-squares to fit a quadratic to our data. A quadratic was selected as it provides a good combination of reasonableness and accuracy. For each expiry, we get a list of x and y pairs as the delta and IV of each instrument, and solve for the coefficients of x in ax² + bx + c. At this point, there is still the possibility for an expiry to be excluded. This occurs when the least-squares fit is badly conditioned, or when the calculated coefficients have unreasonable values.

Once we have a final list of expiries and corresponding quadratic models, we obtain an IV value by sampling each model at each target delta we have in the final surface, which in our case is every delta in the range [5, 95] in 1 delta increments. This gives us an irregular grid-based version of a volatility surface, with delta on the x-axis and being regular, expiry/tenor on the y-axis and being irregular, and IV on the z-axis.

Regular Grid Creation

In order to construct our final regular grid, we must determine which values to use for our y-axis. For our y-axis values, we choose floating tenors in 1-day intervals, starting at 8 AM UTC on the shortest expiry in our data, and ending at 8 AM UTC on the furthest expiry, which tends to be an end-of-year expiry. Other possibilities can include using different reference times such as 10 AM EST, or using constant tenors based on a user-defined fixed offset from the time the surface was generated.

Now that we have our regular grid, we make use of bilinear interpolation to calculate the IV at each point in our grid. It is possible to use other interpolation methods here, such as splines, but we found that bilinear is sufficient to produce reasonable and accurate surfaces, as well as limit any surprises such as spikes or jumps that can occur when using more complicated methods.

Final Surface Generation

Up to this point, we have been constructing two different surfaces, one for calls and puts. We now merge both surfaces following the traditional layout of a delta-based volatility surface. This consists of an x-axis with 10 delta calls on the left, moving to 50 delta in the center, and moving lower to 10 delta puts on the right.

Creating this final surface is fairly straightforward using simple data manipulation. One important thing to note is that the range of the y-axis (tenor) should be a range that is a subset of the ranges for calls and puts. For the 50 delta, we use the average of IVs for 50 delta from the calls and the puts surfaces. The end result can then be seen in Figure 2.

Figure 2: The final surface created by our proprietary process .

Conclusion

Creating a volatility surface involves more than just compiling option prices and calculating IVs. It’s a detailed process that requires selecting the right models, proper tuning, ensuring data integrity, selecting reasonable filters, and constantly updating to keep pace with evolving market dynamics. The tools and techniques employed to build our volatility surface are highly adaptive. As a result, we are able to extrapolate and interpolate any of our models with granular resolution, for any specified date and expiry.

Appendix A: Volatility Surface Construction for Less Liquid Assets

For digital assets with an illiquid options market such as XRP, SOL, and MATIC, the construction calculation of a robust volatility surface requires a distinct approach. These assets typically exhibit a thinly traded options market, with limited available data on quoted strikes, deltas, and expiries. Notably, the furthest expiry for these options usually extends to at most 30 days. Consequently, constructing a reliable volatility surface for longer-dated expiries necessitates a methodical and rigorous approach. Our methodology involves two primary steps:

  1. Short-Term Base Surface Construction: Establish a base surface for short-term expiries (1–30 days) using available market data.

  2. Extension to Longer-Dated Expiries: Integrate the base surface with the time-based surface behavior of analogous, more liquid assets (such as BTC and ETH) serving as a reasonable proxy at longer-dated expiries.

Following, we will provide an example, using XRP as the target asset.

Short-Term Surface Construction

For this step, we apply the procedures identified in the main surface construction document to the available market data for XRP. The result is a surface with short-term expiries (~1–30 days), which can be seen in Figure 3.

Figure 3: The base 30-day XRP surface created via our proprietary process.

Final Surface Construction

Now that we have a short-term base surface, the next phase involves extrapolating this with the time-based behavior of our surfaces for proxy liquid assets (BTC/ETH/etc.) to obtain a final, comprehensive surface for the target asset (XRP).

Figure 4: The final XRP surface created via our proprietary process.

Quadratic Model Fitting

Consistent with the method outlined in the “Quadratic Model Fitting” section, we employ the least-squares method to fit a quadratic curve to the delta/IV data from the furthest-out expiry of our base model. This results in a closed-form equation that facilitates the calculation of implied volatility (IV) values across for our target delta range for additional expiries. Each expiry is adjusted by an empirically derived scaling factor.

Scaling Factor Determination

Numerous methods exist to calculate the scaling factor. For our purposes, we adopt a straightforward approach by computing the mean of the change in IV between successive expiries across all liquid asset surfaces and deltas. This per-expiry scaling factor is then applied to calculate the IV values, thereby constructing the full volatility surface.

Final Surface

The ultimate output is a comprehensive volatility surface with one-minute-level precision depicted in Figure 4. This surface seamlessly integrates the initial short-term base model construction with the longer-term, time-based behavior of similar, more liquid assets. This results in an institutional-grade robust and reasonable volatility surface out to one-year expiries.

Previous
Previous

BTC Reggie Signal October 2nd, 2024

Next
Next

Understanding Bitcoin & Ethereum Basis: Key Metrics Historical Insights, and Risks