Overview
A containerized ML API that forecasts stock prices using Facebook Prophet’s additive decomposition model. The system downloads historical data from Yahoo Finance, trains Prophet models capturing trend and seasonal patterns, serializes them for fast loading, and serves predictions via a REST endpoint.
How It Works
Prophet models time series as an additive combination:
y(t) = trend(t) + seasonality(t) + holidays(t) + error(t)
The pipeline: Yahoo Finance data → Prophet training → joblib serialization → FastAPI serving. Supports any stock ticker available on Yahoo Finance with configurable forecast horizons (1–365 days).
Why Prophet?
Stock price data exhibits strong weekly and yearly seasonality. Prophet handles this natively without manual seasonal decomposition, and is robust to missing data and trend changepoints — making it well-suited for financial time series where market closures and regime changes are common.
Tech Stack
- Forecasting: Facebook Prophet
- Data Source: Yahoo Finance (yfinance)
- API Framework: FastAPI + Uvicorn
- Serialization: joblib
- Containerization: Docker