Live news gate: stop capping signal confidence near events (XAU default)
Replaying the live danger/caution gates against the validated 12mo XAU M5 book showed they suppress 25-35 trades worth +4.6..+7.2R/yr — trades entered near USD releases outperform the book average (+0.475R vs +0.256R). New NewsConfig.event_risk_caps_signals (default False = XAU-tuned) keeps EVENT RISK warnings in alerts but no longer guts confidence; EUR factory re-enables the caps (evidence is gold-specific). Pinned XAU M5 regression: 547 trades, +139.94R, trade-identical. Tests: 177 passed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1138,10 +1138,14 @@ class SignalAggregator:
|
||||
confidence += 5
|
||||
|
||||
# ── Event risk (hard cap, separate from penalty system) ───
|
||||
# Warning always shown; the confidence cap is config-gated
|
||||
# (news.event_risk_caps_signals) — see NewsConfig for the audit
|
||||
# showing the cap costs R on XAU.
|
||||
if report.event_risk == "danger":
|
||||
report.warnings.append(f"EVENT RISK: {report.event_description}")
|
||||
confidence = min(confidence, 30)
|
||||
report.action_recommendation = f"WAIT — {report.event_description}"
|
||||
if self.config.news.event_risk_caps_signals:
|
||||
confidence = min(confidence, 30)
|
||||
report.action_recommendation = f"WAIT — {report.event_description}"
|
||||
|
||||
# ── Penalties (diminishing cap system) ────────────────────
|
||||
# Collect all applicable penalties, then apply with exponential
|
||||
@@ -1163,7 +1167,8 @@ class SignalAggregator:
|
||||
|
||||
if report.event_risk == "caution":
|
||||
report.warnings.append(f"Upcoming event: {report.event_description}")
|
||||
penalties.append(("event_caution", 15))
|
||||
if self.config.news.event_risk_caps_signals:
|
||||
penalties.append(("event_caution", 15))
|
||||
|
||||
is_counter_trend = (
|
||||
(report.market_regime == "trending_up" and score < 0) or
|
||||
|
||||
Reference in New Issue
Block a user