VaR, drawdown, and leverage checks in check_risk_limits() only logged warnings and returned Ok(()). Now they return errors to block order generation when limits are breached. Also removes unused warn import. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
risk
Enterprise risk management for HFT.
Kill Switch
AtomicKillSwitch provides immediate trading cessation, coordinated via Redis. Supports local, remote, and Unix socket triggers.
Value at Risk
Four VaR methods plus Expected Shortfall:
- Historical Simulation
- Monte Carlo
- Parametric (variance-covariance)
- Expected Shortfall (CVaR)
Key Types
| Type | Purpose |
|---|---|
RiskEngine |
Central risk evaluation and enforcement |
AtomicKillSwitch |
Atomic trading halt with Redis coordination |
KellySizer |
Kelly criterion position sizing |
StressTester |
Extreme market scenario simulation |
ComplianceValidator |
SOX, MiFID II regulatory checks |
DrawdownMonitor |
Peak-to-trough equity tracking |
CircuitBreaker |
Threshold-based trading pauses |
CorrelationMonitor |
Cross-asset correlation tracking |
Config Presets
development_config()-- relaxed limits for local testingproduction_config()-- 5ms safety check timeout, strict position limits
Testing
SQLX_OFFLINE=true cargo test -p risk --lib # ~209 tests