File size: 2,157 Bytes
1bc26b3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 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.