{ "feature_count": 17, "feature_names": [ "ret_1", "ret_3", "ret_5", "ret_accel", "close_pos", "vol_20", "high_vol", "low_vol", "rsi_oversold", "rsi_neutral", "macd_positive", "london_open", "london_close", "nyse_open", "hour", "vwap_deviation", "atr_stops" ], "feature_descriptions": { "ret_1": "Lag-1 return, single bar momentum", "ret_3": "3-bar cumulative return, medium-term trend", "ret_5": "5-bar cumulative return, regime identification", "ret_accel": "Return acceleration, momentum change detection", "close_pos": "Close position within 20-bar range (0-1)", "vol_20": "20-bar volume mean, baseline", "high_vol": "Volume spike flag (binary)", "low_vol": "Volume drought flag (binary)", "rsi_oversold": "RSI < 30 flag (binary)", "rsi_neutral": "30 <= RSI <= 70 flag (binary)", "macd_positive": "MACD > 0 flag (binary)", "london_open": "London 8:00 UTC open flag (binary)", "london_close": "London 16:30 UTC close flag (binary)", "nyse_open": "NYSE 13:30 UTC open flag (binary)", "hour": "Hour of day UTC (0-23)", "vwap_deviation": "Percent deviation from VWAP", "atr_stops": "14-period ATR * 1.0x multiplier" }, "feature_types": { "continuous": ["ret_1", "ret_3", "ret_5", "ret_accel", "close_pos", "vol_20", "hour", "vwap_deviation", "atr_stops"], "binary": ["high_vol", "low_vol", "rsi_oversold", "rsi_neutral", "macd_positive", "london_open", "london_close", "nyse_open"] }, "feature_importance": { "ret_1": 0.0493, "ret_3": 0.0495, "ret_5": 0.0496, "ret_accel": 0.0499, "close_pos": 0.0482, "vol_20": 0.0508, "high_vol": 0.0474, "low_vol": 0.0480, "rsi_oversold": 0.0507, "rsi_neutral": 0.0514, "macd_positive": 0.0477, "london_open": 0.0508, "london_close": 0.0470, "nyse_open": 0.0502, "hour": 0.0491, "vwap_deviation": 0.04, "atr_stops": 0.04 }, "feature_order_critical": "YES - must match order in training", "normalization_required": "YES - use provided scaler.pkl", "missing_value_handling": "Forward fill or drop first 50 rows", "expected_value_ranges": { "ret_1": [-0.05, 0.05], "ret_3": [-0.10, 0.10], "ret_5": [-0.15, 0.15], "ret_accel": [-0.10, 0.10], "close_pos": [0.0, 1.0], "vol_20": [0, "variable"], "high_vol": [0, 1], "low_vol": [0, 1], "rsi_oversold": [0, 1], "rsi_neutral": [0, 1], "macd_positive": [0, 1], "london_open": [0, 1], "london_close": [0, 1], "nyse_open": [0, 1], "hour": [0, 23], "vwap_deviation": [-5, 5], "atr_stops": [0, "variable"] } }