# quick_test_fixed.py - Quick test with all fixes
def test_system_simple():
"""Simple test with proper type conversions."""
print("š QUICK SYSTEM TEST")
print("=" * 40)
try:
from models.arima_model import get_arima_forecast
from models.hybrid_model import train_xgboost_on_residuals
ticker = 'AAPL'
print(f"Testing {ticker}...")
# Get ARIMA forecast
arima_forecast, residuals, df = get_arima_forecast(ticker)
# Train XGBoost (will use fallback if enhanced fails)
xgb_model, latest_features = train_xgboost_on_residuals(residuals, df)
# Make prediction with proper type conversion
residual_correction = float(xgb_model.predict(latest_features)[0])
hybrid_forecast = float(arima_forecast) + residual_correction
last_price = float(df['Close'].iloc[-1])
change = (hybrid_forecast - last_price) / last_price
print(f"ā
Last price: ${last_price:.2f}")
print(f"ā
ARIMA forecast: ${float(arima_forecast):.2f}")
print(f"ā
Residual correction: {residual_correction:.4f}")
print(f"ā
Hybrid forecast: ${hybrid_forecast:.2f}")
print(f"ā
Expected change: {change:+.2%}")
# Signal
if change > 0.02:
signal = "š¢ BUY"
elif change < -0.02:
signal = "š“ SELL"
else:
signal = "š” HOLD"
print(f"ā
Trading Signal: {signal}")
print(f"\nš SYSTEM WORKING!")
return True
except Exception as e:
print(f"ā Error: {e}")
import traceback
traceback.print_exc()
return False
if __name__ == "__main__":
test_system_simple()