Files
foxhunt/services/trading_service/README.md
jgrusewski 6093eac7bf 🔧 Tonic 0.14 Upgrade: Auto-generated and build system changes
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>
2025-10-03 07:34:26 +02:00

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).