diff --git a/.Jules/palette.md b/.Jules/palette.md new file mode 100644 index 0000000..7f6e59d --- /dev/null +++ b/.Jules/palette.md @@ -0,0 +1,4 @@ + +## 2024-05-14 - Concrete Examples for Financial Parameters +**Learning:** Users can misinterpret abstract financial or statistical parameters like "basis points" or "quantiles". Adding explicit, concrete examples via tooltips ensures clarity and acts as a preventative UX measure against input errors. +**Action:** When adding inputs for complex metrics (e.g., statistical quantiles, basis points), always include a `help` parameter with a real, concrete example (e.g., "10 bps = 0.10%"). diff --git a/src/dashboard.py b/src/dashboard.py index 4156c1d..e09e515 100644 --- a/src/dashboard.py +++ b/src/dashboard.py @@ -185,12 +185,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="e.g., 0.80 means the top 20% of historical 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="10 bps = 0.10%", + ) + / 10000 + ) allow_short = st.checkbox("Allow Short Selling?", value=False) else: st.subheader("5. Alert Thresholds")