jgrusewski d725b77031 fix(rl): B-5 — asymmetric Wiener-α replaces B-4 caps (math gap fix)
B-4 multiplicative cap (1.5/step) and additive cap (0.05) failed math gap:
1. Multiplicative cap: 1.5^N grows unboundedly over many steps. zh96b
   confirmed avg_win peak still $40,911 (B-4) vs $44,821 (B-3) — only 9%
   reduction at peak despite 12× reduction at early steps.
2. Additive cap on wr_ema: 0.05 > natural Wiener step at α=0.05 (max 0.035
   from p=0.3 to obs=1.0). Cap NEVER engages → no-op.

Fundamental math: per-step rate-caps CANNOT bound EMA convergence to E[X].
For sustained observations, ema → X regardless of any per-step rate-cap
(EMA's natural property).

B-5 ASYMMETRIC WIENER-α — provably biased estimator for Kelly safety:

  avg_win:  alpha = (step_avg > prev) ? α_slow : α_fast
  avg_loss: alpha = (step_avg > prev) ? α_fast : α_slow   // mirror
  wr_ema:   alpha = (step_wr > prev) ? α_slow : α_fast

With α_slow=0.001, α_fast=0.05:

  EMA_N (sustained X in slow direction) = X × (1 - 0.999^N)
  N=100: ema = 9.5% × X
  N=200: 18%
  N=500: 39%
  N=1000: 63%

For avg_win: $40k sustained → ema reaches only $3,800 by step 100 (vs
B-4's $40k peak). Provably biased low → Kelly's b̂ underestimated →
smaller f_safe by construction.

For wr_ema: 100% wr sustained from prev=0.3 → reaches 0.87 in N=694 steps
(vs prior cascade in 140 steps).

Asymmetry direction chosen per-EMA for Kelly safety:
- avg_win:  slow up (skeptical of wins), fast down (correct quickly)
- avg_loss: fast up (admit losses), slow down (slow to forget pessimism)
- wr_ema:   slow up (skeptical of high WR), fast down

Single new ISV slot: RL_EMA_ALPHA_SLOW_INDEX = 0.001. Replaces B-4's
RL_WR_EMA_MAX_DELTA_INDEX (same slot 721, repurposed).

Removed: B-4 cap logic from both kernels (multiplicative + additive).
Single uniform asymmetric-alpha rule. Cleaner than B-4 patchwork.

Math validation prediction: avg_win peak should be ≤ $5k (vs B-4's $40k);
wr_ema peak should be ≤ 0.50 (vs B-4's 0.88).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 00:57:58 +02:00

Foxhunt

Production HFT trading system in Rust.

Architecture

The workspace contains 32 crates organized as follows:

Core Libraries (16)

Crate Purpose
trading_engine Order processing, FIX 4.4, IB TWS, SIMD, RDTSC timing
risk VaR, Kelly, circuit breakers, kill switches, compliance
risk-data Risk data types and shared structures
trading-data Trading data types
ml DQN Rainbow, PPO, TFT, Mamba2, ensemble inference
ml-data ML data types and feature definitions
data Market data ingestion and storage
backtesting Replay engine, strategy tester
adaptive-strategy Ensemble execution, microstructure analysis
common Shared types, resilience, error handling
storage S3 and local model storage
model_loader Model serialization and loading
market-data Market data feed handlers
database PostgreSQL access layer (SQLx)
config Configuration management
tli CLI commands and tooling

Services (8)

Service Purpose
backtesting_service gRPC backtesting service
broker_gateway_service FIX routing, broker connectivity
trading_service Core trading operations
ml_training_service Model training orchestration
data_acquisition_service Market data acquisition
trading_agent_service Autonomous trading agents
api_gateway gRPC API gateway with auth
web-gateway Axum REST + WebSocket gateway

Frontend

web-dashboard/ -- React 19 + TypeScript + Vite + TradingView charts.

Building

# Check compilation (no PostgreSQL required)
SQLX_OFFLINE=true cargo check --workspace

# Run tests for a specific crate
SQLX_OFFLINE=true cargo test -p <crate> --lib

# Clippy
SQLX_OFFLINE=true cargo clippy --workspace

ML Models

Four production model architectures on Candle v0.9.1 with CUDA:

  • DQN Rainbow -- Deep Q-Network with prioritized replay, dueling heads, noisy nets
  • PPO -- Proximal Policy Optimization with GAE and LSTM policies
  • TFT -- Temporal Fusion Transformer for multi-horizon forecasting
  • Mamba2 -- State space model for sequence prediction

Each model has a standalone trainer and a UnifiedTrainable adapter for the hyperopt pipeline.

Infrastructure

  • Git: Gitea at git.fxhnt.ai (Tailscale-only), Scaleway DEV1-S
  • Observability: OpenTelemetry OTLP (env OTEL_EXPORTER_OTLP_ENDPOINT)
  • Database: PostgreSQL with SQLx offline mode for CI

License

Proprietary. All rights reserved.

Description
No description provided
Readme 849 MiB
Languages
Rust 88.2%
Cuda 7.7%
Python 1.3%
Shell 1.1%
PLpgSQL 0.8%
Other 0.8%