# ML Training Configuration # Centralized configuration for all training parameters [training] # Basic training parameters total_episodes = 10000 # Total training episodes steps_per_episode = 1000 # Steps per episode batch_size = 32 # Training batch size replay_buffer_size = 100000 # Experience replay buffer size target_update_frequency = 1000 # Target network update frequency checkpoint_frequency = 500 # Model checkpointing frequency evaluation_frequency = 100 # Evaluation frequency target_performance_threshold = 0.8 # Performance threshold for convergence episodes_per_checkpoint = 500 # Episodes per checkpoint adversarial_training_frequency = 1000 # Adversarial training frequency [learning_rate] # Learning rate scheduling schedule_type = "exponential_decay" # constant, linear_decay, exponential_decay, step_decay initial = 0.001 # Initial learning rate decay_rate = 0.995 # Decay rate (for exponential) decay_steps = 1000 # Decay steps final_rate = 0.0001 # Final rate (for linear decay) decay_factor = 0.5 # Decay factor (for step decay) step_size = 1000 # Step size (for step decay) [exploration] # Exploration scheduling schedule_type = "exponential_decay" # linear_decay, exponential_decay, curriculum_based initial = 1.0 # Initial exploration rate decay_rate = 0.995 # Decay rate (for exponential) final_rate = 0.01 # Final rate (for linear decay) decay_steps = 5000 # Decay steps (for linear decay) base_rate = 0.1 # Base rate (for curriculum based) complexity_factor = 0.1 # Complexity factor (for curriculum based) [coordination] # Multi-agent coordination settings enable_experience_sharing = true # Enable experience sharing between agents enable_centralized_critic = true # Enable centralized critic coordination_frequency = 10 # Coordination update frequency rebalancing_frequency = 100 # Resource allocation rebalancing frequency [environment] # Training environment parameters available_capital = 1000000.0 # Available capital for simulation market_features = 5 # Number of market features volatility_base = 0.02 # Base market volatility volume_base = 0.1 # Base market volume spread_base = 0.3 # Base market spread var_threshold = 0.015 # VaR threshold max_drawdown_limit = 0.0 # Maximum drawdown limit [reward_simulation] # Reward simulation parameters reward_range_min = -0.05 # Minimum reward reward_range_max = 0.05 # Maximum reward financial_reward_max = 0.1 # Maximum financial reward execution_quality_max = 0.05 # Maximum execution quality reward risk_adjusted_max = 0.08 # Maximum risk-adjusted reward cooperation_reward = 0.0 # Base cooperation reward exploration_reward = 0.0 # Base exploration reward [adversarial] # Adversarial training scenarios high_volatility_var = 0.25 # High volatility scenario VaR high_volatility_drawdown = 0.15 # High volatility max drawdown news_event_var = 0.40 # News event scenario VaR news_event_drawdown = 0.25 # News event max drawdown pnl_scenarios = [-0.05, 0.02, -0.08, 0.15, -0.12] # P&L scenarios for high volatility news_pnl_scenarios = [-0.20, -0.15, -0.10, 0.05, 0.08] # P&L scenarios for news events [evaluation] # Evaluation parameters eval_episodes = 10 # Number of evaluation episodes eval_frequency = 100 # Evaluation frequency (episodes) convergence_window = 100 # Window for convergence detection performance_threshold = 0.8 # Performance threshold [checkpointing] # Model checkpointing checkpoint_dir = "checkpoints" # Checkpoint directory save_frequency = 500 # Save frequency (episodes) keep_checkpoints = 10 # Number of checkpoints to keep model_save_format = "safetensors" # Model save format [curriculum] # Curriculum learning parameters enable_curriculum = false # Enable curriculum learning initial_difficulty = 0.1 # Initial difficulty level max_difficulty = 1.0 # Maximum difficulty level difficulty_increment = 0.05 # Difficulty increment per milestone milestone_episodes = 1000 # Episodes per difficulty milestone [hyperparameter_search] # Hyperparameter optimization enable_search = false # Enable hyperparameter search search_algorithm = "random" # random, grid, bayesian max_trials = 100 # Maximum trials search_space = [ # Search space definition { param = "learning_rate", type = "float", min = 0.0001, max = 0.01 }, { param = "batch_size", type = "int", min = 16, max = 128 }, { param = "gamma", type = "float", min = 0.9, max = 0.999 } ] [data_pipeline] # Training data pipeline data_buffer_size = 1000000 # Data buffer size shuffle_buffer = 10000 # Shuffle buffer size prefetch_size = 10 # Prefetch size for data loading num_parallel_workers = 4 # Number of parallel data workers data_augmentation = false # Enable data augmentation [validation] # Training validation validation_split = 0.2 # Validation split ratio min_training_samples = 10000 # Minimum training samples max_dataset_age_days = 30 # Maximum dataset age in days cross_validation_folds = 5 # Number of cross-validation folds [early_stopping] # Early stopping parameters enable_early_stopping = true # Enable early stopping patience = 100 # Patience (episodes without improvement) min_delta = 0.001 # Minimum improvement threshold restore_best_weights = true # Restore best weights on early stop [distributed] # Distributed training enable_distributed = false # Enable distributed training num_workers = 1 # Number of distributed workers communication_backend = "nccl" # Communication backend gradient_compression = false # Enable gradient compression [memory_optimization] # Memory optimization gradient_checkpointing = false # Enable gradient checkpointing mixed_precision = true # Enable mixed precision training memory_efficient_attention = true # Enable memory efficient attention cpu_offload = false # Enable CPU offloading [logging] # Training logging log_frequency = 100 # Log frequency (steps) tensorboard_log_dir = "logs/tensorboard" # TensorBoard log directory wandb_project = "foxhunt-ml" # Weights & Biases project name wandb_entity = "foxhunt" # Weights & Biases entity log_gradients = false # Log gradient histograms log_weights = false # Log weight histograms