Wave 64-65 cleanup: Proto regeneration and build system updates from Tonic 0.12→0.14 upgrade Files updated: - Cargo.lock: Dependency resolution for Tonic 0.14.2 - All build.rs: Updated for tonic-prost-build - Proto files: Regenerated with tonic-prost 0.14 - Examples/tests: Updated for new gRPC API 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
53 lines
2.1 KiB
Markdown
53 lines
2.1 KiB
Markdown
# 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).
|