CRITICAL FINDINGS from 3-trial validation: - 85,120 gradient clipping warnings (81.6% of logs) - REGRESSION - Rainbow features DISABLED: use_dueling=false, use_distributional=false, use_noisy_nets=false - Negative Q-values confirmed: HOLD -1000 to -3250 - Performance: Sharpe 0.29 (target 0.77) Changes: - Fixed N-Step compilation (7/7 tests passing) - Fixed Distributional compilation (6/6 tests passing) - Fixed Dueling CUDA errors (10/10 tests passing) - Added TDD validation for state_dim=225 - Total: 23/23 Wave 11 tests passing (100%) Issues requiring investigation: 1. Why are Dueling/Distributional/Noisy disabled in hyperopt? 2. Why gradient explosion despite previous fixes? 3. Test coverage gaps - unit tests pass but integration fails 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
Trading Service
Overview
The trading_service is the core execution engine for the Foxhunt HFT platform. It manages the entire lifecycle of trading operations, from order placement and execution to real-time position keeping and risk management. This service is critical for high-frequency, low-latency trading activities, ensuring compliance and optimal performance.
Features
- Order Execution: Handles high-throughput order placement, modification, and cancellation across various exchanges.
- Position Management: Maintains real-time tracking of all open positions, including P&L calculations and exposure.
- Risk Integration: Integrates with upstream risk systems to enforce pre-trade and post-trade compliance checks.
- Compliance Checks: Automatically applies regulatory and internal compliance rules to all trading activities.
- Market Data Subscriptions: Subscribes to and processes real-time market data feeds for informed decision-making.
- Real-time P&L Tracking: Provides immediate profit and loss updates for active strategies and overall portfolio.
- Health Checks and Metrics: Exposes endpoints for monitoring service health and operational metrics.
gRPC API
The trading_service exposes a gRPC API for interacting with its core functionalities. Key endpoints include:
PlaceOrder- Submit new ordersCancelOrder- Cancel existing ordersGetPosition- Query current positionsSubscribeMarketData- Subscribe to market data feedsGetPnlUpdates- Retrieve real-time P&L updates
Running the service
To run the trading_service binary:
cargo run --bin trading_service
Configuration
The service is configured via the central config crate with PostgreSQL backend. Key configuration includes:
- Database connection strings
- Risk parameters and limits
- Broker connection settings
- gRPC server port and TLS settings
TLS Configuration (Agent S3)
The Trading Service supports TLS 1.3 with optional mutual TLS (mTLS) for secure gRPC communications.
Environment Variables:
TLS_ENABLED=false # Enable TLS (default: false)
TLS_CERT_PATH=/app/certs/trading_service/server.crt # Server certificate
TLS_KEY_PATH=/app/certs/trading_service/server.key # Server private key
TLS_CA_PATH=/app/certs/trading_service/ca.crt # CA certificate
TLS_REQUIRE_CLIENT_CERT=false # Require client certs (default: false)
Certificate Directory Structure:
/app/certs/trading_service/
├── server.crt # Server certificate
├── server.key # Server private key
└── ca.crt # CA certificate for client verification
Features:
- TLS 1.3 encryption for all gRPC traffic
- Mutual TLS (mTLS) support for client certificate authentication
- 6-layer certificate validation (expiration, purpose, constraints, extensions, SANs, revocation)
- Role-based access control (RBAC) via certificate Organizational Unit (OU)
- CRL (Certificate Revocation List) support
Security Note: TLS is disabled by default for development. Enable TLS_ENABLED=true for production deployments.
Testing
To run the tests for the trading_service crate:
cargo test --package trading_service
Documentation
Comprehensive API documentation is available at docs.rs/trading_service.