1. Walk-forward windows: replaced 3 non-overlapping with sliding (50% overlap, ~5 windows). Aggregation changed from mean-0.5*std to median-0.5*IQR for outlier robustness. 2. Composite score: tanh normalization prevents Calmar ratio scale dominance (0.02% drawdowns → values in thousands drowning out Sharpe/Sortino). 3. Q-value overestimation: new Prometheus gauge foxhunt_training_q_overestimation_ratio, warning log when ratio>10 or q_mean>5, adaptive tau doubles when Q-mean growth>0.5/epoch (capped at 0.01), decays back when stable. 2742 tests pass, 0 failures. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
common
Shared types, error handling, and utilities for the Foxhunt HFT ecosystem.
Key Types
FoxhuntError— unified error enum withResultaliasModelType— canonical ML model enum (10 primary variants)CircuitBreakerTrait— async circuit breaker interfaceTlsProtocolVersion,ClientIdentity— TLS configuration types- Market data types (
Tick,OrderBook) and order types (LimitOrder,MarketOrder)
Modules
model_types— canonicalModelTypeenum re-exported by ml/ and model_loader/resilience—CircuitBreakerTraitasync traittls— TLS types and configurationquestdb— QuestDB client configuration
Usage
use common::{FoxhuntError, ModelType};