{ "created_at": "2026-05-07T11:30:13.620502", "tickers": [ "SPY", "QQQ", "AAPL", "MSFT", "TSLA", "NVDA", "AMD", "META", "JPM", "XOM" ], "forecast_horizon_days": 5, "history_years": 15, "feature_count": 66, "features": [ "close_lag_1", "volume_lag_1", "close_lag_2", "volume_lag_2", "close_lag_3", "volume_lag_3", "close_lag_5", "volume_lag_5", "close_lag_10", "volume_lag_10", "close_lag_20", "volume_lag_20", "return_1d", "return_2d", "return_3d", "return_5d", "return_10d", "return_20d", "sma_5", "ema_5", "price_to_sma_5", "price_to_ema_5", "sma_10", "ema_10", "price_to_sma_10", "price_to_ema_10", "sma_20", "ema_20", "price_to_sma_20", "price_to_ema_20", "sma_50", "ema_50", "price_to_sma_50", "price_to_ema_50", "rsi_14", "macd", "macd_signal", "macd_hist", "bb_middle", "bb_std", "bb_upper", "bb_lower", "bb_width", "bb_position", "atr_14", "atr_pct", "volatility_5", "volatility_10", "volatility_20", "volume_sma_20", "volume_ratio", "obv", "obv_ema_20", "daily_range", "daily_range_pct", "upper_shadow", "lower_shadow", "body", "high_low_ratio", "volume_price_ratio", "dayofweek", "month", "quarter", "year", "is_month_start", "is_month_end" ], "aggregate": { "mean_rmse": 0.04714254512125229, "mean_r2": -0.011642625347288538, "mean_directional_accuracy": 0.5683161685514271, "mean_classification_accuracy": 0.48765633414108783 }, "per_ticker": [ { "ticker": "SPY", "n_samples": 3717, "last_date": "2026-04-29 00:00:00", "reg_metrics": { "rmse": 0.02258405498129791, "mae": 0.015489606891181434, "r2": -0.0014456491014669393, "directional_accuracy": 0.6138933764135702 }, "clf_metrics": { "accuracy": 0.49789983844911145, "mean_pred_proba": 0.5229997634887695 }, "top_features": [ { "feature": "close_lag_1", "importance": 0.0 }, { "feature": "volume_lag_1", "importance": 0.0 }, { "feature": "close_lag_2", "importance": 0.0 }, { "feature": "volume_lag_2", "importance": 0.0 }, { "feature": "close_lag_3", "importance": 0.0 }, { "feature": "volume_lag_3", "importance": 0.0 }, { "feature": "close_lag_5", "importance": 0.0 }, { "feature": "volume_lag_5", "importance": 0.0 }, { "feature": "close_lag_10", "importance": 0.0 }, { "feature": "volume_lag_10", "importance": 0.0 } ] }, { "ticker": "QQQ", "n_samples": 3717, "last_date": "2026-04-29 00:00:00", "reg_metrics": { "rmse": 0.027647329896099054, "mae": 0.0202528876430223, "r2": -0.0013446283390452507, "directional_accuracy": 0.6064620355411955 }, "clf_metrics": { "accuracy": 0.4516962843295638, "mean_pred_proba": 0.44377511739730835 }, "top_features": [ { "feature": "close_lag_1", "importance": 0.0 }, { "feature": "volume_lag_1", "importance": 0.0 }, { "feature": "close_lag_2", "importance": 0.0 }, { "feature": "volume_lag_2", "importance": 0.0 }, { "feature": "close_lag_3", "importance": 0.0 }, { "feature": "volume_lag_3", "importance": 0.0 }, { "feature": "close_lag_5", "importance": 0.0 }, { "feature": "volume_lag_5", "importance": 0.0 }, { "feature": "close_lag_10", "importance": 0.0 }, { "feature": "volume_lag_10", "importance": 0.0 } ] }, { "ticker": "AAPL", "n_samples": 3717, "last_date": "2026-04-29 00:00:00", "reg_metrics": { "rmse": 0.037949900394249565, "mae": 0.02848060110522521, "r2": -0.001883759887715275, "directional_accuracy": 0.5773828756058158 }, "clf_metrics": { "accuracy": 0.46526655896607433, "mean_pred_proba": 0.3982858955860138 }, "top_features": [ { "feature": "close_lag_1", "importance": 0.0 }, { "feature": "volume_lag_1", "importance": 0.0 }, { "feature": "close_lag_2", "importance": 0.0 }, { "feature": "volume_lag_2", "importance": 0.0 }, { "feature": "close_lag_3", "importance": 0.0 }, { "feature": "volume_lag_3", "importance": 0.0 }, { "feature": "close_lag_5", "importance": 0.0 }, { "feature": "volume_lag_5", "importance": 0.0 }, { "feature": "close_lag_10", "importance": 0.0 }, { "feature": "volume_lag_10", "importance": 0.0 } ] }, { "ticker": "MSFT", "n_samples": 3717, "last_date": "2026-04-29 00:00:00", "reg_metrics": { "rmse": 0.03338230145871437, "mae": 0.02460364621836996, "r2": -0.0017634296758328727, "directional_accuracy": 0.5886914378029079 }, "clf_metrics": { "accuracy": 0.4898222940226171, "mean_pred_proba": 0.4148150384426117 }, "top_features": [ { "feature": "close_lag_1", "importance": 0.0 }, { "feature": "volume_lag_1", "importance": 0.0 }, { "feature": "close_lag_2", "importance": 0.0 }, { "feature": "volume_lag_2", "importance": 0.0 }, { "feature": "close_lag_3", "importance": 0.0 }, { "feature": "volume_lag_3", "importance": 0.0 }, { "feature": "close_lag_5", "importance": 0.0 }, { "feature": "volume_lag_5", "importance": 0.0 }, { "feature": "close_lag_10", "importance": 0.0 }, { "feature": "volume_lag_10", "importance": 0.0 } ] }, { "ticker": "TSLA", "n_samples": 3717, "last_date": "2026-04-29 00:00:00", "reg_metrics": { "rmse": 0.08043075300075517, "mae": 0.05903643965282488, "r2": 0.003049126226984389, "directional_accuracy": 0.5431340872374798 }, "clf_metrics": { "accuracy": 0.5124394184168013, "mean_pred_proba": 0.38870567083358765 }, "top_features": [ { "feature": "return_20d", "importance": 2.3221065998077393 }, { "feature": "obv_ema_20", "importance": 1.8002305030822754 }, { "feature": "bb_width", "importance": 1.5809487104415894 }, { "feature": "macd_signal", "importance": 1.4683542251586914 }, { "feature": "volume_sma_20", "importance": 1.4282184839248657 }, { "feature": "close_lag_20", "importance": 1.4218547344207764 }, { "feature": "price_to_sma_50", "importance": 1.3453361988067627 }, { "feature": "bb_lower", "importance": 1.039569616317749 }, { "feature": "bb_position", "importance": 1.0004820823669434 }, { "feature": "month", "importance": 0.9978708028793335 } ] }, { "ticker": "NVDA", "n_samples": 3717, "last_date": "2026-04-29 00:00:00", "reg_metrics": { "rmse": 0.0629796865273556, "mae": 0.046752108461442995, "r2": -0.006990257854314175, "directional_accuracy": 0.5912762520193862 }, "clf_metrics": { "accuracy": 0.4752827140549273, "mean_pred_proba": 0.4138370156288147 }, "top_features": [ { "feature": "price_to_ema_20", "importance": 0.11267860233783722 }, { "feature": "price_to_ema_10", "importance": 0.10398182272911072 }, { "feature": "volume_lag_1", "importance": 0.0 }, { "feature": "close_lag_1", "importance": 0.0 }, { "feature": "close_lag_2", "importance": 0.0 }, { "feature": "volume_lag_2", "importance": 0.0 }, { "feature": "close_lag_5", "importance": 0.0 }, { "feature": "volume_lag_5", "importance": 0.0 }, { "feature": "close_lag_3", "importance": 0.0 }, { "feature": "volume_lag_3", "importance": 0.0 } ] }, { "ticker": "AMD", "n_samples": 3717, "last_date": "2026-04-29 00:00:00", "reg_metrics": { "rmse": 0.08264027036392803, "mae": 0.06240457589615701, "r2": -0.10014641602044749, "directional_accuracy": 0.4898222940226171 }, "clf_metrics": { "accuracy": 0.502746365105008, "mean_pred_proba": 0.4997366964817047 }, "top_features": [ { "feature": "volume_sma_20", "importance": 1.6253958940505981 }, { "feature": "bb_std", "importance": 1.5996568202972412 }, { "feature": "bb_width", "importance": 0.7092846632003784 }, { "feature": "obv_ema_20", "importance": 0.5368807315826416 }, { "feature": "year", "importance": 0.49854761362075806 }, { "feature": "ema_50", "importance": 0.42345595359802246 }, { "feature": "sma_10", "importance": 0.3844447731971741 }, { "feature": "volume_price_ratio", "importance": 0.37271618843078613 }, { "feature": "bb_upper", "importance": 0.3239809572696686 }, { "feature": "atr_14", "importance": 0.29528796672821045 } ] }, { "ticker": "META", "n_samples": 3457, "last_date": "2026-04-29 00:00:00", "reg_metrics": { "rmse": 0.05135977345262444, "mae": 0.03550399560740792, "r2": -0.0029538454689683746, "directional_accuracy": 0.5645833333333333 }, "clf_metrics": { "accuracy": 0.5114583333333333, "mean_pred_proba": 0.45935922861099243 }, "top_features": [ { "feature": "atr_14", "importance": 1.1425180435180664 }, { "feature": "sma_50", "importance": 0.540405809879303 }, { "feature": "atr_pct", "importance": 0.2499609887599945 }, { "feature": "close_lag_1", "importance": 0.0 }, { "feature": "volume_lag_1", "importance": 0.0 }, { "feature": "close_lag_2", "importance": 0.0 }, { "feature": "close_lag_5", "importance": 0.0 }, { "feature": "volume_lag_5", "importance": 0.0 }, { "feature": "close_lag_3", "importance": 0.0 }, { "feature": "volume_lag_2", "importance": 0.0 } ] }, { "ticker": "JPM", "n_samples": 3717, "last_date": "2026-04-29 00:00:00", "reg_metrics": { "rmse": 0.03553619067582355, "mae": 0.025525398304969315, "r2": -0.0017578911152462684, "directional_accuracy": 0.5725363489499192 }, "clf_metrics": { "accuracy": 0.46332794830371565, "mean_pred_proba": 0.44338667392730713 }, "top_features": [ { "feature": "close_lag_1", "importance": 0.0 }, { "feature": "volume_lag_1", "importance": 0.0 }, { "feature": "close_lag_2", "importance": 0.0 }, { "feature": "volume_lag_2", "importance": 0.0 }, { "feature": "close_lag_3", "importance": 0.0 }, { "feature": "volume_lag_3", "importance": 0.0 }, { "feature": "close_lag_5", "importance": 0.0 }, { "feature": "volume_lag_5", "importance": 0.0 }, { "feature": "close_lag_10", "importance": 0.0 }, { "feature": "volume_lag_10", "importance": 0.0 } ] }, { "ticker": "XOM", "n_samples": 3717, "last_date": "2026-04-29 00:00:00", "reg_metrics": { "rmse": 0.03691519046167525, "mae": 0.025952926462741707, "r2": -0.0011895022368331176, "directional_accuracy": 0.5353796445880452 }, "clf_metrics": { "accuracy": 0.5066235864297254, "mean_pred_proba": 0.5345469117164612 }, "top_features": [ { "feature": "close_lag_1", "importance": 0.0 }, { "feature": "volume_lag_1", "importance": 0.0 }, { "feature": "close_lag_2", "importance": 0.0 }, { "feature": "volume_lag_2", "importance": 0.0 }, { "feature": "close_lag_3", "importance": 0.0 }, { "feature": "volume_lag_3", "importance": 0.0 }, { "feature": "close_lag_5", "importance": 0.0 }, { "feature": "volume_lag_5", "importance": 0.0 }, { "feature": "close_lag_10", "importance": 0.0 }, { "feature": "volume_lag_10", "importance": 0.0 } ] } ] }