"""
Trading Models Package
Contains ARIMA and Hybrid XGBoost models for stock prediction.
"""
# Version information
__version__ = "1.0.0"
__author__ = "Enhanced Trading System"
# Core model imports
try:
from .arima_model import (
get_arima_forecast,
ARIMAForecaster,
get_enhanced_arima_forecast
)
from .hybrid_model import (
train_xgboost_on_residuals,
HybridARIMAXGBoost,
train_xgboost_on_residuals_enhanced
)
__all__ = [
'get_arima_forecast',
'ARIMAForecaster',
'get_enhanced_arima_forecast',
'train_xgboost_on_residuals',
'HybridARIMAXGBoost',
'train_xgboost_on_residuals_enhanced'
]
except ImportError as e:
print(f"Warning: Could not import all models: {e}")
__all__ = []
def get_available_models():
"""Return list of available model functions."""
return __all__
def check_model_dependencies():
"""Check if all required dependencies are available."""
required_packages = [
'yfinance', 'xgboost', 'statsmodels',
'sklearn', 'pandas', 'numpy'
]
missing = []
for package in required_packages:
try:
__import__(package)
except ImportError:
missing.append(package)
return len(missing) == 0, missing