Files
trading_gnn/docs/CONFIG.md
T
fegger 0cf37e786a Add comprehensive project documentation and fix data pipeline
- Add detailed README with architecture diagram and usage instructions
- Add API, configuration, and development documentation
- Fix price data column handling for yfinance auto_adjust=True
- Fix model feature dimension indexing and temporal attention batching
- Add missing imports and position tracking in paper broker
- Add python-dotenv support for environment variables
- Update .gitignore with Python artifacts and environment files
2026-05-26 14:10:48 +02:00

70 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Configuration Guide
All configuration is centralized in `config.py` via the `Config` class.
## GPU Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| `DEVICE` | `'cuda'` | PyTorch device (auto-detected) |
| `AMD_GPU` | `True` | Enable AMD-specific optimizations |
| `GPU_MEMORY_LIMIT` | `0.9` | Fraction of GPU memory to use (0.01.0) |
| `ROCM_OPT_LEVEL` | `'O2'` | ROCm JIT optimization level |
| `MIXED_PRECISION` | `True` | Enable AMP |
| `PRECISION` | `'bf16'` | `'bf16'` or `'fp16'` |
## Model Hyperparameters
| Parameter | Default | Description |
|-----------|---------|-------------|
| `HIDDEN_CHANNELS` | `128` | GNN hidden dimension |
| `NUM_HEADS` | `16` | Attention heads |
| `DROPOUT` | `0.3` | Dropout rate |
| `LEARNING_RATE` | `0.0005` | AdamW learning rate |
| `BATCH_SIZE` | `128` | Training batch size |
| `SEQUENCE_LENGTH` | `60` | Temporal window length |
| `EPOCHS` | `200` | Max training epochs |
## Trading Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| `TRADING_FREQUENCY` | `'5min'` | Signal generation interval |
| `INITIAL_CAPITAL` | `100000` | Starting portfolio value |
| `MAX_POSITION_SIZE` | `0.03` | Max position as fraction of portfolio |
| `MAX_DAILY_LOSS` | `0.01` | Daily loss circuit breaker |
| `MAX_DRAWDOWN` | `0.05` | Max portfolio drawdown |
## Data Providers
| Parameter | Default | Description |
|-----------|---------|-------------|
| `DATA_PROVIDER` | `'polygon'` | Live data source |
| `POLYGON_API_KEY` | — | Polygon.io API key |
| `ALPHA_VANTAGE_API_KEY` | — | Alpha Vantage API key |
| `IB_HOST` | `'127.0.0.1'` | Interactive Brokers TWS host |
| `IB_PORT` | `7497` | TWS API port |
## Feature Definitions
Three feature vectors are defined and referenced by the models:
```python
NEWS_FEATURES = ['sentiment', 'volume', 'recency', 'source_reliability', 'topic_relevance']
SOCIAL_FEATURES = ['twitter_sentiment', 'twitter_volume', 'reddit_sentiment', 'reddit_volume', 'social_momentum']
INTRADAY_FEATURES = ['return', 'volatility', 'momentum', 'volume_momentum', 'bid_ask_spread', 'bid_ask_spread_pct', 'volume_imbalance', 'order_flow', 'vwap_deviation']
```
## Environment Variables
Sensitive keys can be overridden via environment variables:
```bash
export POLYGON_API_KEY="your_key"
export ALPHA_VANTAGE_API_KEY="your_key"
export NEWS_API_KEY="your_key"
export TWITTER_BEARER_TOKEN="your_token"
```
These are read in `config.py` and fall back to hardcoded placeholders if not set.