{"id":32664409,"url":"https://github.com/sudo-de/hull_tactical_market_prediction_using_hyperopt","last_synced_at":"2026-05-06T04:32:40.604Z","repository":{"id":321435111,"uuid":"1084206130","full_name":"sudo-de/hull_tactical_market_prediction_using_hyperopt","owner":"sudo-de","description":"This is based market timing model inspired by Hull Tactical’s approach, using Hyperopt for hyperparameter optimization and backtesting to enhance predictive performance.","archived":false,"fork":false,"pushed_at":"2025-10-29T15:42:13.000Z","size":723,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-29T17:38:19.731Z","etag":null,"topics":["algorithms","catboost","lightgbm","optimization","optuna","python3","scikit-learn","scipy","xgboost"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sudo-de.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-27T11:19:48.000Z","updated_at":"2025-10-29T15:42:17.000Z","dependencies_parsed_at":"2025-10-29T17:38:21.655Z","dependency_job_id":null,"html_url":"https://github.com/sudo-de/hull_tactical_market_prediction_using_hyperopt","commit_stats":null,"previous_names":["sudo-de/hull_tactical_market_prediction_using_hyperopt"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/sudo-de/hull_tactical_market_prediction_using_hyperopt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudo-de%2Fhull_tactical_market_prediction_using_hyperopt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudo-de%2Fhull_tactical_market_prediction_using_hyperopt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudo-de%2Fhull_tactical_market_prediction_using_hyperopt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudo-de%2Fhull_tactical_market_prediction_using_hyperopt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sudo-de","download_url":"https://codeload.github.com/sudo-de/hull_tactical_market_prediction_using_hyperopt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudo-de%2Fhull_tactical_market_prediction_using_hyperopt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32678610,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T02:33:58.958Z","status":"ssl_error","status_checked_at":"2026-05-06T02:33:39.611Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","catboost","lightgbm","optimization","optuna","python3","scikit-learn","scipy","xgboost"],"created_at":"2025-11-01T00:00:26.510Z","updated_at":"2026-05-06T04:32:40.580Z","avatar_url":"https://github.com/sudo-de.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hull Tactical Market Prediction using Hyperopt\n\nThis project implements an advanced market timing model inspired by Hull Tactical's approach, using Optuna for hyperparameter optimization and multiple machine learning algorithms to enhance predictive performance.\n\n## Key Features\n\n- **Advanced Feature Engineering**: Creates 88+ features including lags, rolling statistics, momentum indicators, and interactions\n- **Multiple Algorithms**: ElasticNet, LightGBM, XGBoost, CatBoost, and Ensemble models\n- **Hyperparameter Optimization**: Optuna-based Bayesian optimization for each model\n- **Training Metrics Tracking**: Real-time tracking of loss functions, training/validation metrics, and epochs\n- **Comprehensive Metrics Display**: Best/worst training and validation RMSE with iteration numbers\n- **Model Comparison Framework**: Systematic evaluation and visualization of model performance\n- **Competition-Ready**: Includes evaluation scoring function for Hull Tactical Market Prediction competition\n\n## Quick Start\n\n### 1. Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/sudo-de/hull_tactical_market_prediction_using_hyperopt.git\ncd hull_tactical_market_prediction_using_hyperopt\n\n# Create virtual environment\npython3 -m venv venv\nsource venv/bin/activate  # On macOS/Linux\n# OR\nvenv\\Scripts\\activate     # On Windows\n\n# Install dependencies\npip install --upgrade pip\npip install -r requirements.txt\n```\n\n### 2. Run Training\n\n```bash\n# Activate environment\nsource venv/bin/activate\n\n# Run advanced training with all models\npython train.py\n\n# OR run basic version\npython main.py\n```\n\n### 3. Compare Models\n\n```bash\npython compare_models.py\n```\n\n## Project Structure\n\n```\n├── src/\n│   ├── features.py              # Advanced feature engineering\n│   ├── data.py                  # Data loading utilities\n│   └── models/                  # Model implementations\n│       ├── elastic_net.py       # ElasticNet with Optuna\n│       ├── lightgbm_model.py    # LightGBM with Optuna\n│       ├── xgboost_model.py     # XGBoost with Optuna\n│       ├── catboost_model.py    # CatBoost with Optuna\n│       └── ensemble.py         # Ensemble methods\n├── input/                       # Data directory\n├── artifacts/                   # Model outputs and plots\n├── train.py                     # Main training script\n├── main.py                      # Basic implementation\n├── compare_models.py            # Model comparison\n├── evaluation.py                # Competition scoring\n├── requirements.txt             # Dependencies\n├── README.md                    # This file\n├── ARCHITECTURE.md              # System architecture\n├── FEATURES.md                  # Feature engineering details\n├── TRAINING_RESULTS.md          # Training results\n└── QUICK_START.md               # Quick start guide\n```\n\n## Models\n\n### 1. ElasticNet\n- Regularized linear regression with L1 and L2 penalties\n- Fast training, interpretable results\n- CV Score: 0.010908 RMSE\n\n### 2. LightGBM (Best Performer)\n- Fast gradient boosting with leaf-wise tree growth\n- Excellent for large feature sets\n- CV Score: **0.009635 RMSE**\n\n### 3. XGBoost\n- Advanced gradient boosting framework\n- Robust to missing values\n- CV Score: 0.009800 RMSE\n\n### 4. CatBoost\n- Gradient boosting with categorical feature handling\n- Built-in early stopping and overfitting detection\n- CV Score: ~0.0091 RMSE\n\n### 5. Ensemble\n- Weighted voting of all models\n- Most robust predictions\n- Combines strengths of all algorithms\n\n## Feature Engineering\n\n- **13 basic features** → **88 engineered features**\n- Lag features (1-5 day lags)\n- Rolling statistics (mean, std, min, max)\n- Momentum indicators\n- Interaction features\n- Volatility features\n\n## Model Configuration\n\n### Hyperparameters (Optuna-optimized)\n\n**ElasticNet:**\n- CV folds: 5\n- Trials: 20\n- Alpha: [1e-4, 1.0]\n- L1_ratio: [0.0, 1.0]\n\n**LightGBM:**\n- CV folds: 5\n- Trials: 20\n- 8 hyperparameters optimized\n- Best: num_leaves=290, lr=0.069\n\n**XGBoost:**\n- CV folds: 5\n- Trials: 20\n- 9 hyperparameters optimized\n- Best: max_depth=4, lr=0.062\n\n## Training Results\n\n✅ **Successfully Trained!** See `TRAINING_RESULTS.md` for detailed results.\n\n### Quick Summary:\n- **Best Model**: LightGBM (CV Score: 0.009635 RMSE)\n- **Features**: 88 engineered features\n- **Algorithms**: 5 models trained (ElasticNet, LightGBM, XGBoost, CatBoost, Ensemble)\n- **Optimization**: Optuna hyperparameter tuning completed\n- **Metrics Tracking**: Loss functions, training/validation RMSE, epochs displayed\n- **Signals**: Valid trading signals generated in [0, 2] range\n\n### Run Training:\n```bash\nsource venv/bin/activate\npython train.py\n```\n\n### Expected Output:\n- Model predictions for all algorithms\n- Loss function displayed for each model\n- Training and validation RMSE metrics (final, best, worst)\n- Iterations/epochs used during training\n- Feature importance rankings\n- Signal ranges and statistics\n- Best hyperparameters for each model\n- Comprehensive training summary section\n\n## Documentation\n\n- **[ARCHITECTURE.md](ARCHITECTURE.md)** - Complete system architecture and design\n- **[FEATURES.md](FEATURES.md)** - Advanced feature engineering details\n- **[TRAINING_RESULTS.md](TRAINING_RESULTS.md)** - Detailed training results and metrics\n- **[QUICK_START.md](QUICK_START.md)** - Quick start guide\n\n## Evaluation\n\nThe competition uses a volatility-adjusted Sharpe ratio that penalizes strategies with:\n- Significantly higher volatility than the market\n- Returns that fail to outperform the market\n\nThe scoring function is implemented in `evaluation.py`.\n\n## Requirements\n\n- Python 3.8+\n- See `requirements.txt` for full dependency list\n\n## License\n\nSee LICENSE file for details.\n\n## Repository\n\n🔗 **GitHub**: https://github.com/sudo-de/hull_tactical_market_prediction_using_hyperopt\n\n## Contributing\n\nFeel free to submit issues and enhancement requests!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsudo-de%2Fhull_tactical_market_prediction_using_hyperopt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsudo-de%2Fhull_tactical_market_prediction_using_hyperopt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsudo-de%2Fhull_tactical_market_prediction_using_hyperopt/lists"}