| { | |
| "model_type": "sac", | |
| "version": "v2026-03-13_d009d473", | |
| "training_timestamp": "2026-03-15T22:00:05.526809+00:00", | |
| "data_window": { | |
| "start": "2016-01-01", | |
| "end": "2026-03-13" | |
| }, | |
| "symbols": [ | |
| "FIX", | |
| "CIEN", | |
| "TPL", | |
| "WDC", | |
| "TER", | |
| "MU", | |
| "SCCO", | |
| "TS", | |
| "GFI", | |
| "WPM", | |
| "ATEYY", | |
| "ODFL", | |
| "PWR", | |
| "FCX", | |
| "CF" | |
| ], | |
| "config": { | |
| "hidden_sizes": [ | |
| 64, | |
| 64 | |
| ], | |
| "activation": "relu", | |
| "actor_lr": 0.0003, | |
| "critic_lr": 0.0003, | |
| "alpha_lr": 0.0003, | |
| "tau": 0.005, | |
| "gamma": 0.97, | |
| "auto_entropy_tuning": true, | |
| "target_entropy": -16.0, | |
| "init_alpha": 0.2, | |
| "buffer_size": 10000, | |
| "batch_size": 64, | |
| "gradient_steps_per_env_step": 1, | |
| "warmup_steps": 100, | |
| "total_timesteps": 10000, | |
| "weight_decay": 0.0001, | |
| "max_grad_norm": 1.0, | |
| "q_value_clip": 100.0, | |
| "normalize_rewards": true, | |
| "cost_bps": 10, | |
| "cash_buffer": 0.02, | |
| "max_position_weight": 0.2, | |
| "reward_scale": 1.0, | |
| "n_stocks": 15, | |
| "seed": 42, | |
| "validation_years": 2, | |
| "min_cagr_improvement": 0.0, | |
| "sharpe_weight": 0.5, | |
| "sharpe_eta": 0.01, | |
| "training_years": 10, | |
| "n_eval_folds": 3 | |
| }, | |
| "promoted": true, | |
| "prior_version": "v2026-02-20_be7972dc", | |
| "metrics": { | |
| "actor_loss": 0.3169840062468085, | |
| "critic_loss": 0.0, | |
| "avg_episode_return": 0.31020445760320686, | |
| "avg_episode_sharpe": 0.18814005973253586, | |
| "eval_sharpe": 0.8130633875447039, | |
| "eval_cagr": 0.2256101507267798, | |
| "eval_max_drawdown": 0.2842723500632755 | |
| } | |
| } |