Published on

Project: Option Surface/Slice Plotter w/ Real Time Data (CLI & Plotly Dash App)

Authors
  • avatar
    Name
    Teddy Xinyuan Chen
    Twitter

Can also plot slices of surfaces. Interactive and comes with rich hover data to help you gauge fear and customer interest and find potentially misquoted options.

See the Complicated SQL post for more interactive demo and code snippets.

Table of Contents

Introduction

Written from scratch, still a work in progress. I'm hoping to add a Time Lapse feature to visualize change in skews and different ways to slice over data to get more insights.

Demo - Dash App

Standard View

Unlike my previous multi-leg surface plotter, for this app, the greeks and other data, like OI and volume are provided by the data provider, not calculated (I can't fit the vol surface yet).

https://www.youtube.com/watch?v=jdmQxJE286U (10 min)

See also the Complicated SQL post for more context. I also wrote about how I optimized the app via lazily-evaluated vectorized polars operations and by pushing the filtering up in the data pipeline.

Projection View

https://www.youtube.com/watch?v=6pvAbwnbbiI (2:30 min)

Screenshots

Projection View

alt text
Vol surface of VIX and the projection by my chosen strike prices and dates at my cursor position
alt text
Tired of the fancy surfaces? It can also do heatmaps! - Delta sampled vol of VIX
alt text
True Volatility Smile™ on GLD during times of geopolitical stress
alt text
GLD's Oct tenor still smiles :)

Standard View

alt text
Most basic surface (delta sampled)

1: logging; 2: CLI; 3: Plotly Dash App

Full screen: https://gg.teddysc.me/?g=513873b442f836b8ff3c2e2b89ef9327&a

Something you can play with

Full screen (5 plots in total): https://gg.teddysc.me/?g=12d79db1018fa41c8f57b290a3b0ccb3&a&c=2

Time of data and spot price at that time is in the subtitle.