gogo2/config.yaml
2025-05-26 16:02:40 +03:00

209 lines
6.2 KiB
YAML

# Enhanced Multi-Modal Trading System Configuration
# Trading Symbols (extendable/configurable)
symbols:
- "ETH/USDT"
- "BTC/USDT"
# Timeframes for ultra-fast scalping (500x leverage)
timeframes:
- "1s" # Primary scalping timeframe
- "1m" # Short-term confirmation
- "1h" # Medium-term trend
- "1d" # Long-term direction
# Data Provider Settings
data:
provider: "binance"
cache_enabled: true
cache_dir: "cache"
historical_limit: 1000
real_time_enabled: true
websocket_reconnect: true
feature_engineering:
technical_indicators: true
market_regime_detection: true
volatility_analysis: true
# Enhanced CNN Configuration
cnn:
window_size: 20
features: ["open", "high", "low", "close", "volume"]
timeframes: ["1m", "5m", "15m", "1h", "4h", "1d"]
hidden_layers: [64, 128, 256]
dropout: 0.2
learning_rate: 0.001
batch_size: 32
epochs: 100
confidence_threshold: 0.6
early_stopping_patience: 10
model_dir: "models/enhanced_cnn" # Ultra-fast scalping weights (500x leverage)
timeframe_importance:
"1s": 0.60 # Primary scalping signal
"1m": 0.20 # Short-term confirmation
"1h": 0.15 # Medium-term trend
"1d": 0.05 # Long-term direction (minimal)
# Enhanced RL Agent Configuration
rl:
state_size: 100 # Will be calculated dynamically based on features
action_space: 3 # BUY, HOLD, SELL
hidden_size: 256
epsilon: 1.0
epsilon_decay: 0.995
epsilon_min: 0.01
learning_rate: 0.0001
gamma: 0.99
memory_size: 10000
batch_size: 64
target_update_freq: 1000
buffer_size: 10000
model_dir: "models/enhanced_rl"
# Market regime adaptation
market_regime_weights:
trending: 1.2 # Higher confidence in trending markets
ranging: 0.8 # Lower confidence in ranging markets
volatile: 0.6 # Much lower confidence in volatile markets
# Prioritized experience replay
replay_alpha: 0.6 # Priority exponent
replay_beta: 0.4 # Importance sampling exponent
# Enhanced Orchestrator Settings
orchestrator:
# Model weights for decision combination
cnn_weight: 0.7 # Weight for CNN predictions
rl_weight: 0.3 # Weight for RL decisions
confidence_threshold: 0.6 # Increased for enhanced system
decision_frequency: 30 # Seconds between decisions (faster)
# Multi-symbol coordination
symbol_correlation_matrix:
"ETH/USDT-BTC/USDT": 0.85 # ETH-BTC correlation
# Perfect move marking
perfect_move_threshold: 0.02 # 2% price change to mark as significant
perfect_move_buffer_size: 10000
# RL evaluation settings
evaluation_delay: 3600 # Evaluate actions after 1 hour
reward_calculation:
success_multiplier: 10 # Reward for correct predictions
failure_penalty: 5 # Penalty for wrong predictions
confidence_scaling: true # Scale rewards by confidence
# Training Configuration
training:
learning_rate: 0.001
batch_size: 32
epochs: 100
validation_split: 0.2
early_stopping_patience: 10
# CNN specific training
cnn_training_interval: 3600 # Train CNN every hour (was 6 hours)
min_perfect_moves: 50 # Reduced from 200 for faster learning
# RL specific training
rl_training_interval: 300 # Train RL every 5 minutes (was 1 hour)
min_experiences: 50 # Reduced from 100 for faster learning
training_steps_per_cycle: 20 # Increased from 10 for more learning
model_type: "optimized_short_term"
use_realtime: true
use_ticks: true
checkpoint_dir: "NN/models/saved/realtime_ticks_checkpoints"
save_best_model: true
save_final_model: false # We only want to keep the best performing model
# Continuous learning settings
continuous_learning: true
learning_from_trades: true
pattern_recognition: true
retrospective_learning: true
# Trading Execution
trading:
max_position_size: 0.05 # Maximum position size (5% of balance)
stop_loss: 0.02 # 2% stop loss
take_profit: 0.05 # 5% take profit
trading_fee: 0.0002 # 0.02% trading fee
min_trade_interval: 30 # Minimum seconds between trades (faster)
# Risk management
max_daily_trades: 20 # Maximum trades per day
max_concurrent_positions: 2 # Max positions across symbols
position_sizing:
confidence_scaling: true # Scale position by confidence
base_size: 0.02 # 2% base position
max_size: 0.05 # 5% maximum position
# Memory Management
memory:
total_limit_gb: 8.0 # Total system memory limit
model_limit_gb: 2.0 # Per-model memory limit
cleanup_interval: 1800 # Memory cleanup every 30 minutes
# Web Dashboard
web:
host: "127.0.0.1"
port: 8050
debug: false
update_interval: 500 # Milliseconds
chart_history: 200 # Number of candles to show
# Enhanced dashboard features
show_timeframe_analysis: true
show_confidence_scores: true
show_perfect_moves: true
show_rl_metrics: true
# Logging
logging:
level: "INFO"
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
file: "logs/enhanced_trading.log"
max_size: 10485760 # 10MB
backup_count: 5
# Component-specific logging
orchestrator_level: "INFO"
cnn_level: "INFO"
rl_level: "INFO"
training_level: "INFO"
# Model Directories
model_dir: "models"
data_dir: "data"
cache_dir: "cache"
logs_dir: "logs"
# GPU/Performance
gpu:
enabled: true
memory_fraction: 0.8 # Use 80% of GPU memory
allow_growth: true # Allow dynamic memory allocation
# Monitoring and Alerting
monitoring:
tensorboard_enabled: true
tensorboard_log_dir: "logs/tensorboard"
metrics_interval: 300 # Log metrics every 5 minutes
performance_alerts: true
# Performance thresholds
min_confidence_threshold: 0.3
max_memory_usage: 0.9 # 90% of available memory
max_decision_latency: 10 # 10 seconds max per decision
# Backtesting (for future implementation)
backtesting:
start_date: "2024-01-01"
end_date: "2024-12-31"
initial_balance: 10000
commission: 0.0002
slippage: 0.0001
model_paths:
realtime_model: "NN/models/saved/optimized_short_term_model_realtime_best.pt"
ticks_model: "NN/models/saved/optimized_short_term_model_ticks_best.pt"
backup_model: "NN/models/saved/realtime_ticks_checkpoints/checkpoint_epoch_50449_backup/model.pt"