Scikit-learn
Joblib
English
gold-price-prediction
time-series
classification
financial-prediction
Eval Results (legacy)
Instructions to use theonegareth/GoldPricePredictor with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Scikit-learn
How to use theonegareth/GoldPricePredictor with Scikit-learn:
from huggingface_hub import hf_hub_download import joblib model = joblib.load( hf_hub_download("theonegareth/GoldPricePredictor", "sklearn_model.joblib") ) # only load pickle files from sources you trust # read more about it here https://skops.readthedocs.io/en/stable/persistence.html - Notebooks
- Google Colab
- Kaggle
| language: en | |
| license: mit | |
| library_name: sklearn | |
| tags: | |
| - sklearn | |
| - gold-price-prediction | |
| - time-series | |
| - classification | |
| - financial-prediction | |
| datasets: | |
| - custom | |
| metrics: | |
| - accuracy | |
| - f1-score | |
| - roc-auc | |
| model-index: | |
| - name: Gold Price Direction Predictor | |
| results: | |
| - task: | |
| type: classification | |
| name: Binary Classification | |
| dataset: | |
| type: custom | |
| name: Antam Gold Prices | |
| metrics: | |
| - type: accuracy | |
| value: 0.55 # Approximate from training | |
| name: Accuracy | |
| - type: f1 | |
| value: 0.56 # Approximate | |
| name: F1 Score | |
| - type: roc_auc | |
| value: 0.58 # Approximate | |
| name: ROC AUC | |
| # Gold Price Direction Predictor | |
| This model predicts the next-day direction of gold prices (up or down) based on historical Antam gold price data and technical indicators. | |
| ## Model Description | |
| - **Model Type**: Binary Classification (Gradient Boosting / XGBoost / LightGBM) | |
| - **Task**: Predict whether gold price will go up or down the next day | |
| - **Input**: Feature vector with technical indicators (returns, lags, RSI, MACD, Bollinger Bands, etc.) | |
| - **Output**: Probability of price going up (0-1), thresholded at optimized value for prediction | |
| ## Intended Uses & Limitations | |
| ### Intended Uses | |
| - Financial analysis and decision support | |
| - Educational purposes for machine learning in finance | |
| - Research on gold price prediction | |
| ### Limitations | |
| - Trained on historical Antam gold prices only | |
| - May not generalize to other markets or time periods | |
| - Prediction accuracy is around 55-60% (better than random but not perfect) | |
| - Requires up-to-date feature computation for real-time use | |
| ## How to Use | |
| ### Loading the Model | |
| ```python | |
| from huggingface_hub import hf_hub_download | |
| from joblib import load | |
| # Download model | |
| model_path = hf_hub_download("theonegareth/GoldPricePredictor", "gold_direction_model.joblib") | |
| model = load(model_path) | |
| ``` | |
| ### Making Predictions | |
| The model expects a pandas DataFrame with the same feature columns used in training. | |
| ```python | |
| import pandas as pd | |
| # Example feature vector (you need to compute these from your data) | |
| features = pd.DataFrame({ | |
| 'ret': [0.01], | |
| 'log_ret': [0.00995], | |
| 'ret_lag_1': [0.005], | |
| # ... all required features | |
| }) | |
| # Predict probability of going up | |
| proba_up = model.predict_proba(features)[:, 1] | |
| prediction = (proba_up >= 0.52).astype(int) # Using optimized threshold | |
| ``` | |
| ### Feature Engineering | |
| To use this model, you need to compute the same features from your gold price data: | |
| - Daily returns and log returns | |
| - Lagged returns (1-5 days) | |
| - Rolling means and stds (3,5,10,20 days) | |
| - RSI (14-day) | |
| - MACD and signal | |
| - Bollinger Bands | |
| - Day of week and month | |
| See the training notebooks for the complete `add_features_adaptive` function. | |
| ## Training Data | |
| - Source: Antam historical gold prices (Indonesian market) | |
| - Period: [Insert date range from your data] | |
| - Features: 25+ technical indicators | |
| - Target: Next-day price direction (up=1, down=0) | |
| ## Performance | |
| Based on holdout testing: | |
| - Accuracy: ~55% | |
| - F1 Score: ~56% | |
| - ROC AUC: ~58% | |
| See the confusion matrix, ROC curve, and feature importance plots in the repository. | |
| ## Training Procedure | |
| 1. Data preprocessing and feature engineering | |
| 2. Time-series split for cross-validation | |
| 3. Hyperparameter tuning with RandomizedSearchCV | |
| 4. Model selection based on F1 score | |
| 5. Threshold optimization for final predictions | |
| Models compared: Gradient Boosting, XGBoost, LightGBM | |
| ## Contact | |
| For questions or issues, please open an issue on this repository. | |
| ## License | |
| MIT License |