| { |
| "trained_at": "2026-08-09T12:34:20.758570", |
| "mode": "scratch", |
| "train_end": "2021-02-15 00:00:00", |
| "val_end": "2024-08-30 00:00:00", |
| "feature_cols": [ |
| "log_ret_1d", |
| "log_ret_3d", |
| "log_ret_5d", |
| "log_ret_10d", |
| "log_ret_20d", |
| "log_ret_60d", |
| "ret_1d", |
| "ret_3d", |
| "ret_5d", |
| "ret_10d", |
| "ret_20d", |
| "ret_60d", |
| "ret_120d", |
| "close_sma20_ratio", |
| "close_sma50_ratio", |
| "close_sma200_ratio", |
| "close_ema20_ratio", |
| "high_20_position", |
| "low_20_position", |
| "close_to_52w_high", |
| "close_to_52w_low", |
| "position_in_20d_range", |
| "roc_10", |
| "roc_20", |
| "roc_60", |
| "momentum_10", |
| "momentum_20", |
| "ppo", |
| "dist_sma20", |
| "dist_sma50", |
| "dist_sma200", |
| "vol_10", |
| "vol_20", |
| "vol_60", |
| "vol_ratio", |
| "atr_14", |
| "atr_percent", |
| "parkinson_volatility", |
| "adx_14", |
| "di_plus", |
| "di_minus", |
| "aroon_up", |
| "aroon_down", |
| "rsi_14", |
| "rsi_7", |
| "cci_20", |
| "stochastic_k", |
| "macd", |
| "macd_signal", |
| "macd_histogram", |
| "bb_width", |
| "bb_position", |
| "bb_squeeze", |
| "intraday_range", |
| "gap", |
| "close_position", |
| "volume_ratio", |
| "mfi", |
| "body_percent", |
| "upper_shadow_percent", |
| "lower_shadow_percent", |
| "gap_up", |
| "gap_down", |
| "inside_day", |
| "outside_day", |
| "doji", |
| "distance_from_52w_high", |
| "distance_from_52w_low", |
| "rolling_drawdown", |
| "day_of_week", |
| "month", |
| "is_month_end", |
| "nifty_log_ret_1d", |
| "nifty_log_ret_5d", |
| "nifty_log_ret_20d", |
| "nifty_ret_1d", |
| "nifty_ret_3d", |
| "nifty_ret_5d", |
| "nifty_ret_10d", |
| "nifty_ret_20d", |
| "nifty_ret_60d", |
| "nifty_close_sma20_ratio", |
| "nifty_close_sma50_ratio", |
| "nifty_close_sma200_ratio", |
| "nifty_close_ema20_ratio", |
| "nifty_high_20_position", |
| "nifty_low_20_position", |
| "nifty_close_to_52w_high", |
| "nifty_close_to_52w_low", |
| "nifty_position_in_20d_range", |
| "nifty_roc_10", |
| "nifty_roc_20", |
| "nifty_roc_60", |
| "nifty_momentum_10", |
| "nifty_momentum_20", |
| "nifty_ppo", |
| "nifty_dist_sma20", |
| "nifty_dist_sma50", |
| "nifty_dist_sma200", |
| "nifty_vol_10", |
| "nifty_vol_20", |
| "nifty_vol_60", |
| "nifty_rolling_volatility", |
| "nifty_vol_ratio", |
| "nifty_atr_14", |
| "nifty_atr_percent", |
| "nifty_parkinson_volatility", |
| "nifty_adx_14", |
| "nifty_di_plus", |
| "nifty_di_minus", |
| "nifty_aroon_up", |
| "nifty_aroon_down", |
| "nifty_rsi_14", |
| "nifty_rsi_7", |
| "nifty_cci_20", |
| "nifty_stochastic_k", |
| "nifty_macd", |
| "nifty_macd_signal", |
| "nifty_macd_histogram", |
| "nifty_bb_width", |
| "nifty_bb_position", |
| "nifty_bb_squeeze", |
| "nifty_intraday_range", |
| "nifty_gap", |
| "nifty_close_position", |
| "nifty_volume_ratio", |
| "nifty_mfi", |
| "nifty_body_percent", |
| "nifty_upper_shadow_percent", |
| "nifty_lower_shadow_percent", |
| "nifty_gap_up", |
| "nifty_gap_down", |
| "nifty_inside_day", |
| "nifty_outside_day", |
| "nifty_doji", |
| "nifty_distance_from_52w_high", |
| "nifty_distance_from_52w_low", |
| "nifty_rolling_drawdown", |
| "nifty_bull_market", |
| "nifty_bear_market", |
| "nifty_strong_trend", |
| "nifty_positive_20d", |
| "nifty_positive_60d", |
| "close_1", |
| "vix_return_1d", |
| "vix_return_5d", |
| "vix_return_20d", |
| "vix_ma20", |
| "vix_volatility", |
| "vix_zscore", |
| "vix_percentile", |
| "high_vol_regime", |
| "low_vol_regime", |
| "extreme_fear", |
| "extreme_calm", |
| "gold_ret_1d", |
| "gold_ret_5d", |
| "gold_ret_20d", |
| "gold_sma20_ratio", |
| "gold_sma200_ratio", |
| "gold_momentum_10", |
| "gold_momentum_20", |
| "gold_volatility_20d", |
| "gold_trend", |
| "gold_zscore", |
| "gold_vol_zscore", |
| "gold_high_vol", |
| "brent_ret_1d", |
| "brent_ret_5d", |
| "brent_ret_20d", |
| "brent_sma20_ratio", |
| "brent_sma200_ratio", |
| "brent_momentum_10", |
| "brent_momentum_20", |
| "brent_volatility_20d", |
| "brent_trend", |
| "brent_zscore", |
| "brent_vol_zscore", |
| "brent_high_vol", |
| "brent_spike", |
| "usd_inr_ret_1d", |
| "usd_inr_ret_5d", |
| "usd_inr_ret_20d", |
| "usd_inr_sma20_ratio", |
| "usd_inr_sma200_ratio", |
| "usd_inr_momentum_10", |
| "usd_inr_momentum_20", |
| "usd_inr_volatility_20d", |
| "usd_inr_trend", |
| "usd_inr_zscore", |
| "usd_inr_vol_zscore", |
| "usd_inr_high_vol", |
| "usd_inr_appreciation", |
| "us_ret_1d", |
| "us_ret_5d", |
| "us_ret_20d", |
| "us_ret_60d", |
| "us_breadth_1d", |
| "us_breadth_5d", |
| "us_breadth_20d", |
| "us_dispersion_1d", |
| "us_dispersion_5d", |
| "us_avg_vol_ratio", |
| "us_pct_above_sma20", |
| "us_avg_rsi", |
| "us_avg_dist_52w_high", |
| "corr_nifty_20d", |
| "corr_nifty_60d", |
| "beta_nifty_60d", |
| "is_high_beta", |
| "is_low_beta", |
| "corr_breakdown", |
| "rel_strength_5d", |
| "rel_strength_20d", |
| "corr_gold_60d", |
| "corr_gold_rising", |
| "corr_brent_60d", |
| "corr_brent_rising", |
| "corr_usd_inr_60d", |
| "corr_usd_inr_rising", |
| "corr_us_60d" |
| ], |
| "total_features": 221, |
| "best_iteration": 1999, |
| "params": { |
| "objective": "binary:logistic", |
| "eval_metric": "aucpr", |
| "tree_method": "hist", |
| "device": "cuda", |
| "learning_rate": 0.02, |
| "max_depth": 6, |
| "subsample": 0.75, |
| "colsample_bytree": 0.75, |
| "min_child_weight": 20, |
| "gamma": 0.1, |
| "reg_alpha": 0.1, |
| "reg_lambda": 1.0, |
| "seed": 42, |
| "max_bin": 256, |
| "n_estimators": 2000 |
| }, |
| "metrics": { |
| "val": { |
| "pr_auc": 0.9042, |
| "roc_auc": 0.9472, |
| "precision": 0.7981, |
| "recall": 0.8364, |
| "ic": 0.714, |
| "n_rows": 1698058, |
| "pos_rate": 0.3062, |
| "brier_score": 0.0835, |
| "brier_skill_score": 0.6068000197410583, |
| "mean_calib_error": 0.0749, |
| "no_skill_brier": 0.21240000426769257, |
| "calibration_curve": { |
| "fraction_of_positives": [ |
| 0.015583287674426738, |
| 0.07435920568570255, |
| 0.14871492862667884, |
| 0.236217017491847, |
| 0.32711561210652357, |
| 0.42616482259908844, |
| 0.5483246365396607, |
| 0.6818195209616121, |
| 0.821664709208752, |
| 0.966290848301184 |
| ], |
| "mean_predicted_prob": [ |
| 0.03545770506861525, |
| 0.1437372801748982, |
| 0.24671069988005753, |
| 0.34814692895842914, |
| 0.4489718037772851, |
| 0.5493239582662961, |
| 0.6504352846764856, |
| 0.751485701542276, |
| 0.85354191677695, |
| 0.9652750704686287 |
| ] |
| } |
| }, |
| "test_wf": { |
| "folds": [ |
| { |
| "fold": 1, |
| "start": "2024-09-01", |
| "end": "2025-02-28", |
| "pr_auc": 0.9336, |
| "ic": 0.7619, |
| "brier": 0.085, |
| "n_rows": 262062, |
| "pos_rate": 0.386 |
| }, |
| { |
| "fold": 2, |
| "start": "2025-03-01", |
| "end": "2025-08-31", |
| "pr_auc": 0.8987, |
| "ic": 0.7044, |
| "brier": 0.0829, |
| "n_rows": 266786, |
| "pos_rate": 0.3005 |
| }, |
| { |
| "fold": 3, |
| "start": "2025-09-01", |
| "end": "2026-02-28", |
| "pr_auc": 0.8921, |
| "ic": 0.7011, |
| "brier": 0.0845, |
| "n_rows": 282585, |
| "pos_rate": 0.3007 |
| }, |
| { |
| "fold": 4, |
| "start": "2026-03-01", |
| "end": "2026-06-30", |
| "pr_auc": 0.8962, |
| "ic": 0.7157, |
| "brier": 0.0925, |
| "n_rows": 180837, |
| "pos_rate": 0.3352 |
| } |
| ], |
| "mean_pr_auc": 0.9052, |
| "mean_ic": 0.7208, |
| "mean_brier": 0.0862 |
| } |
| }, |
| "class_balance": { |
| "total": 4231195, |
| "positive": 1701894, |
| "negative": 2529301, |
| "pos_rate": 0.4022, |
| "neg_rate": 0.5978, |
| "spw": 1.4862 |
| }, |
| "dataset": "/run/media/lucifer/developer/Developer/stock_model/Dataset/Processed_dataset/labeled_dataset_ml/ml_training_dataset_3.0pct_5days.parquet", |
| "run_dir": "/run/media/lucifer/developer/Developer/stock_model/models/runs/20260809_095516" |
| } |