0cf37e786a
- 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
2.5 KiB
2.5 KiB
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:
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:
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.