Volatility Surface Visualizer Updates

I finally added some updates to the Volatility Surface Visualizer that will allow you to finally get quantitative data from it (at GitHub). I also added some rudimentary empty fill interpolation to make the surface prettier. Furthermore, I finally added axes and ray casted value reader. Just click on the surface, and you can see the interpolated date, strike, and IV.

Interpolation / Parameterization

I wasn't really aware when I started this project, but this seems to be a subject that is far more complex that I had originally anticipated. The pricing data straight from CBOE becomes fairly ugly very quickly for the illiquid contracts. In order the make the surface less chaotic, I really prefer some sort of interpolation or parameterization.

Currently, the viewer uses a pretty rudimentary strategy. The surface is populated on a grid of all observed strikes and expirations. For all expirations, from the current price, an empty fill is done for all missing values - middle out. This gets the job done for now.

Popular strategies such as Arbitrage-free SVI volatility surfaces (pdf) exist, but for my purposes, I don't know if the juice is worth the squeeze.

Ray Cast Value Viewer

Now you can click anywhere on the surface and see the interpolated strike, price, and Implied Volatility.

Rock Climbing with the Internet

This photo was taken at the trailhead of First Creek Canyon at Red Rock. Despite having a guide book and the wealth of information available on Mountain Project, we mistakenly started climbing an unestablished route.

We were supposed to be on a 3 star climb, but as I climbed higher, the route began to deviate from expectations. Protection became uncomfortably sparse, and the rock became soft & fragile. Thankfully, we were able to climb out to safety, however, I will never forget the feeling of being run out on questionable protection placed in soft sandstone.

This experience made me realize that I take my access to well established, "starred" climbing routes for granted. We've been able to take much of the original adventure out of rock climbing by sharing tons of information on the internet. For example, on Mountain Project, I can see what hundreds of other people have said about potential routes I'm considering. I can see pictures, comments, and even reviews of climbing routes. Mountain Project can often contain enough pictures to make route-finding a non-issue. Using information available online, I'm able to carefully curate my climbing experience and minimize risks by being selective with the routes I climb. I can do my research and know EXACTLY what I'll be climbing... most of the time.


I should boulder more, but I hate the feeling of falling onto the mat on the first move with 10 people watching.

But as my friend says, "It has a purpose".

Implied Volatility Surface Viewer

The implied volatility is the single most important descriptor of options contracts. There are generally a large number of available contracts given the different strikes and expiries for a given underlying instrument. Generally a table of options contracts quotes looks like this:

Option Chain View on thinkorswim

The table above is still excluding the majority of strikes & dates. You can often see different patterns of implied depending on the beliefs of market participants. Future political or corporate events may show up as bumps of IV. Differences in concerns or beliefs about the future risks of the underlying may show up as a skew.

I've often wanted to view this visualized as a 3D surface, however, I'm to poor to be able to afford a Bloomberg Terminal. I worked on a 3D surface viewer using exported CBOE pricing data that can be run on the browser. This is still very much a work in progress.

You can see the surface, but it's mega ugly in certain parts due to illiquid pricing. In addition to adding more analytical information, I will be adding either some sort of interpolation or parameterization.

You can check out the code & try it out for yourself on github https://github.com/hyobyun/VolSurface