Skip to content

Instantly share code, notes, and snippets.

@danwagnerco
Created November 19, 2025 01:32
Show Gist options
  • Select an option

  • Save danwagnerco/3ecb0649c8d7eac70d9875c13147dbdd to your computer and use it in GitHub Desktop.

Select an option

Save danwagnerco/3ecb0649c8d7eac70d9875c13147dbdd to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "585e6f35",
"metadata": {},
"source": [
"# Wealth Management Option Sentiment\n",
"\n",
"There are many ways to gauge sector sentiment but the flow of option premium is uniquely interesting because instead of yapping, you can actually see capital deployed.\n",
"\n",
"A dashboard that plots premium over days / weeks might signal inflection points in publicly-tradeable wealth management firms, or medtech companies, or real estate operators, etc.\n",
"\n",
"Scroll down past all the code to see a first-pass implementation targeting:\n",
"- **LPL Financial** (ticker: `LPLA`)\n",
"- **Ameriprise Financial** (ticker: `AMP`)\n",
"- **Raymond James** (ticker: `RJF`)\n",
"- **Stifel Financial** (ticker: `SF`)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "571489bd",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <div id=\"c9owdT\"></div>\n",
" <script type=\"text/javascript\" data-lets-plot-script=\"library\">\n",
" if(!window.letsPlotCallQueue) {\n",
" window.letsPlotCallQueue = [];\n",
" }; \n",
" window.letsPlotCall = function(f) {\n",
" window.letsPlotCallQueue.push(f);\n",
" };\n",
" (function() {\n",
" var script = document.createElement(\"script\");\n",
" script.type = \"text/javascript\";\n",
" script.src = \"https://cdn.jsdelivr.net/gh/JetBrains/[email protected]/js-package/distr/lets-plot.min.js\";\n",
" script.onload = function() {\n",
" window.letsPlotCall = function(f) {f();};\n",
" window.letsPlotCallQueue.forEach(function(f) {f();});\n",
" window.letsPlotCallQueue = [];\n",
" \n",
" };\n",
" script.onerror = function(event) {\n",
" window.letsPlotCall = function(f) {}; // noop\n",
" window.letsPlotCallQueue = [];\n",
" var div = document.createElement(\"div\");\n",
" div.style.color = 'darkred';\n",
" div.textContent = 'Error loading Lets-Plot JS';\n",
" document.getElementById(\"c9owdT\").appendChild(div);\n",
" };\n",
" var e = document.getElementById(\"c9owdT\");\n",
" e.appendChild(script);\n",
" })()\n",
" </script>\n",
" "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import os\n",
"import httpx\n",
"import polars as pl\n",
"import lets_plot as lp\n",
"lp.LetsPlot.setup_html()\n",
"\n",
"uw_token = os.getenv(\"UW_TOKEN\")\n",
"headers = {'Accept': 'application/json, text/plain', 'Authorization': uw_token}\n",
"\n",
"LEON_COLOR_THEME = {\n",
" \"red\": \"#dc3545\",\n",
" \"teal\": \"#20c997\",\n",
" \"navy\": \"#1E3A5F\",\n",
" \"black\": \"#000000\",\n",
" \"white\": \"#FFFFFF\",\n",
" \"gray_medium\": \"#3C3C3C\",\n",
" \"gray_light\": \"#D3D3D3\",\n",
"}\n",
"\n",
"color_mapping = {\n",
" \"cumsum_net_call_prem_in_mil\": LEON_COLOR_THEME[\"teal\"],\n",
" \"cumsum_net_put_prem_in_mil\": LEON_COLOR_THEME[\"red\"],\n",
" \"price\": LEON_COLOR_THEME[\"white\"],\n",
"}\n",
"\n",
"def leon_theme(colors: dict, show_legend: bool = True) -> lp.theme:\n",
" t = lp.theme_none() + lp.theme(\n",
" plot_background=lp.element_rect(fill=colors[\"navy\"]),\n",
" panel_background=lp.element_rect(fill=colors[\"navy\"]),\n",
" panel_grid_major=lp.element_blank(),\n",
" panel_grid_minor=lp.element_blank(),\n",
" axis_ontop=True,\n",
" axis_ticks=lp.element_line(color=colors[\"white\"], size=1),\n",
" axis_tooltip=lp.element_rect(color=colors[\"navy\"]),\n",
" tooltip=lp.element_rect(color=colors[\"gray_light\"], fill=colors[\"navy\"]),\n",
" line=lp.element_line(color=colors[\"white\"], size=1),\n",
" rect=lp.element_rect(color=colors[\"navy\"], fill=colors[\"navy\"], size=2),\n",
" text=lp.element_text(color=colors[\"white\"], size=10),\n",
" legend_background=lp.element_rect(\n",
" color=colors[\"gray_light\"], fill=colors[\"navy\"], size=2\n",
" ),\n",
" plot_title=lp.element_text(hjust=0.5, size=16, color=colors[\"white\"]),\n",
" )\n",
" if show_legend:\n",
" return t + lp.theme(legend_position=\"bottom\")\n",
" else:\n",
" return t + lp.theme(legend_position=\"none\")"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "ad332063",
"metadata": {},
"outputs": [],
"source": [
"tickers = [\"LPLA\", \"AMP\", \"RJF\", \"SF\"]\n",
"target_date = \"2025-11-18\"\n",
"\n",
"raw_npt_dfs = {}\n",
"for ticker in tickers:\n",
" url = f\"https://api.unusualwhales.com/api/stock/{ticker}/net-prem-ticks\"\n",
" params = {\"date\": target_date}\n",
" rsp = httpx.get(url, headers=headers, params=params)\n",
" if rsp.status_code == 200 and len(rsp.json()[\"data\"]) > 0:\n",
" raw_npt_dfs[ticker] = pl.DataFrame(rsp.json()[\"data\"])\n",
" else:\n",
" print(f\"{ticker} data not found for {target_date}\")\n",
"\n",
"clean_npt_dfs = {}\n",
"for ticker, raw_df in raw_npt_dfs.items():\n",
" clean_npt_dfs[ticker] = (\n",
" raw_df\n",
" .with_columns(\n",
" pl.col(\"net_call_premium\").cast(pl.Float64),\n",
" pl.col(\"net_put_premium\").cast(pl.Float64),\n",
" pl.col(\"tape_time\").cast(pl.Datetime)\n",
" )\n",
" .with_columns(\n",
" pl.col(\"tape_time\").dt.convert_time_zone(\n",
" \"America/New_York\"\n",
" ).alias(\"tape_time_tz\")\n",
" )\n",
" .with_columns(\n",
" pl.col(\"tape_time_tz\").dt.strftime(\"%H:%M\").alias(\"hms_str\")\n",
" )\n",
" .with_columns(\n",
" (\n",
" pl.col(\"net_call_premium\").cum_sum() / 1_000\n",
" ).alias(\"cumsum_net_call_prem_in_k\"),\n",
" (\n",
" pl.col(\"net_put_premium\").cum_sum() / 1_000\n",
" ).alias(\"cumsum_net_put_prem_in_k\")\n",
" )\n",
" )\n",
"\n",
"plot_ready_npt_dfs = {}\n",
"for ticker, clean_df in clean_npt_dfs.items():\n",
" plot_ready_npt_dfs[ticker] = (\n",
" clean_df\n",
" .unpivot(\n",
" index=[\"hms_str\"],\n",
" on=[\"cumsum_net_call_prem_in_k\", \"cumsum_net_put_prem_in_k\"],\n",
" variable_name=\"flow_type\",\n",
" value_name=\"cumsum_net_prem_in_k\"\n",
" )\n",
" )\n",
"\n",
"raw_ohlc_dfs = {}\n",
"candle_size = \"1m\"\n",
"for ticker in tickers:\n",
" url = f\"https://api.unusualwhales.com/api/stock/{ticker}/ohlc/{candle_size}\"\n",
" params = {\"date\": target_date}\n",
" rsp = httpx.get(url, headers=headers, params=params)\n",
" raw_ohlc_dfs[ticker] = pl.DataFrame(rsp.json()[\"data\"])\n",
"\n",
"clean_ohlc_dfs = {}\n",
"for ticker, raw_df in raw_ohlc_dfs.items():\n",
" start_date = clean_npt_dfs[ticker].select(pl.col(\"tape_time\").head(1)).item()\n",
" end_date = clean_npt_dfs[ticker].select(pl.col(\"tape_time\").tail(1)).item()\n",
" clean_ohlc_dfs[ticker] = (\n",
" raw_df\n",
" .with_columns(\n",
" pl.col(\"open\").cast(pl.Float64),\n",
" pl.col(\"high\").cast(pl.Float64),\n",
" pl.col(\"low\").cast(pl.Float64),\n",
" pl.col(\"close\").cast(pl.Float64),\n",
" pl.col(\"start_time\").cast(pl.Datetime)\n",
" )\n",
" .filter(\n",
" (pl.col(\"start_time\") >= start_date) & (pl.col(\"start_time\") <= end_date)\n",
" )\n",
" .with_columns(\n",
" pl.col(\"start_time\").dt.convert_time_zone(\n",
" \"America/New_York\"\n",
" ).alias(\"tape_time_tz\")\n",
" )\n",
" .with_columns(\n",
" pl.col(\"tape_time_tz\").dt.strftime(\"%H:%M\").alias(\"hms_str\")\n",
" )\n",
" .select(\n",
" [\n",
" \"start_time\",\n",
" \"tape_time_tz\",\n",
" \"hms_str\",\n",
" \"open\",\n",
" \"high\",\n",
" \"low\",\n",
" \"close\",\n",
" ]\n",
" )\n",
" .sort(\"tape_time_tz\", descending=False)\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "6b1d3970",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
" <div id=\"nu8qBq\"></div>\n",
" <script type=\"text/javascript\" data-lets-plot-script=\"plot\">\n",
" \n",
" (function() {\n",
" // ----------\n",
" \n",
" const forceImmediateRender = false;\n",
" const responsive = false;\n",
" \n",
" let sizing = {\n",
" width_mode: \"MIN\",\n",
" height_mode: \"SCALED\",\n",
" width: null, \n",
" height: null \n",
" };\n",
" \n",
" const preferredWidth = document.body.dataset.letsPlotPreferredWidth;\n",
" if (preferredWidth !== undefined) {\n",
" sizing = {\n",
" width_mode: 'FIXED',\n",
" height_mode: 'SCALED',\n",
" width: parseFloat(preferredWidth)\n",
" };\n",
" }\n",
" \n",
" const containerDiv = document.getElementById(\"nu8qBq\");\n",
" let fig = null;\n",
" \n",
" function renderPlot() {\n",
" if (fig === null) {\n",
" const plotSpec = {\n",
"\"ggsize\":{\n",
"\"width\":900.0,\n",
"\"height\":900.0\n",
"},\n",
"\"theme\":{\n",
"\"plot_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"}\n",
"},\n",
"\"kind\":\"subplots\",\n",
"\"layout\":{\n",
"\"ncol\":2.0,\n",
"\"nrow\":2.0,\n",
"\"align\":true,\n",
"\"name\":\"grid\"\n",
"},\n",
"\"figures\":[{\n",
"\"theme\":{\n",
"\"plot_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"}\n",
"},\n",
"\"kind\":\"subplots\",\n",
"\"layout\":{\n",
"\"ncol\":1.0,\n",
"\"nrow\":2.0,\n",
"\"align\":true,\n",
"\"name\":\"grid\"\n",
"},\n",
"\"figures\":[{\n",
"\"data\":{\n",
"\"hms_str\":[\"09:47\",\"09:51\",\"09:57\",\"10:16\",\"10:55\",\"11:11\",\"11:14\",\"11:19\",\"11:25\",\"13:08\",\"13:09\",\"13:22\",\"13:23\",\"13:28\",\"13:29\",\"13:47\",\"14:09\",\"14:11\",\"14:13\",\"14:17\",\"14:20\",\"14:22\",\"14:24\",\"14:43\",\"15:05\",\"15:16\",\"15:30\",\"15:54\",\"15:55\",\"15:58\",\"09:47\",\"09:51\",\"09:57\",\"10:16\",\"10:55\",\"11:11\",\"11:14\",\"11:19\",\"11:25\",\"13:08\",\"13:09\",\"13:22\",\"13:23\",\"13:28\",\"13:29\",\"13:47\",\"14:09\",\"14:11\",\"14:13\",\"14:17\",\"14:20\",\"14:22\",\"14:24\",\"14:43\",\"15:05\",\"15:16\",\"15:30\",\"15:54\",\"15:55\",\"15:58\"],\n",
"\"flow_type\":[\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\"],\n",
"\"cumsum_net_prem_in_k\":[0.0,0.0,-1.084,-1.084,-0.124,3.236,3.236,3.236,3.236,8.211,8.211,7.932,7.7250000000000005,7.7250000000000005,7.7250000000000005,6.465,6.465,6.465,6.465,6.465,6.465,6.465,4.025,1.165,1.165,1.165,1.165,0.04,0.04,0.04,1.2,-11.35,-11.35,0.49,0.49,1.0,1.57,1.57,-2.2800000000000002,-2.2800000000000002,3.43,3.43,3.43,3.4450000000000003,3.59,3.59,3.553,13.013,13.013,6.523000000000001,5.623,8.373,9.533,9.533,8.183,6.853,5.523,10.243,10.943,11.643]\n",
"},\n",
"\"mapping\":{\n",
"\"x\":\"hms_str\",\n",
"\"y\":\"cumsum_net_prem_in_k\",\n",
"\"color\":\"flow_type\"\n",
"},\n",
"\"data_meta\":{\n",
"\"series_annotations\":[{\n",
"\"type\":\"str\",\n",
"\"column\":\"hms_str\"\n",
"},{\n",
"\"type\":\"str\",\n",
"\"column\":\"flow_type\"\n",
"},{\n",
"\"type\":\"float\",\n",
"\"column\":\"cumsum_net_prem_in_k\"\n",
"}]\n",
"},\n",
"\"ggtitle\":{\n",
"\"text\":\"2025-11-18: LPLA\"\n",
"},\n",
"\"guides\":{\n",
"\"x\":{\n",
"\"title\":\"Timestamp\"\n",
"},\n",
"\"y\":{\n",
"\"title\":\"Net Prem $K\"\n",
"}\n",
"},\n",
"\"theme\":{\n",
"\"name\":\"none\",\n",
"\"line\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"rect\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#1E3A5F\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"text\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":10.0,\n",
"\"blank\":false\n",
"},\n",
"\"axis_ontop\":true,\n",
"\"axis_ticks\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"legend_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"panel_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"panel_grid_major\":{\n",
"\"blank\":true\n",
"},\n",
"\"panel_grid_minor\":{\n",
"\"blank\":true\n",
"},\n",
"\"plot_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"plot_title\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":16.0,\n",
"\"hjust\":0.5,\n",
"\"blank\":false\n",
"},\n",
"\"axis_tooltip\":{\n",
"\"color\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"tooltip\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"blank\":false\n",
"},\n",
"\"legend_position\":\"none\",\n",
"\"axis_title_x\":{\n",
"\"blank\":true\n",
"}\n",
"},\n",
"\"kind\":\"plot\",\n",
"\"scales\":[{\n",
"\"aesthetic\":\"color\",\n",
"\"breaks\":[\"cumsum_net_call_prem_in_mil\",\"cumsum_net_put_prem_in_mil\",\"price\"],\n",
"\"values\":[\"#20c997\",\"#dc3545\",\"#FFFFFF\"]\n",
"}],\n",
"\"layers\":[{\n",
"\"geom\":\"line\",\n",
"\"mapping\":{\n",
"},\n",
"\"data_meta\":{\n",
"},\n",
"\"size\":1.0,\n",
"\"data\":{\n",
"}\n",
"}],\n",
"\"metainfo_list\":[],\n",
"\"spec_id\":\"1\"\n",
"},{\n",
"\"data\":{\n",
"\"hms_str\":[\"09:47\",\"09:48\",\"09:49\",\"09:50\",\"09:51\",\"09:52\",\"09:53\",\"09:54\",\"09:55\",\"09:56\",\"09:57\",\"09:58\",\"09:59\",\"10:00\",\"10:01\",\"10:02\",\"10:03\",\"10:04\",\"10:05\",\"10:06\",\"10:07\",\"10:08\",\"10:09\",\"10:10\",\"10:11\",\"10:12\",\"10:13\",\"10:14\",\"10:15\",\"10:16\",\"10:17\",\"10:18\",\"10:19\",\"10:20\",\"10:21\",\"10:22\",\"10:23\",\"10:24\",\"10:25\",\"10:27\",\"10:28\",\"10:29\",\"10:30\",\"10:31\",\"10:32\",\"10:33\",\"10:34\",\"10:35\",\"10:36\",\"10:37\",\"10:38\",\"10:39\",\"10:40\",\"10:41\",\"10:42\",\"10:43\",\"10:44\",\"10:45\",\"10:46\",\"10:47\",\"10:48\",\"10:49\",\"10:50\",\"10:51\",\"10:52\",\"10:53\",\"10:54\",\"10:55\",\"10:56\",\"10:57\",\"10:59\",\"11:00\",\"11:01\",\"11:03\",\"11:04\",\"11:05\",\"11:07\",\"11:08\",\"11:09\",\"11:10\",\"11:11\",\"11:12\",\"11:13\",\"11:14\",\"11:15\",\"11:16\",\"11:18\",\"11:19\",\"11:20\",\"11:23\",\"11:24\",\"11:25\",\"11:26\",\"11:27\",\"11:29\",\"11:31\",\"11:32\",\"11:33\",\"11:35\",\"11:36\",\"11:38\",\"11:39\",\"11:40\",\"11:41\",\"11:42\",\"11:44\",\"11:46\",\"11:47\",\"11:48\",\"11:49\",\"11:50\",\"11:51\",\"11:52\",\"11:53\",\"11:55\",\"11:56\",\"11:57\",\"11:58\",\"11:59\",\"12:04\",\"12:05\",\"12:07\",\"12:09\",\"12:12\",\"12:13\",\"12:14\",\"12:16\",\"12:17\",\"12:18\",\"12:20\",\"12:21\",\"12:22\",\"12:23\",\"12:24\",\"12:26\",\"12:27\",\"12:29\",\"12:30\",\"12:31\",\"12:34\",\"12:35\",\"12:36\",\"12:37\",\"12:38\",\"12:39\",\"12:40\",\"12:42\",\"12:45\",\"12:46\",\"12:47\",\"12:48\",\"12:49\",\"12:50\",\"12:51\",\"12:52\",\"12:53\",\"12:54\",\"12:56\",\"12:57\",\"12:58\",\"12:59\",\"13:00\",\"13:01\",\"13:05\",\"13:07\",\"13:08\",\"13:09\",\"13:10\",\"13:11\",\"13:13\",\"13:15\",\"13:16\",\"13:17\",\"13:18\",\"13:20\",\"13:22\",\"13:25\",\"13:26\",\"13:27\",\"13:28\",\"13:30\",\"13:31\",\"13:32\",\"13:33\",\"13:35\",\"13:36\",\"13:37\",\"13:38\",\"13:39\",\"13:40\",\"13:41\",\"13:42\",\"13:43\",\"13:48\",\"13:49\",\"13:50\",\"13:51\",\"13:52\",\"13:54\",\"13:55\",\"13:56\",\"13:57\",\"13:58\",\"13:59\",\"14:00\",\"14:01\",\"14:05\",\"14:10\",\"14:11\",\"14:12\",\"14:13\",\"14:14\",\"14:15\",\"14:16\",\"14:17\",\"14:18\",\"14:19\",\"14:20\",\"14:21\",\"14:22\",\"14:23\",\"14:25\",\"14:27\",\"14:28\",\"14:29\",\"14:30\",\"14:33\",\"14:34\",\"14:35\",\"14:36\",\"14:37\",\"14:38\",\"14:39\",\"14:40\",\"14:41\",\"14:42\",\"14:44\",\"14:45\",\"14:46\",\"14:47\",\"14:48\",\"14:49\",\"14:50\",\"14:51\",\"14:53\",\"14:54\",\"14:55\",\"14:56\",\"14:57\",\"14:58\",\"15:00\",\"15:01\",\"15:02\",\"15:03\",\"15:05\",\"15:06\",\"15:08\",\"15:09\",\"15:10\",\"15:11\",\"15:13\",\"15:14\",\"15:15\",\"15:16\",\"15:17\",\"15:18\",\"15:19\",\"15:20\",\"15:21\",\"15:22\",\"15:23\",\"15:24\",\"15:25\",\"15:26\",\"15:27\",\"15:28\",\"15:29\",\"15:30\",\"15:31\",\"15:32\",\"15:33\",\"15:35\",\"15:36\",\"15:37\",\"15:38\",\"15:39\",\"15:40\",\"15:41\",\"15:42\",\"15:43\",\"15:45\",\"15:46\",\"15:47\",\"15:48\",\"15:49\",\"15:50\",\"15:51\",\"15:52\",\"15:53\",\"15:54\",\"15:55\",\"15:56\",\"15:57\",\"15:58\"],\n",
"\"price\":[359.1,359.91,359.54,359.0025,359.12,357.81,358.73,358.69,358.265,357.17,358.65,358.99,358.255,357.8075,358.59,358.2,356.545,356.545,356.38,357.14,356.71,356.525,356.18,357.62,356.83,357.02,357.33,357.66,355.875,356.03,356.115,356.4925,356.755,357.96,358.4,357.92,359.15,358.1175,358.99,358.28,358.27,358.27,359.54,359.03,360.285,359.76,359.2,359.01,359.52,358.95,359.24,359.165,359.165,359.59,359.42,359.42,359.8,359.52,360.06,360.09,359.38,359.03,357.99,358.63,359.2,359.06,359.57,359.725,359.64,360.53,359.775,359.7,359.62,359.46,358.32,359.38,358.8636,360.42,360.4,360.595,361.19,361.0,361.56,361.56,360.08,360.41,360.86,360.97,361.215,360.97,361.39,361.98,362.435,362.77,362.49,362.93,361.76,361.95,361.775,361.775,361.37,360.645,360.2975,359.64,359.43,359.3975,359.16,358.55,359.6,360.0,360.0399,359.455,359.69,359.99,360.04,359.66,359.5,359.31,359.31,357.86,357.47,357.89,358.035,358.035,358.035,358.035,358.39,358.035,358.74,357.4701,359.11,358.335,358.53,358.65,358.52,357.61,358.09,358.29,357.96,358.52,358.82,359.25,358.4701,359.6405,360.46,361.08,361.71,361.43,361.01,360.97,361.015,360.88,360.29,359.99,360.55,360.55,360.55,361.11,361.28,361.57,361.4475,361.43,361.88,361.445,361.445,361.89,361.2,361.405,361.05,361.635,361.14,361.27,360.865,361.23,361.035,361.6,360.914,361.455,362.11,361.93,361.89,362.05,362.11,361.89,361.65,361.3535,361.81,362.03,362.27,362.1025,362.02,361.625,361.02,360.96,361.055,361.055,361.055,361.65,361.99,361.2,360.88,360.8,360.5225,360.92,360.99,361.24,360.68,361.81,361.12,361.69,361.11,361.76,361.56,361.21,361.61,361.55,361.78,361.595,361.255,361.06,361.0022,360.685,360.78,360.54,360.465,361.49,361.65,361.62,361.19,361.58,361.3564,361.435,361.93,361.895,361.51,361.2933,360.89,361.15,361.155,361.68,361.44,361.16,360.65,360.29,359.88,360.1951,360.2,360.72,360.55,360.555,360.6198,360.58,360.535,360.4945,360.35,360.5,359.88,360.13,360.04,360.04,360.38,360.2275,360.49,360.67,361.17,361.2572,361.0,361.5,361.545,361.38,361.34,361.15,360.82,360.65,360.35,360.16,360.235,360.66,360.49,360.29,360.0101,360.1074,360.235,360.3,360.52,360.36,360.275,360.265,360.1,359.88,359.9,359.55,359.665,359.93,359.56,359.22,359.01,358.924,359.02,356.85,355.96,356.15,356.01,355.53]\n",
"},\n",
"\"mapping\":{\n",
"\"x\":\"hms_str\",\n",
"\"y\":\"price\"\n",
"},\n",
"\"data_meta\":{\n",
"\"series_annotations\":[{\n",
"\"type\":\"str\",\n",
"\"column\":\"hms_str\"\n",
"},{\n",
"\"type\":\"str\",\n",
"\"column\":\"ohlc_type\"\n",
"},{\n",
"\"type\":\"float\",\n",
"\"column\":\"price\"\n",
"}]\n",
"},\n",
"\"ggtitle\":{\n",
"\"text\":\"LPLA Price\"\n",
"},\n",
"\"guides\":{\n",
"\"x\":{\n",
"\"title\":\"Timestamp\"\n",
"},\n",
"\"y\":{\n",
"\"title\":\"LPLA Price\"\n",
"}\n",
"},\n",
"\"theme\":{\n",
"\"name\":\"none\",\n",
"\"line\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"rect\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#1E3A5F\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"text\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":10.0,\n",
"\"blank\":false\n",
"},\n",
"\"axis_ontop\":true,\n",
"\"axis_ticks\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"legend_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"panel_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"panel_grid_major\":{\n",
"\"blank\":true\n",
"},\n",
"\"panel_grid_minor\":{\n",
"\"blank\":true\n",
"},\n",
"\"plot_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"plot_title\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":16.0,\n",
"\"hjust\":0.5,\n",
"\"blank\":true\n",
"},\n",
"\"axis_tooltip\":{\n",
"\"color\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"tooltip\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"blank\":false\n",
"},\n",
"\"legend_position\":\"none\",\n",
"\"axis_title_x\":{\n",
"\"blank\":true\n",
"}\n",
"},\n",
"\"kind\":\"plot\",\n",
"\"scales\":[],\n",
"\"layers\":[{\n",
"\"geom\":\"line\",\n",
"\"mapping\":{\n",
"},\n",
"\"data_meta\":{\n",
"},\n",
"\"size\":1.0,\n",
"\"color\":\"#FFFFFF\",\n",
"\"data\":{\n",
"}\n",
"}],\n",
"\"metainfo_list\":[],\n",
"\"spec_id\":\"2\"\n",
"}]\n",
"},{\n",
"\"theme\":{\n",
"\"plot_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"}\n",
"},\n",
"\"kind\":\"subplots\",\n",
"\"layout\":{\n",
"\"ncol\":1.0,\n",
"\"nrow\":2.0,\n",
"\"align\":true,\n",
"\"name\":\"grid\"\n",
"},\n",
"\"figures\":[{\n",
"\"data\":{\n",
"\"hms_str\":[\"09:30\",\"09:32\",\"09:33\",\"09:34\",\"09:45\",\"09:46\",\"09:56\",\"09:59\",\"10:00\",\"10:05\",\"10:17\",\"10:41\",\"10:42\",\"10:51\",\"10:52\",\"10:54\",\"10:58\",\"11:01\",\"11:07\",\"11:11\",\"11:18\",\"11:50\",\"11:58\",\"12:22\",\"12:38\",\"12:55\",\"13:26\",\"13:29\",\"13:35\",\"13:36\",\"13:37\",\"13:40\",\"13:44\",\"13:55\",\"13:58\",\"13:59\",\"14:01\",\"14:10\",\"14:33\",\"14:51\",\"15:17\",\"15:43\",\"15:49\",\"15:58\",\"09:30\",\"09:32\",\"09:33\",\"09:34\",\"09:45\",\"09:46\",\"09:56\",\"09:59\",\"10:00\",\"10:05\",\"10:17\",\"10:41\",\"10:42\",\"10:51\",\"10:52\",\"10:54\",\"10:58\",\"11:01\",\"11:07\",\"11:11\",\"11:18\",\"11:50\",\"11:58\",\"12:22\",\"12:38\",\"12:55\",\"13:26\",\"13:29\",\"13:35\",\"13:36\",\"13:37\",\"13:40\",\"13:44\",\"13:55\",\"13:58\",\"13:59\",\"14:01\",\"14:10\",\"14:33\",\"14:51\",\"15:17\",\"15:43\",\"15:49\",\"15:58\"],\n",
"\"flow_type\":[\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\"],\n",
"\"cumsum_net_prem_in_k\":[0.0,0.0,0.0,0.0,0.0,0.0,7.0,7.0,7.0,8.25,8.25,8.25,8.25,8.25,8.25,8.25,8.25,18.928,19.598,23.07,23.07,25.2,21.66,20.412,11.412,11.412,11.412,9.737,9.737,9.737,9.737,9.737,9.737,9.737,10.362,10.362,10.362,14.442,14.442,14.442,14.442,14.442,13.282,13.282,-8.23,-8.23,-20.514,-63.398,-63.398,-60.526,-60.526,-69.316,-57.928000000000004,-60.982,-60.982,-73.418,-72.668,-78.83800000000001,-99.578,-103.71300000000001,-118.028,-118.028,-118.028,-118.028,-155.06,-155.06,-155.06,-155.06,-155.06,-153.32,-153.32,-153.32,-147.254,-147.994,-148.734,-148.014,-148.744,-124.04,-124.04,-124.81,-132.01,-132.01,-126.17,-128.22,-153.22,-162.36,-162.36,-151.56]\n",
"},\n",
"\"mapping\":{\n",
"\"x\":\"hms_str\",\n",
"\"y\":\"cumsum_net_prem_in_k\",\n",
"\"color\":\"flow_type\"\n",
"},\n",
"\"data_meta\":{\n",
"\"series_annotations\":[{\n",
"\"type\":\"str\",\n",
"\"column\":\"hms_str\"\n",
"},{\n",
"\"type\":\"str\",\n",
"\"column\":\"flow_type\"\n",
"},{\n",
"\"type\":\"float\",\n",
"\"column\":\"cumsum_net_prem_in_k\"\n",
"}]\n",
"},\n",
"\"ggtitle\":{\n",
"\"text\":\"2025-11-18: AMP\"\n",
"},\n",
"\"guides\":{\n",
"\"x\":{\n",
"\"title\":\"Timestamp\"\n",
"},\n",
"\"y\":{\n",
"\"title\":\"Net Prem $K\"\n",
"}\n",
"},\n",
"\"theme\":{\n",
"\"name\":\"none\",\n",
"\"line\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"rect\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#1E3A5F\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"text\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":10.0,\n",
"\"blank\":false\n",
"},\n",
"\"axis_ontop\":true,\n",
"\"axis_ticks\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"legend_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"panel_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"panel_grid_major\":{\n",
"\"blank\":true\n",
"},\n",
"\"panel_grid_minor\":{\n",
"\"blank\":true\n",
"},\n",
"\"plot_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"plot_title\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":16.0,\n",
"\"hjust\":0.5,\n",
"\"blank\":false\n",
"},\n",
"\"axis_tooltip\":{\n",
"\"color\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"tooltip\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"blank\":false\n",
"},\n",
"\"legend_position\":\"none\",\n",
"\"axis_title_x\":{\n",
"\"blank\":true\n",
"}\n",
"},\n",
"\"kind\":\"plot\",\n",
"\"scales\":[{\n",
"\"aesthetic\":\"color\",\n",
"\"breaks\":[\"cumsum_net_call_prem_in_mil\",\"cumsum_net_put_prem_in_mil\",\"price\"],\n",
"\"values\":[\"#20c997\",\"#dc3545\",\"#FFFFFF\"]\n",
"}],\n",
"\"layers\":[{\n",
"\"geom\":\"line\",\n",
"\"mapping\":{\n",
"},\n",
"\"data_meta\":{\n",
"},\n",
"\"size\":1.0,\n",
"\"data\":{\n",
"}\n",
"}],\n",
"\"metainfo_list\":[],\n",
"\"spec_id\":\"3\"\n",
"},{\n",
"\"data\":{\n",
"\"hms_str\":[\"09:30\",\"09:31\",\"09:32\",\"09:33\",\"09:35\",\"09:36\",\"09:37\",\"09:38\",\"09:39\",\"09:40\",\"09:41\",\"09:42\",\"09:43\",\"09:44\",\"09:45\",\"09:46\",\"09:47\",\"09:48\",\"09:49\",\"09:50\",\"09:51\",\"09:52\",\"09:53\",\"09:54\",\"09:55\",\"09:56\",\"09:57\",\"09:58\",\"09:59\",\"10:00\",\"10:01\",\"10:02\",\"10:03\",\"10:04\",\"10:05\",\"10:06\",\"10:07\",\"10:08\",\"10:09\",\"10:10\",\"10:11\",\"10:12\",\"10:13\",\"10:14\",\"10:15\",\"10:16\",\"10:17\",\"10:18\",\"10:19\",\"10:20\",\"10:21\",\"10:22\",\"10:23\",\"10:24\",\"10:25\",\"10:26\",\"10:27\",\"10:29\",\"10:30\",\"10:31\",\"10:32\",\"10:33\",\"10:34\",\"10:35\",\"10:36\",\"10:37\",\"10:38\",\"10:39\",\"10:40\",\"10:41\",\"10:42\",\"10:43\",\"10:44\",\"10:45\",\"10:46\",\"10:47\",\"10:48\",\"10:49\",\"10:50\",\"10:51\",\"10:52\",\"10:53\",\"10:55\",\"10:56\",\"10:57\",\"10:58\",\"10:59\",\"11:00\",\"11:01\",\"11:02\",\"11:03\",\"11:04\",\"11:06\",\"11:07\",\"11:08\",\"11:09\",\"11:10\",\"11:12\",\"11:13\",\"11:14\",\"11:15\",\"11:16\",\"11:17\",\"11:18\",\"11:22\",\"11:23\",\"11:24\",\"11:25\",\"11:26\",\"11:27\",\"11:29\",\"11:30\",\"11:31\",\"11:32\",\"11:33\",\"11:35\",\"11:36\",\"11:37\",\"11:38\",\"11:39\",\"11:40\",\"11:41\",\"11:42\",\"11:43\",\"11:44\",\"11:45\",\"11:46\",\"11:47\",\"11:48\",\"11:49\",\"11:50\",\"11:51\",\"11:52\",\"11:53\",\"11:55\",\"11:56\",\"11:57\",\"11:58\",\"11:59\",\"12:00\",\"12:01\",\"12:03\",\"12:04\",\"12:05\",\"12:06\",\"12:07\",\"12:08\",\"12:09\",\"12:10\",\"12:11\",\"12:12\",\"12:14\",\"12:15\",\"12:16\",\"12:17\",\"12:18\",\"12:19\",\"12:20\",\"12:21\",\"12:22\",\"12:23\",\"12:24\",\"12:25\",\"12:26\",\"12:27\",\"12:28\",\"12:29\",\"12:30\",\"12:31\",\"12:32\",\"12:33\",\"12:34\",\"12:35\",\"12:36\",\"12:37\",\"12:38\",\"12:39\",\"12:40\",\"12:41\",\"12:42\",\"12:43\",\"12:45\",\"12:46\",\"12:48\",\"12:49\",\"12:50\",\"12:51\",\"12:52\",\"12:53\",\"12:54\",\"12:55\",\"12:56\",\"12:57\",\"12:58\",\"12:59\",\"13:00\",\"13:01\",\"13:02\",\"13:03\",\"13:04\",\"13:05\",\"13:07\",\"13:08\",\"13:09\",\"13:11\",\"13:12\",\"13:13\",\"13:14\",\"13:15\",\"13:16\",\"13:17\",\"13:19\",\"13:20\",\"13:21\",\"13:22\",\"13:23\",\"13:24\",\"13:25\",\"13:26\",\"13:27\",\"13:28\",\"13:29\",\"13:31\",\"13:32\",\"13:33\",\"13:34\",\"13:35\",\"13:36\",\"13:37\",\"13:38\",\"13:39\",\"13:40\",\"13:41\",\"13:42\",\"13:43\",\"13:44\",\"13:45\",\"13:47\",\"13:48\",\"13:49\",\"13:50\",\"13:51\",\"13:52\",\"13:53\",\"13:54\",\"13:55\",\"13:56\",\"13:57\",\"13:58\",\"13:59\",\"14:00\",\"14:01\",\"14:02\",\"14:03\",\"14:04\",\"14:05\",\"14:06\",\"14:07\",\"14:08\",\"14:09\",\"14:10\",\"14:11\",\"14:12\",\"14:13\",\"14:14\",\"14:15\",\"14:16\",\"14:17\",\"14:18\",\"14:19\",\"14:20\",\"14:21\",\"14:22\",\"14:23\",\"14:24\",\"14:25\",\"14:27\",\"14:28\",\"14:29\",\"14:31\",\"14:32\",\"14:33\",\"14:34\",\"14:35\",\"14:36\",\"14:37\",\"14:38\",\"14:39\",\"14:40\",\"14:41\",\"14:42\",\"14:43\",\"14:44\",\"14:45\",\"14:46\",\"14:47\",\"14:48\",\"14:49\",\"14:50\",\"14:51\",\"14:52\",\"14:53\",\"14:54\",\"14:55\",\"14:56\",\"14:57\",\"14:58\",\"14:59\",\"15:00\",\"15:01\",\"15:02\",\"15:03\",\"15:04\",\"15:05\",\"15:06\",\"15:07\",\"15:08\",\"15:09\",\"15:10\",\"15:11\",\"15:13\",\"15:14\",\"15:15\",\"15:16\",\"15:17\",\"15:18\",\"15:19\",\"15:20\",\"15:21\",\"15:22\",\"15:23\",\"15:24\",\"15:25\",\"15:26\",\"15:27\",\"15:28\",\"15:29\",\"15:30\",\"15:31\",\"15:32\",\"15:33\",\"15:34\",\"15:35\",\"15:36\",\"15:37\",\"15:38\",\"15:39\",\"15:40\",\"15:41\",\"15:42\",\"15:43\",\"15:44\",\"15:45\",\"15:46\",\"15:47\",\"15:48\",\"15:49\",\"15:50\",\"15:51\",\"15:52\",\"15:53\",\"15:54\",\"15:55\",\"15:56\",\"15:57\",\"15:58\"],\n",
"\"price\":[433.055,434.5464,437.35,438.8,438.5,439.0575,438.845,438.99,440.205,438.99,441.09,440.735,441.56,441.01,441.71,441.585,440.77,441.79,439.68,440.55,439.855,438.6686,439.58,440.0518,439.3,439.4375,440.305,440.2225,440.41,440.77,440.595,440.09,438.895,439.02,439.34,438.72,439.39,438.91,437.99,438.86,438.91,438.49,439.19,438.44,437.7,437.525,437.87,437.7401,438.085,438.07,438.73,438.7,439.81,438.85,438.84,438.79,438.06,438.0,438.56,437.75,439.0975,438.58,438.38,438.5299,438.15,438.215,438.79,438.88,438.04,438.77,438.27,438.41,438.68,438.365,438.21,438.54,439.61,439.235,439.09,439.945,440.515,440.17,440.555,440.85,441.55,441.19,441.015,440.865,441.08,441.21,440.73,441.52,441.41,442.05,442.375,442.74,442.77,442.83,442.68,442.43,442.16,441.79,441.53,441.43,441.89,442.09,442.0701,442.18,442.73,442.77,443.23,443.125,443.07,443.115,443.095,443.095,443.095,443.5,443.405,442.72,442.665,443.07,442.63,442.37,442.41,442.38,442.14,441.88,442.28,441.7001,442.285,441.59,441.37,441.545,441.75,441.13,440.68,441.095,441.09,441.11,440.53,440.17,440.28,439.84,439.38,439.72,439.95,439.415,439.65,439.47,439.59,439.8,440.22,439.55,439.39,439.94,439.72,439.76,439.995,439.37,439.36,439.6357,439.27,439.1,438.11,438.325,438.145,437.8975,437.74,438.24,438.26,438.235,438.43,438.66,438.1701,438.885,439.46,439.8775,440.11,440.675,440.72,441.17,440.77,440.8281,441.53,441.18,441.46,441.53,441.9419,441.66,441.66,442.0,442.465,442.8371,442.5925,442.14,442.23,441.99,441.82,441.655,441.97,441.84,441.815,441.49,442.135,442.66,442.14,441.96,441.78,442.19,441.76,442.145,441.533,441.62,441.62,442.06,441.725,441.525,441.375,441.645,441.42,441.07,441.2,441.375,441.38,441.21,441.4,441.1,440.95,441.41,441.7575,442.61,442.605,441.96,441.545,441.86,441.27,441.36,441.36,441.32,441.19,441.255,441.24,441.33,441.34,441.01,440.985,440.96,440.98,440.97,441.37,441.32,441.88,441.35,441.79,442.14,441.975,441.675,441.85,442.2,442.45,443.02,443.485,443.71,443.59,443.3,443.43,443.555,443.66,443.84,444.25,443.8675,443.995,443.4001,443.46,443.83,443.73,443.53,443.405,443.62,443.52,443.475,443.31,443.96,443.985,444.665,444.785,445.03,445.065,444.51,444.38,444.56,444.395,444.39,444.78,445.38,445.0,444.82,444.76,444.63,444.7855,444.54,444.36,444.7,444.595,444.59,444.805,444.94,445.5,445.495,445.31,445.51,445.355,445.06,445.18,445.14,445.3,445.2,445.455,445.37,445.46,445.34,444.715,444.92,444.8088,445.24,445.3699,445.51,445.51,445.69,445.75,445.75,444.795,444.7925,445.015,444.635,444.58,445.09,444.91,444.79,444.75,444.53,444.56,444.675,445.02,445.09,445.352,445.195,445.339,444.73,444.965,444.77,444.96,443.95,444.33,444.64,444.37,444.5496,444.7,443.95,444.235,444.025,443.84,443.64,443.26,442.78]\n",
"},\n",
"\"mapping\":{\n",
"\"x\":\"hms_str\",\n",
"\"y\":\"price\"\n",
"},\n",
"\"data_meta\":{\n",
"\"series_annotations\":[{\n",
"\"type\":\"str\",\n",
"\"column\":\"hms_str\"\n",
"},{\n",
"\"type\":\"str\",\n",
"\"column\":\"ohlc_type\"\n",
"},{\n",
"\"type\":\"float\",\n",
"\"column\":\"price\"\n",
"}]\n",
"},\n",
"\"ggtitle\":{\n",
"\"text\":\"AMP Price\"\n",
"},\n",
"\"guides\":{\n",
"\"x\":{\n",
"\"title\":\"Timestamp\"\n",
"},\n",
"\"y\":{\n",
"\"title\":\"AMP Price\"\n",
"}\n",
"},\n",
"\"theme\":{\n",
"\"name\":\"none\",\n",
"\"line\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"rect\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#1E3A5F\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"text\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":10.0,\n",
"\"blank\":false\n",
"},\n",
"\"axis_ontop\":true,\n",
"\"axis_ticks\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"legend_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"panel_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"panel_grid_major\":{\n",
"\"blank\":true\n",
"},\n",
"\"panel_grid_minor\":{\n",
"\"blank\":true\n",
"},\n",
"\"plot_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"plot_title\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":16.0,\n",
"\"hjust\":0.5,\n",
"\"blank\":true\n",
"},\n",
"\"axis_tooltip\":{\n",
"\"color\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"tooltip\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"blank\":false\n",
"},\n",
"\"legend_position\":\"none\",\n",
"\"axis_title_x\":{\n",
"\"blank\":true\n",
"}\n",
"},\n",
"\"kind\":\"plot\",\n",
"\"scales\":[],\n",
"\"layers\":[{\n",
"\"geom\":\"line\",\n",
"\"mapping\":{\n",
"},\n",
"\"data_meta\":{\n",
"},\n",
"\"size\":1.0,\n",
"\"color\":\"#FFFFFF\",\n",
"\"data\":{\n",
"}\n",
"}],\n",
"\"metainfo_list\":[],\n",
"\"spec_id\":\"4\"\n",
"}]\n",
"},{\n",
"\"theme\":{\n",
"\"plot_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"}\n",
"},\n",
"\"kind\":\"subplots\",\n",
"\"layout\":{\n",
"\"ncol\":1.0,\n",
"\"nrow\":2.0,\n",
"\"align\":true,\n",
"\"name\":\"grid\"\n",
"},\n",
"\"figures\":[{\n",
"\"data\":{\n",
"\"hms_str\":[\"09:30\",\"09:38\",\"09:54\",\"10:18\",\"10:19\",\"10:23\",\"10:24\",\"10:30\",\"10:33\",\"10:41\",\"10:46\",\"11:07\",\"11:11\",\"11:25\",\"11:26\",\"11:28\",\"11:31\",\"11:35\",\"11:36\",\"11:42\",\"11:47\",\"11:48\",\"12:09\",\"12:17\",\"12:18\",\"12:58\",\"13:22\",\"13:28\",\"13:34\",\"13:35\",\"13:38\",\"13:40\",\"13:47\",\"13:59\",\"14:12\",\"14:13\",\"14:24\",\"14:30\",\"14:48\",\"14:49\",\"15:06\",\"15:34\",\"15:39\",\"15:46\",\"09:30\",\"09:38\",\"09:54\",\"10:18\",\"10:19\",\"10:23\",\"10:24\",\"10:30\",\"10:33\",\"10:41\",\"10:46\",\"11:07\",\"11:11\",\"11:25\",\"11:26\",\"11:28\",\"11:31\",\"11:35\",\"11:36\",\"11:42\",\"11:47\",\"11:48\",\"12:09\",\"12:17\",\"12:18\",\"12:58\",\"13:22\",\"13:28\",\"13:34\",\"13:35\",\"13:38\",\"13:40\",\"13:47\",\"13:59\",\"14:12\",\"14:13\",\"14:24\",\"14:30\",\"14:48\",\"14:49\",\"15:06\",\"15:34\",\"15:39\",\"15:46\"],\n",
"\"flow_type\":[\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\"],\n",
"\"cumsum_net_prem_in_k\":[-0.051000000000000004,-0.051000000000000004,-0.053,-0.061,-0.061,-0.061,-0.061,-0.061,0.34900000000000003,-4.4510000000000005,-4.4510000000000005,-3.846,-3.846,-4.366,-5.006,-5.006,-4.466,-4.466,-5.006,-4.456,-4.966,-4.966,-4.634,12.174,12.174,12.179,29.067,29.067,28.887,31.086000000000002,32.301,32.301,33.579,33.579,33.351,31.791,31.791,31.791,31.07,29.178,46.206,46.206,45.978,45.978,6.075,4.6530000000000005,4.6530000000000005,4.6530000000000005,6.263,5.363,4.92,7.0200000000000005,7.0200000000000005,7.0200000000000005,6.4,6.4,6.675,6.855,6.855,6.855,6.495,5.875,5.875,5.875,5.875,5.525,5.525,5.525,8.675,8.675,8.675,8.792,8.792,8.792,8.792,28.192,28.192,29.482,29.482,29.482,29.382,28.122,28.122,28.122,28.122,29.742,29.742,30.212]\n",
"},\n",
"\"mapping\":{\n",
"\"x\":\"hms_str\",\n",
"\"y\":\"cumsum_net_prem_in_k\",\n",
"\"color\":\"flow_type\"\n",
"},\n",
"\"data_meta\":{\n",
"\"series_annotations\":[{\n",
"\"type\":\"str\",\n",
"\"column\":\"hms_str\"\n",
"},{\n",
"\"type\":\"str\",\n",
"\"column\":\"flow_type\"\n",
"},{\n",
"\"type\":\"float\",\n",
"\"column\":\"cumsum_net_prem_in_k\"\n",
"}]\n",
"},\n",
"\"ggtitle\":{\n",
"\"text\":\"2025-11-18: RJF\"\n",
"},\n",
"\"guides\":{\n",
"\"x\":{\n",
"\"title\":\"Timestamp\"\n",
"},\n",
"\"y\":{\n",
"\"title\":\"Net Prem $K\"\n",
"}\n",
"},\n",
"\"theme\":{\n",
"\"name\":\"none\",\n",
"\"line\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"rect\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#1E3A5F\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"text\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":10.0,\n",
"\"blank\":false\n",
"},\n",
"\"axis_ontop\":true,\n",
"\"axis_ticks\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"legend_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"panel_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"panel_grid_major\":{\n",
"\"blank\":true\n",
"},\n",
"\"panel_grid_minor\":{\n",
"\"blank\":true\n",
"},\n",
"\"plot_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"plot_title\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":16.0,\n",
"\"hjust\":0.5,\n",
"\"blank\":false\n",
"},\n",
"\"axis_tooltip\":{\n",
"\"color\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"tooltip\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"blank\":false\n",
"},\n",
"\"legend_position\":\"none\",\n",
"\"axis_title_x\":{\n",
"\"blank\":true\n",
"}\n",
"},\n",
"\"kind\":\"plot\",\n",
"\"scales\":[{\n",
"\"aesthetic\":\"color\",\n",
"\"breaks\":[\"cumsum_net_call_prem_in_mil\",\"cumsum_net_put_prem_in_mil\",\"price\"],\n",
"\"values\":[\"#20c997\",\"#dc3545\",\"#FFFFFF\"]\n",
"}],\n",
"\"layers\":[{\n",
"\"geom\":\"line\",\n",
"\"mapping\":{\n",
"},\n",
"\"data_meta\":{\n",
"},\n",
"\"size\":1.0,\n",
"\"data\":{\n",
"}\n",
"}],\n",
"\"metainfo_list\":[],\n",
"\"spec_id\":\"5\"\n",
"},{\n",
"\"data\":{\n",
"\"hms_str\":[\"09:30\",\"09:31\",\"09:32\",\"09:34\",\"09:35\",\"09:36\",\"09:37\",\"09:41\",\"09:42\",\"09:44\",\"09:45\",\"09:47\",\"09:50\",\"09:51\",\"09:52\",\"09:53\",\"09:54\",\"09:56\",\"09:57\",\"10:00\",\"10:02\",\"10:04\",\"10:05\",\"10:06\",\"10:07\",\"10:08\",\"10:09\",\"10:10\",\"10:11\",\"10:12\",\"10:13\",\"10:14\",\"10:15\",\"10:16\",\"10:17\",\"10:18\",\"10:19\",\"10:20\",\"10:21\",\"10:22\",\"10:23\",\"10:24\",\"10:26\",\"10:28\",\"10:29\",\"10:30\",\"10:31\",\"10:32\",\"10:33\",\"10:34\",\"10:36\",\"10:37\",\"10:38\",\"10:39\",\"10:40\",\"10:41\",\"10:43\",\"10:44\",\"10:45\",\"10:46\",\"10:47\",\"10:48\",\"10:49\",\"10:50\",\"10:51\",\"10:52\",\"10:54\",\"10:55\",\"10:56\",\"10:57\",\"10:58\",\"10:59\",\"11:00\",\"11:01\",\"11:02\",\"11:03\",\"11:04\",\"11:05\",\"11:06\",\"11:07\",\"11:08\",\"11:09\",\"11:10\",\"11:11\",\"11:12\",\"11:13\",\"11:15\",\"11:16\",\"11:17\",\"11:18\",\"11:19\",\"11:20\",\"11:21\",\"11:22\",\"11:23\",\"11:24\",\"11:25\",\"11:26\",\"11:27\",\"11:29\",\"11:30\",\"11:31\",\"11:32\",\"11:33\",\"11:35\",\"11:36\",\"11:37\",\"11:38\",\"11:39\",\"11:40\",\"11:41\",\"11:42\",\"11:43\",\"11:44\",\"11:45\",\"11:46\",\"11:47\",\"11:48\",\"11:49\",\"11:50\",\"11:51\",\"11:52\",\"11:53\",\"11:56\",\"11:57\",\"11:58\",\"11:59\",\"12:01\",\"12:02\",\"12:03\",\"12:04\",\"12:05\",\"12:06\",\"12:07\",\"12:08\",\"12:09\",\"12:10\",\"12:11\",\"12:12\",\"12:13\",\"12:14\",\"12:15\",\"12:16\",\"12:17\",\"12:18\",\"12:19\",\"12:20\",\"12:21\",\"12:22\",\"12:23\",\"12:24\",\"12:25\",\"12:26\",\"12:27\",\"12:28\",\"12:29\",\"12:30\",\"12:31\",\"12:32\",\"12:33\",\"12:35\",\"12:36\",\"12:37\",\"12:38\",\"12:39\",\"12:40\",\"12:41\",\"12:42\",\"12:43\",\"12:44\",\"12:45\",\"12:46\",\"12:47\",\"12:48\",\"12:49\",\"12:50\",\"12:51\",\"12:52\",\"12:53\",\"12:54\",\"12:56\",\"12:57\",\"12:58\",\"12:59\",\"13:00\",\"13:01\",\"13:02\",\"13:03\",\"13:05\",\"13:06\",\"13:07\",\"13:08\",\"13:09\",\"13:10\",\"13:11\",\"13:12\",\"13:13\",\"13:14\",\"13:15\",\"13:16\",\"13:17\",\"13:18\",\"13:19\",\"13:20\",\"13:21\",\"13:22\",\"13:23\",\"13:25\",\"13:26\",\"13:27\",\"13:29\",\"13:30\",\"13:31\",\"13:32\",\"13:33\",\"13:34\",\"13:35\",\"13:36\",\"13:37\",\"13:39\",\"13:40\",\"13:41\",\"13:42\",\"13:43\",\"13:44\",\"13:45\",\"13:46\",\"13:47\",\"13:48\",\"13:49\",\"13:50\",\"13:51\",\"13:53\",\"13:54\",\"13:55\",\"13:56\",\"13:57\",\"13:58\",\"13:59\",\"14:00\",\"14:01\",\"14:03\",\"14:05\",\"14:06\",\"14:07\",\"14:08\",\"14:09\",\"14:10\",\"14:11\",\"14:12\",\"14:13\",\"14:14\",\"14:15\",\"14:16\",\"14:17\",\"14:18\",\"14:19\",\"14:20\",\"14:21\",\"14:22\",\"14:23\",\"14:24\",\"14:25\",\"14:26\",\"14:27\",\"14:28\",\"14:30\",\"14:33\",\"14:34\",\"14:35\",\"14:36\",\"14:37\",\"14:38\",\"14:39\",\"14:40\",\"14:41\",\"14:42\",\"14:43\",\"14:44\",\"14:45\",\"14:47\",\"14:48\",\"14:49\",\"14:50\",\"14:51\",\"14:52\",\"14:54\",\"14:55\",\"14:56\",\"14:57\",\"14:58\",\"14:59\",\"15:00\",\"15:01\",\"15:02\",\"15:03\",\"15:04\",\"15:05\",\"15:06\",\"15:08\",\"15:12\",\"15:14\",\"15:15\",\"15:16\",\"15:17\",\"15:18\",\"15:19\",\"15:20\",\"15:21\",\"15:24\",\"15:25\",\"15:26\",\"15:28\",\"15:29\",\"15:30\",\"15:31\",\"15:32\",\"15:34\",\"15:35\",\"15:36\",\"15:37\",\"15:38\",\"15:39\",\"15:40\",\"15:42\",\"15:43\",\"15:44\",\"15:46\"],\n",
"\"price\":[154.48,154.49,154.78,154.885,154.96,154.77,154.77,154.57,155.065,154.84,155.195,155.34,155.375,155.43,154.91,155.035,155.4103,155.05,155.435,155.48,155.44,155.14,155.0,155.07,155.15,155.155,155.16,155.39,155.345,155.31,155.56,155.35,155.02,155.045,155.045,155.16,155.1575,155.13,155.69,155.36,155.66,155.65,155.57,155.35,155.34,155.505,155.325,155.65,155.4,155.205,155.2,155.205,155.285,155.185,155.08,155.15,155.13,154.9701,154.755,154.885,154.84,154.58,155.08,155.0,155.2,155.26,155.17,155.415,155.3935,155.37,155.3125,155.205,155.25,155.27,155.14,155.13,155.25,155.08,155.09,155.405,155.4,155.4,155.41,155.6,155.5,155.43,155.21,155.23,155.11,155.08,155.17,155.51,155.4,155.44,155.445,155.4775,155.8,155.805,155.805,155.72,155.86,155.97,155.84,155.81,155.89,155.87,156.04,156.02,155.835,155.835,155.9,155.9,155.905,155.71,155.835,155.895,155.75,155.845,155.845,155.72,155.55,155.605,155.46,155.4,155.4,155.55,155.54,155.535,155.61,155.48,155.42,155.4,155.44,155.445,155.49,155.465,155.44,155.44,155.4,155.46,155.4,155.33,155.38,155.32,155.365,155.365,155.375,155.39,155.19,155.195,155.42,155.405,155.35,155.11,155.08,155.035,155.03,155.0,155.04,155.01,155.24,155.3,155.36,155.38,155.66,155.82,155.845,156.04,156.07,156.015,155.935,155.79,155.93,156.08,156.23,156.22,156.16,156.28,156.35,156.32,156.36,156.52,156.57,156.52,156.58,156.48,156.42,156.42,156.46,156.56,156.52,156.43,156.4075,156.48,156.5,156.5,156.51,156.34,156.36,156.465,156.36,156.44,156.445,156.3,156.3,156.36,156.475,156.27,156.2,156.32,156.0,156.085,156.16,156.255,156.36,156.315,156.52,156.61,156.565,156.765,156.92,156.99,156.91,156.715,156.85,156.66,156.795,156.63,156.63,156.605,156.54,156.54,156.62,156.615,156.555,156.55,156.5,156.365,156.315,156.36,156.625,156.315,156.285,156.285,156.285,156.285,156.375,156.375,156.325,156.3223,156.34,156.42,156.2568,156.125,156.125,156.25,156.41,156.31,156.225,156.04,155.89,155.81,155.9091,155.89,155.87,155.79,155.815,155.97,155.875,156.11,156.165,156.22,156.11,156.245,156.25,156.12,156.18,156.07,155.97,156.075,156.3,156.13,156.025,156.08,155.92,155.93,155.905,155.92,156.08,156.045,156.0525,156.26,156.28,156.23,156.23,156.22,156.06,156.03,156.075,155.96,156.1,156.11,156.025,156.03,156.045,156.11,156.0,156.08,156.24,156.0,155.93,155.99,155.85,155.995,156.154,156.01,156.035,155.95,156.0,156.027,156.08,156.14,156.13,156.0,155.91,155.94,155.878,155.84]\n",
"},\n",
"\"mapping\":{\n",
"\"x\":\"hms_str\",\n",
"\"y\":\"price\"\n",
"},\n",
"\"data_meta\":{\n",
"\"series_annotations\":[{\n",
"\"type\":\"str\",\n",
"\"column\":\"hms_str\"\n",
"},{\n",
"\"type\":\"str\",\n",
"\"column\":\"ohlc_type\"\n",
"},{\n",
"\"type\":\"float\",\n",
"\"column\":\"price\"\n",
"}]\n",
"},\n",
"\"ggtitle\":{\n",
"\"text\":\"RJF Price\"\n",
"},\n",
"\"guides\":{\n",
"\"x\":{\n",
"\"title\":\"Timestamp\"\n",
"},\n",
"\"y\":{\n",
"\"title\":\"RJF Price\"\n",
"}\n",
"},\n",
"\"theme\":{\n",
"\"name\":\"none\",\n",
"\"line\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"rect\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#1E3A5F\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"text\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":10.0,\n",
"\"blank\":false\n",
"},\n",
"\"axis_ontop\":true,\n",
"\"axis_ticks\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"legend_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"panel_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"panel_grid_major\":{\n",
"\"blank\":true\n",
"},\n",
"\"panel_grid_minor\":{\n",
"\"blank\":true\n",
"},\n",
"\"plot_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"plot_title\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":16.0,\n",
"\"hjust\":0.5,\n",
"\"blank\":true\n",
"},\n",
"\"axis_tooltip\":{\n",
"\"color\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"tooltip\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"blank\":false\n",
"},\n",
"\"legend_position\":\"none\",\n",
"\"axis_title_x\":{\n",
"\"blank\":true\n",
"}\n",
"},\n",
"\"kind\":\"plot\",\n",
"\"scales\":[],\n",
"\"layers\":[{\n",
"\"geom\":\"line\",\n",
"\"mapping\":{\n",
"},\n",
"\"data_meta\":{\n",
"},\n",
"\"size\":1.0,\n",
"\"color\":\"#FFFFFF\",\n",
"\"data\":{\n",
"}\n",
"}],\n",
"\"metainfo_list\":[],\n",
"\"spec_id\":\"6\"\n",
"}]\n",
"},{\n",
"\"theme\":{\n",
"\"plot_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"}\n",
"},\n",
"\"kind\":\"subplots\",\n",
"\"layout\":{\n",
"\"ncol\":1.0,\n",
"\"nrow\":2.0,\n",
"\"align\":true,\n",
"\"name\":\"grid\"\n",
"},\n",
"\"figures\":[{\n",
"\"data\":{\n",
"\"hms_str\":[\"09:30\",\"09:41\",\"09:52\",\"09:55\",\"10:30\",\"15:06\",\"15:43\",\"09:30\",\"09:41\",\"09:52\",\"09:55\",\"10:30\",\"15:06\",\"15:43\"],\n",
"\"flow_type\":[\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_call_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\",\"cumsum_net_put_prem_in_k\"],\n",
"\"cumsum_net_prem_in_k\":[0.0,-0.24,-0.615,-1.165,-0.259,0.001,-0.28700000000000003,0.27,0.27,0.27,0.27,0.27,0.27,0.27]\n",
"},\n",
"\"mapping\":{\n",
"\"x\":\"hms_str\",\n",
"\"y\":\"cumsum_net_prem_in_k\",\n",
"\"color\":\"flow_type\"\n",
"},\n",
"\"data_meta\":{\n",
"\"series_annotations\":[{\n",
"\"type\":\"str\",\n",
"\"column\":\"hms_str\"\n",
"},{\n",
"\"type\":\"str\",\n",
"\"column\":\"flow_type\"\n",
"},{\n",
"\"type\":\"float\",\n",
"\"column\":\"cumsum_net_prem_in_k\"\n",
"}]\n",
"},\n",
"\"ggtitle\":{\n",
"\"text\":\"2025-11-18: SF\"\n",
"},\n",
"\"guides\":{\n",
"\"x\":{\n",
"\"title\":\"Timestamp\"\n",
"},\n",
"\"y\":{\n",
"\"title\":\"Net Prem $K\"\n",
"}\n",
"},\n",
"\"theme\":{\n",
"\"name\":\"none\",\n",
"\"line\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"rect\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#1E3A5F\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"text\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":10.0,\n",
"\"blank\":false\n",
"},\n",
"\"axis_ontop\":true,\n",
"\"axis_ticks\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"legend_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"panel_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"panel_grid_major\":{\n",
"\"blank\":true\n",
"},\n",
"\"panel_grid_minor\":{\n",
"\"blank\":true\n",
"},\n",
"\"plot_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"plot_title\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":16.0,\n",
"\"hjust\":0.5,\n",
"\"blank\":false\n",
"},\n",
"\"axis_tooltip\":{\n",
"\"color\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"tooltip\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"blank\":false\n",
"},\n",
"\"legend_position\":\"none\",\n",
"\"axis_title_x\":{\n",
"\"blank\":true\n",
"}\n",
"},\n",
"\"kind\":\"plot\",\n",
"\"scales\":[{\n",
"\"aesthetic\":\"color\",\n",
"\"breaks\":[\"cumsum_net_call_prem_in_mil\",\"cumsum_net_put_prem_in_mil\",\"price\"],\n",
"\"values\":[\"#20c997\",\"#dc3545\",\"#FFFFFF\"]\n",
"}],\n",
"\"layers\":[{\n",
"\"geom\":\"line\",\n",
"\"mapping\":{\n",
"},\n",
"\"data_meta\":{\n",
"},\n",
"\"size\":1.0,\n",
"\"data\":{\n",
"}\n",
"}],\n",
"\"metainfo_list\":[],\n",
"\"spec_id\":\"7\"\n",
"},{\n",
"\"data\":{\n",
"\"hms_str\":[\"09:30\",\"09:32\",\"09:39\",\"09:42\",\"09:47\",\"09:48\",\"09:49\",\"09:50\",\"09:52\",\"09:53\",\"09:54\",\"09:56\",\"09:58\",\"10:00\",\"10:01\",\"10:04\",\"10:05\",\"10:06\",\"10:07\",\"10:11\",\"10:13\",\"10:16\",\"10:18\",\"10:21\",\"10:22\",\"10:24\",\"10:25\",\"10:28\",\"10:29\",\"10:31\",\"10:39\",\"10:40\",\"10:42\",\"10:45\",\"10:49\",\"10:50\",\"10:52\",\"10:53\",\"10:54\",\"10:55\",\"10:57\",\"10:59\",\"11:00\",\"11:01\",\"11:03\",\"11:06\",\"11:07\",\"11:08\",\"11:09\",\"11:10\",\"11:11\",\"11:12\",\"11:15\",\"11:17\",\"11:18\",\"11:20\",\"11:21\",\"11:24\",\"11:25\",\"11:29\",\"11:31\",\"11:33\",\"11:34\",\"11:35\",\"11:37\",\"11:39\",\"11:42\",\"11:44\",\"11:45\",\"11:47\",\"11:48\",\"11:51\",\"11:53\",\"11:57\",\"11:59\",\"12:00\",\"12:01\",\"12:02\",\"12:03\",\"12:05\",\"12:06\",\"12:07\",\"12:08\",\"12:13\",\"12:14\",\"12:15\",\"12:16\",\"12:17\",\"12:18\",\"12:19\",\"12:20\",\"12:21\",\"12:22\",\"12:23\",\"12:25\",\"12:27\",\"12:28\",\"12:29\",\"12:30\",\"12:31\",\"12:34\",\"12:35\",\"12:36\",\"12:37\",\"12:38\",\"12:39\",\"12:40\",\"12:41\",\"12:42\",\"12:43\",\"12:44\",\"12:45\",\"12:46\",\"12:47\",\"12:48\",\"12:50\",\"12:51\",\"12:53\",\"12:54\",\"12:55\",\"12:56\",\"12:57\",\"12:58\",\"12:59\",\"13:00\",\"13:01\",\"13:03\",\"13:05\",\"13:06\",\"13:07\",\"13:09\",\"13:10\",\"13:11\",\"13:12\",\"13:13\",\"13:15\",\"13:16\",\"13:18\",\"13:23\",\"13:25\",\"13:29\",\"13:33\",\"13:37\",\"13:39\",\"13:40\",\"13:42\",\"13:43\",\"13:44\",\"13:45\",\"13:47\",\"13:48\",\"13:49\",\"13:50\",\"13:52\",\"13:53\",\"13:54\",\"13:55\",\"13:56\",\"13:57\",\"13:58\",\"14:00\",\"14:01\",\"14:02\",\"14:03\",\"14:04\",\"14:05\",\"14:06\",\"14:08\",\"14:09\",\"14:10\",\"14:11\",\"14:14\",\"14:15\",\"14:16\",\"14:18\",\"14:19\",\"14:21\",\"14:22\",\"14:23\",\"14:24\",\"14:25\",\"14:26\",\"14:27\",\"14:28\",\"14:29\",\"14:31\",\"14:33\",\"14:34\",\"14:35\",\"14:36\",\"14:37\",\"14:38\",\"14:39\",\"14:40\",\"14:41\",\"14:42\",\"14:43\",\"14:44\",\"14:45\",\"14:46\",\"14:47\",\"14:48\",\"14:49\",\"14:50\",\"14:51\",\"14:52\",\"14:53\",\"14:54\",\"14:55\",\"14:56\",\"14:57\",\"14:58\",\"14:59\",\"15:00\",\"15:02\",\"15:03\",\"15:04\",\"15:05\",\"15:06\",\"15:07\",\"15:08\",\"15:09\",\"15:10\",\"15:12\",\"15:13\",\"15:14\",\"15:15\",\"15:16\",\"15:17\",\"15:18\",\"15:19\",\"15:20\",\"15:21\",\"15:23\",\"15:24\",\"15:25\",\"15:26\",\"15:28\",\"15:30\",\"15:31\",\"15:32\",\"15:33\",\"15:34\",\"15:35\",\"15:38\",\"15:39\",\"15:40\",\"15:41\",\"15:42\",\"15:43\"],\n",
"\"price\":[115.445,115.44,115.56,116.36,115.62,116.265,116.195,116.35,115.29,115.675,115.71,115.64,115.935,115.895,115.895,115.65,115.3,115.265,115.27,115.67,115.6365,115.705,115.88,116.23,116.34,116.07,116.09,115.98,116.02,116.0,116.02,116.0,115.62,115.63,116.025,116.0,116.18,115.91,115.915,115.7001,116.0,115.995,115.855,115.86,115.6601,115.81,116.12,116.145,116.27,116.38,116.38,116.385,116.23,116.15,116.315,116.505,116.4685,116.64,116.685,116.775,116.775,116.81,116.8,116.725,116.805,116.6,116.46,116.41,116.51,116.37,116.53,116.34,116.535,116.6811,116.5375,116.545,116.55,116.44,116.555,116.22,116.365,116.48,116.58,116.3201,116.555,116.5,116.49,116.495,116.38,116.73,116.58,116.66,116.375,116.39,116.54,116.43,116.4,116.31,116.235,116.26,116.15,116.26,116.32,116.32,116.565,116.91,116.885,116.86,116.86,117.07,117.025,116.83,116.96,116.88,117.275,117.28,117.1,117.265,117.13,117.24,117.575,117.585,117.585,117.58,117.47,117.66,117.55,117.4889,117.61,117.75,117.4,117.47,117.5675,117.64,117.5,117.38,117.29,117.24,117.505,117.25,117.08,117.15,117.13,117.305,117.46,117.525,117.405,117.4125,117.29,117.28,117.38,117.335,117.22,117.32,117.3,117.29,117.22,117.12,117.0,116.87,117.01,117.165,117.0,116.88,116.955,116.955,116.85,116.885,116.885,116.78,116.8,117.0,116.81,116.8164,116.84,116.91,116.975,116.92,116.79,116.845,116.89,116.94,116.885,116.72,116.74,116.75,116.81,116.82,116.78,116.91,117.04,116.9301,117.08,117.01,116.87,116.92,116.9,116.8,116.795,116.83,117.035,116.92,116.945,116.9,116.92,116.83,116.73,116.64,116.82,116.845,116.995,117.02,117.01,117.135,117.07,117.07,116.99,117.115,117.115,117.0,117.115,117.11,117.06,117.15,117.13,117.24,117.21,117.205,117.32,117.195,117.18,117.26,117.4,117.31,117.43,117.24,117.21,117.11,117.2,117.13,117.0717,117.1,117.12,117.26,117.31,117.265,117.19,117.18,117.15,117.19]\n",
"},\n",
"\"mapping\":{\n",
"\"x\":\"hms_str\",\n",
"\"y\":\"price\"\n",
"},\n",
"\"data_meta\":{\n",
"\"series_annotations\":[{\n",
"\"type\":\"str\",\n",
"\"column\":\"hms_str\"\n",
"},{\n",
"\"type\":\"str\",\n",
"\"column\":\"ohlc_type\"\n",
"},{\n",
"\"type\":\"float\",\n",
"\"column\":\"price\"\n",
"}]\n",
"},\n",
"\"ggtitle\":{\n",
"\"text\":\"SF Price\"\n",
"},\n",
"\"guides\":{\n",
"\"x\":{\n",
"\"title\":\"Timestamp\"\n",
"},\n",
"\"y\":{\n",
"\"title\":\"SF Price\"\n",
"}\n",
"},\n",
"\"theme\":{\n",
"\"name\":\"none\",\n",
"\"line\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"rect\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#1E3A5F\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"text\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":10.0,\n",
"\"blank\":false\n",
"},\n",
"\"axis_ontop\":true,\n",
"\"axis_ticks\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":1.0,\n",
"\"blank\":false\n",
"},\n",
"\"legend_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"size\":2.0,\n",
"\"blank\":false\n",
"},\n",
"\"panel_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"panel_grid_major\":{\n",
"\"blank\":true\n",
"},\n",
"\"panel_grid_minor\":{\n",
"\"blank\":true\n",
"},\n",
"\"plot_background\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"plot_title\":{\n",
"\"color\":\"#FFFFFF\",\n",
"\"size\":16.0,\n",
"\"hjust\":0.5,\n",
"\"blank\":true\n",
"},\n",
"\"axis_tooltip\":{\n",
"\"color\":\"#1E3A5F\",\n",
"\"blank\":false\n",
"},\n",
"\"tooltip\":{\n",
"\"fill\":\"#1E3A5F\",\n",
"\"color\":\"#D3D3D3\",\n",
"\"blank\":false\n",
"},\n",
"\"legend_position\":\"none\",\n",
"\"axis_title_x\":{\n",
"\"blank\":true\n",
"}\n",
"},\n",
"\"kind\":\"plot\",\n",
"\"scales\":[],\n",
"\"layers\":[{\n",
"\"geom\":\"line\",\n",
"\"mapping\":{\n",
"},\n",
"\"data_meta\":{\n",
"},\n",
"\"size\":1.0,\n",
"\"color\":\"#FFFFFF\",\n",
"\"data\":{\n",
"}\n",
"}],\n",
"\"metainfo_list\":[],\n",
"\"spec_id\":\"8\"\n",
"}]\n",
"}]\n",
"};\n",
" window.letsPlotCall(function() { fig = LetsPlot.buildPlotFromProcessedSpecs(plotSpec, containerDiv, sizing); });\n",
" } else {\n",
" fig.updateView({});\n",
" }\n",
" }\n",
" \n",
" const renderImmediately = \n",
" forceImmediateRender || (\n",
" sizing.width_mode === 'FIXED' && \n",
" (sizing.height_mode === 'FIXED' || sizing.height_mode === 'SCALED')\n",
" );\n",
" \n",
" if (renderImmediately) {\n",
" renderPlot();\n",
" }\n",
" \n",
" if (!renderImmediately || responsive) {\n",
" // Set up observer for initial sizing or continuous monitoring\n",
" var observer = new ResizeObserver(function(entries) {\n",
" for (let entry of entries) {\n",
" if (entry.contentBoxSize && \n",
" entry.contentBoxSize[0].inlineSize > 0) {\n",
" if (!responsive && observer) {\n",
" observer.disconnect();\n",
" observer = null;\n",
" }\n",
" renderPlot();\n",
" if (!responsive) {\n",
" break;\n",
" }\n",
" }\n",
" }\n",
" });\n",
" \n",
" observer.observe(containerDiv);\n",
" }\n",
" \n",
" // ----------\n",
" })();\n",
" \n",
" </script>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_ready_ohlc_dfs = {}\n",
"for ticker, clean_df in clean_ohlc_dfs.items():\n",
" plot_ready_ohlc_dfs[ticker] = (\n",
" clean_df\n",
" .unpivot(\n",
" index=[\"hms_str\"],\n",
" on=[\"close\"],\n",
" variable_name=\"ohlc_type\",\n",
" value_name=\"price\"\n",
" )\n",
" )\n",
"\n",
"grouped_plots = {}\n",
"for ticker, plot_ready_npt_df in plot_ready_npt_dfs.items():\n",
" npt_plot = (\n",
" lp.ggplot(plot_ready_npt_df)\n",
" + lp.aes(x=\"hms_str\", y=\"cumsum_net_prem_in_k\", color=\"flow_type\")\n",
" + lp.geom_line(size=1)\n",
" + lp.scale_color_manual(values=color_mapping)\n",
" + lp.ggtitle(f\"{target_date}: {ticker}\")\n",
" + lp.xlab(\"Timestamp\")\n",
" + lp.ylab(\"Net Prem $K\")\n",
" + leon_theme(LEON_COLOR_THEME, show_legend=False)\n",
" + lp.theme(axis_title_x=lp.element_blank())\n",
" )\n",
"\n",
" price_plot = (\n",
" lp.ggplot(plot_ready_ohlc_dfs[ticker])\n",
" + lp.aes(x=\"hms_str\", y=\"price\")\n",
" + lp.geom_line(size=1, color=color_mapping[\"price\"])\n",
" + lp.ggtitle(f\"{ticker} Price\")\n",
" + lp.xlab(\"Timestamp\")\n",
" + lp.ylab(f\"{ticker} Price\")\n",
" + leon_theme(LEON_COLOR_THEME, show_legend=False)\n",
" + lp.theme(\n",
" axis_title_x=lp.element_blank(),\n",
" plot_title=lp.element_blank(),\n",
" )\n",
" )\n",
"\n",
" plots = [npt_plot, price_plot]\n",
" plot_grid = (\n",
" lp.gggrid(\n",
" plots,\n",
" ncol=1,\n",
" align=True\n",
" )\n",
" + lp.theme(plot_background=lp.element_rect(fill=LEON_COLOR_THEME[\"navy\"]))\n",
" )\n",
"\n",
" grouped_plots[ticker] = plot_grid\n",
"\n",
"final_plots = []\n",
"for _, plot_grid in grouped_plots.items():\n",
" final_plots.append(plot_grid)\n",
"\n",
"dashboard = (\n",
" lp.gggrid(final_plots, ncol=2, align=True)\n",
" + lp.ggsize(900, 900)\n",
" + lp.theme(plot_background=lp.element_rect(fill=LEON_COLOR_THEME[\"navy\"]))\n",
")\n",
"dashboard.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "leon-cap-demo",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment