[Bug] VaR / ES / CVaR tail-risk claims pass grounding completely unchecked
[Bug] VaR / ES / CVaR tail-risk claims pass grounding completely unchecked
Follow-up investigation from #1418's confidence-level sub-case (and #1419's documented residual). While verifying whether the 95% in VaR 95%: 1,57% gets validated as a VaR candidate, I found the deeper thing: tail-risk metrics are not in the grounding vocabulary at all, so these claims never reach the gate.
Reproduced on current main (f84b2977):
_ANALYSIS_METRIC_RE.search / _metric_kind_for_text:
'VaR 95%: 1.57%' -> metric: False, kind: None
'95% 置信水平下 VaR 为 -1.57%' -> metric: False, kind: None
'在险价值 VaR 为 1.57%' -> metric: False, kind: None
'风险价值 1.57%' -> metric: False, kind: None
'VaR (95%) = 1.57%' -> metric: False, kind: None
'ES 1.9%' -> metric: False, kind: None
'CVaR 2.1%' -> metric: False, kind: NoneEnd to end, with drawdown evidence -0.0157 ingested, both VaR 95%: 1,57% and 95% 置信水平下 VaR 为 -1.57% validate as valid=True with zero issues — not because the numbers checked out (the gate never looked), and equally not because the confidence figure was handled. Any invented tail figure passes the same way, e.g. VaR 95%: 9,99% would also pass untouched.
Two implications:
- The confidence-contamination sub-case from #1418 does not materialize on the prose path: nothing about a VaR claim is validated, so
95%is never mistaken for a VaR candidate either. Closing that thread of #1419's residual note. - The real gap is bigger: tail-risk claims (VaR / ES / CVaR / 在险价值 / 风险价值) are entirely ungrounded. Gating them is a design decision, not a drive-by fix — the kind taxonomy needs a tail-risk kind (or mapping to drawdown), and the confidence frame (
VaR <conf>%: <value>,<conf>% 置信水平下 VaR 为 <value>) needs its own handling so the confidence percentage never becomes a measurement. Filing this so the design has a home instead of a drive-by behavior change.
Suggested shape when someone picks it up: a tail_risk metric kind covering VaR/ES/CVaR/在险价值/风险价值, evidence keyed from backtest outputs (VaR columns in metrics.csv map into it), and a confidence-frame mask so 95% in VaR 95%: x is exempt from measurement, mirroring _LABELLED_SCORE_RE.
Source: HKUDS/Vibe-Trading