From 41d29e15096531bb165cc3bb0b1d2e3d07bef766 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2026 02:44:19 +0000 Subject: [PATCH 1/4] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20Add=20contextual?= =?UTF-8?q?=20help=20tooltips=20to=20financial=20parameters?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added concrete numerical examples via tooltips to `adv_pct`, `vol_q_high`, and `bt_cost` inputs. Created `.Jules/palette.md` to document the UX learning about financial inputs. Co-authored-by: aarjava <218419324+aarjava@users.noreply.github.com> --- .Jules/palette.md | 3 +++ src/dashboard.py | 26 +++++++++++++++++++++++--- 2 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 .Jules/palette.md diff --git a/.Jules/palette.md b/.Jules/palette.md new file mode 100644 index 0000000..d2bd77d --- /dev/null +++ b/.Jules/palette.md @@ -0,0 +1,3 @@ +## 2024-05-28 - Financial Input Tooltips +**Learning:** Users can misinterpret abstract financial inputs (like quantiles, basis points, or decimals) if they lack concrete examples. Providing explicit translations (e.g., "10 bps = 0.10%") in native tooltips drastically improves accessibility and prevents configuration errors. +**Action:** Always include a `help` argument with a concrete numerical example when building inputs for statistical parameters or fractional rates. diff --git a/src/dashboard.py b/src/dashboard.py index 4156c1d..f7555d2 100644 --- a/src/dashboard.py +++ b/src/dashboard.py @@ -170,7 +170,14 @@ def get_cache_key(*args) -> str: else: factor_window = st.slider("Factor Beta Window (days)", 20, 252, 63, 7) vol_window = st.slider("Regime Vol Window (days)", 10, 60, 21, 5) - adv_pct = st.slider("ADV Participation %", 0.01, 0.30, float(DEFAULT_ADV_PCT), 0.01) + adv_pct = st.slider( + "ADV Participation %", + 0.01, + 0.30, + float(DEFAULT_ADV_PCT), + 0.01, + help="Target participation rate of Average Daily Volume (e.g., 0.10 = 10% of ADV).", + ) st.markdown("---") st.subheader("4. Research Rigor") @@ -185,12 +192,25 @@ def get_cache_key(*args) -> str: st.info("Using full-sample quantiles (exploratory mode)") vol_q_high = st.slider( - "High Volatility Quantile", 0.5, 0.95, DEFAULT_VOL_QUANTILE_HIGH, 0.05 + "High Volatility Quantile", + 0.5, + 0.95, + DEFAULT_VOL_QUANTILE_HIGH, + 0.05, + help="Top percentile defining the high volatility regime (e.g., 0.80 = top 20% of volatility).", ) if mode == "Single-Asset": st.subheader("5. Backtest Settings") - bt_cost = st.number_input("Transaction Cost (bps)", value=DEFAULT_COST_BPS, step=1) / 10000 + bt_cost = ( + st.number_input( + "Transaction Cost (bps)", + value=DEFAULT_COST_BPS, + step=1, + help="Estimated transaction cost in basis points (e.g., 10 bps = 0.10%).", + ) + / 10000 + ) allow_short = st.checkbox("Allow Short Selling?", value=False) else: st.subheader("5. Alert Thresholds") From 4d32032fce77eccf62649b5163d9c0d71cedb8cd Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2026 02:49:31 +0000 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20Add=20contextual?= =?UTF-8?q?=20help=20tooltips=20to=20financial=20parameters?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added concrete numerical examples via tooltips to `adv_pct`, `vol_q_high`, and `bt_cost` inputs. Created `.Jules/palette.md` to document the UX learning about financial inputs. Co-authored-by: aarjava <218419324+aarjava@users.noreply.github.com> --- src/dashboard.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/dashboard.py b/src/dashboard.py index f7555d2..6d6185e 100644 --- a/src/dashboard.py +++ b/src/dashboard.py @@ -160,12 +160,20 @@ def get_cache_key(*args) -> str: st.subheader("3. Signal Parameters") if mode == "Single-Asset": sma_window = st.slider( - "Trend SMA Window", 10, 200, DEFAULT_SMA_WINDOW, 10, - help="Lookback days for Simple Moving Average trend signal." + "Trend SMA Window", + 10, + 200, + DEFAULT_SMA_WINDOW, + 10, + help="Lookback days for Simple Moving Average trend signal.", ) mom_window = st.slider( - "Momentum Lookback (Months)", 1, 24, DEFAULT_MOMENTUM_WINDOW, 1, - help="Lookback months for Momentum signal." + "Momentum Lookback (Months)", + 1, + 24, + DEFAULT_MOMENTUM_WINDOW, + 1, + help="Lookback months for Momentum signal.", ) else: factor_window = st.slider("Factor Beta Window (days)", 20, 252, 63, 7) @@ -184,7 +192,7 @@ def get_cache_key(*args) -> str: use_oos = st.toggle( "Out-of-Sample Mode", value=False, - help="Uses expanding-window quantiles for regime classification to avoid look-ahead bias. Enable for rigorous backtesting." + help="Uses expanding-window quantiles for regime classification to avoid look-ahead bias. Enable for rigorous backtesting.", ) if use_oos: st.success("✓ Look-ahead bias removed") From 143109591c3e52f53b377eeb608a4b5d744f5394 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2026 02:54:52 +0000 Subject: [PATCH 3/4] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20Add=20contextual?= =?UTF-8?q?=20help=20tooltips=20to=20financial=20parameters?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added concrete numerical examples via tooltips to `adv_pct`, `vol_q_high`, and `bt_cost` inputs. Created `.Jules/palette.md` to document the UX learning about financial inputs. Co-authored-by: aarjava <218419324+aarjava@users.noreply.github.com> --- src/dashboard.py | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/src/dashboard.py b/src/dashboard.py index 6d6185e..f7555d2 100644 --- a/src/dashboard.py +++ b/src/dashboard.py @@ -160,20 +160,12 @@ def get_cache_key(*args) -> str: st.subheader("3. Signal Parameters") if mode == "Single-Asset": sma_window = st.slider( - "Trend SMA Window", - 10, - 200, - DEFAULT_SMA_WINDOW, - 10, - help="Lookback days for Simple Moving Average trend signal.", + "Trend SMA Window", 10, 200, DEFAULT_SMA_WINDOW, 10, + help="Lookback days for Simple Moving Average trend signal." ) mom_window = st.slider( - "Momentum Lookback (Months)", - 1, - 24, - DEFAULT_MOMENTUM_WINDOW, - 1, - help="Lookback months for Momentum signal.", + "Momentum Lookback (Months)", 1, 24, DEFAULT_MOMENTUM_WINDOW, 1, + help="Lookback months for Momentum signal." ) else: factor_window = st.slider("Factor Beta Window (days)", 20, 252, 63, 7) @@ -192,7 +184,7 @@ def get_cache_key(*args) -> str: use_oos = st.toggle( "Out-of-Sample Mode", value=False, - help="Uses expanding-window quantiles for regime classification to avoid look-ahead bias. Enable for rigorous backtesting.", + help="Uses expanding-window quantiles for regime classification to avoid look-ahead bias. Enable for rigorous backtesting." ) if use_oos: st.success("✓ Look-ahead bias removed") From d854e861d2a5190ee8923f136e4d9fc7867b0d23 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2026 02:58:47 +0000 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20Add=20contextual?= =?UTF-8?q?=20help=20tooltips=20to=20financial=20parameters?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added concrete numerical examples via tooltips to `adv_pct`, `vol_q_high`, and `bt_cost` inputs. Created `.Jules/palette.md` to document the UX learning about financial inputs. Co-authored-by: aarjava <218419324+aarjava@users.noreply.github.com>