| # DataSynthis_ML_JobTask - Stock Price Forecasting (Deliverables) | |
| This bundle contains a ready-to-run Jupyter notebook, a small synthetic sample dataset, and helper scripts for training ARIMA, LSTM, and Prophet models; evaluating them with rolling-window evaluation; and steps to deploy model artifacts to Hugging Face Hub (you must run that step locally or from an environment with internet access). | |
| ## Files included | |
| - `stock_forecasting_notebook.ipynb` β The full notebook with preprocessing, ARIMA, LSTM, Prophet, rolling-window evaluation, plots, and saving models. | |
| - `sample_stock.csv` β A synthetic daily closing-price CSV (2020-01-01 to 2021-12-31, business days) to run the notebook offline. | |
| - `requirements.txt` β Python dependencies. | |
| - `upload_to_hf.py` β Example script to upload model files to Hugging Face Hub (requires `huggingface_hub` and HF token). | |
| - `README.md` β This file. | |
| ## Quick start | |
| 1. Create and activate a python environment (recommended: conda or venv) | |
| ```bash | |
| python -m venv venv | |
| source venv/bin/activate # Linux/macOS | |
| venv\Scripts\activate # Windows | |
| pip install -r requirements.txt | |
| ``` | |
| 2. Start Jupyter and open the notebook: | |
| ```bash | |
| jupyter notebook stock_forecasting_notebook.ipynb | |
| ``` | |
| 3. The notebook contains cells to download real stock data via `yfinance` (if you have internet) or use the included `sample_stock.csv` for an offline demo. | |
| ## Hugging Face deployment (notes) | |
| - You cannot deploy directly from this notebook in an environment without internet. | |
| - Use `upload_to_hf.py` to push saved model files to the HF repo `DataSynthis_ML_JobTask` after creating it on the Hugging Face website (or the script will create the repo for you if you provide a valid token). | |
| - Create a HF token at https://huggingface.co/settings/tokens and set environment variable `HF_TOKEN` or pass `--token` to the script. | |
| ## About results | |
| - The notebook runs quick examples and shows how to compute RMSE and MAPE, and how to perform rolling-window evaluation. | |
| - For production-quality training and evaluation (e.g., longer LSTM training), run on a machine with a GPU and more data. | |