aether_quant.analyzer¶
The per-asset market analyzer.
The per-asset market analyzer.
MarketAnalysisDecision
dataclass
¶
The market analyzer's verdict for one symbol and bar: the action, the signal and the target weight, with the reasons behind them.
build_market_analysis_decision ¶
build_market_analysis_decision(signal_name: str, confidence: float, probability_up: float, target_weight: float, regime: dict[str, Any], gating: dict[str, Any], trading_eligible: bool, trade_lock_active: bool, trade_lock_reason: str | None = None, topology: dict[str, Any] | None = None, liquidity: dict[str, Any] | None = None, min_confidence_to_trade: float = 0.12, retrain_min_regime_confidence: float = 0.2, low_regime_confidence_threshold: float = 0.35, use_composite_signal_score: bool = False, predicted_return_magnitude: float | None = None, predicted_volatility: float | None = None, is_currently_invested: bool = False, net_edge: dict[str, Any] | None = None, is_book_selected: bool = False, min_confidence_to_trade_book_selected: float | None = None, risk_off_override_min_severity: float | None = None, topology_veto_applies_to_book_members: bool = True) -> MarketAnalysisDecision
Combine a symbol's signal, confidence, regime, topology and liquidity into one MarketAnalysisDecision (trade, hold or veto, and the weight).
compute_signal_quality_score ¶
compute_signal_quality_score(confidence: float, regime_confidence: float, topology: dict[str, Any], liquidity: dict[str, Any]) -> tuple[float, dict]
Bounded [0,1] composite of raw model confidence, regime confidence, topology peer-support and liquidity friction. Always computed and exposed (signal_quality_score/signal_quality_breakdown) for dashboard visibility; only influences routing in build_market_analysis_decision() when use_composite_signal_score=True - see analyzer/README.md. Small hand-tuned weights, mirroring moe/gating.py's _quality_multiplier/_performance_score style - not a trained model.
compute_trade_metric ¶
compute_trade_metric(confidence: float, regime_confidence: float, topology: dict[str, Any], liquidity: dict[str, Any], use_composite_signal_score: bool) -> float
V5.2.6 (development/Problems.md) - extracted verbatim from build_market_analysis_decision()'s own inline trade_metric computation so a calibration tool (evaluation/confidence_threshold_calibration.py) can compute the IDENTICAL statistic against historical data without re-deriving the formula and risking it silently drifting apart from what the live gate actually checks. Pure extraction - zero behavior change, build_market_analysis_decision() now calls this instead of repeating the expression inline.