Client: GMF Investments | Program: 10 Academy Kifiya AI Mastery Program — Week 9
GMF Investments is a financial advisory firm specializing in personalized, data-driven portfolio management. This project applies time series forecasting and Modern Portfolio Theory to translate historical market data into an actionable, risk-aware portfolio recommendation — simulating the role of a Financial Analyst at GMF who must justify allocation decisions to an investment committee, not just produce a forecast in isolation.
| Ticker | Description | Risk Profile |
|---|---|---|
| TSLA | Tesla — high-growth consumer discretionary stock | High risk, high potential return |
| BND | Vanguard Total Bond Market ETF | Low risk, stability and income |
| SPY | S&P 500 ETF | Moderate risk, broad market exposure |
Data period: January 1, 2015 – June 30, 2026, sourced via the yfinance API.
portfolio-optimization/
├── data/
│ └── processed/
├── notebooks/
├── scripts/
├── src/
│ ├── data_loader.py
│ └── analysis.py
├── tests/
└── .github/workflows/
- Create and activate a virtual environment.
- Install dependencies with
pip install -r requirements.txt. - Run the test suite with
pytest tests/ -v. - Use the notebooks for exploratory analysis and the reusable modules in
src/for production-style logic.
GitHub Actions runs automated tests on every push and pull request to main via .github/workflows/unittests.yml.
You can use the reusable helpers in src/ directly from Python:
from src.analysis import enrich_time_series, compute_risk_metrics- The data loader centralizes fetching, saving, and loading of processed financial data.
- The analysis module provides reusable helpers for returning metrics and rolling statistics so notebook logic is easier to test.
- The notebooks remain the main place for visualization and experimentation, while core logic is moved into reusable Python modules when possible.