# 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.0–1.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.