# 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 orders - `CancelOrder` - Cancel existing orders - `GetPosition` - Query current positions - `SubscribeMarketData` - Subscribe to market data feeds - `GetPnlUpdates` - Retrieve real-time P&L updates ## Running the service To run the `trading_service` binary: ```bash 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 ## Testing To run the tests for the `trading_service` crate: ```bash cargo test --package trading_service ``` ## Documentation Comprehensive API documentation is available at [docs.rs/trading_service](https://docs.rs/trading_service).