A comprehensive financial analytics project demonstrating portfolio performance analysis, risk-adjusted returns, and Brinson-Fachler attribution methodology for Mutapa Investment Fund's multi-sector portfolio.
This project implements a sophisticated performance attribution system for analyzing investment returns across 8 sectors (Mining, Energy, ICT, Transport, Agriculture, Financials, Real Estate, Manufacturing) with $375.98 billion in assets under management.
Note: This is an independent project using simulated data for demonstration purposes. It serves as a tribute to Mutapa Investment Fund and showcases financial data science capabilities.
-
Brinson-Fachler Performance Attribution Model
- Allocation Effect Analysis
- Selection Effect Analysis
- Interaction Effect Decomposition
-
Risk-Adjusted Performance Metrics
- Sharpe Ratios by Sector
- Volatility Analysis
- Risk-Return Profiles
-
Time Series Analysis
- Rolling Performance Windows
- Stationarity Testing
- Trend Decomposition
-
Scenario Analysis
- Commodity Price Shock Simulations
- Market Downturn Scenarios
- Monte Carlo Simulations
-
Interactive Power BI Dashboard
- Executive Overview
- Performance Attribution Breakdown
- Sector Deep Dive
- Market Context Analysis
Programming Languages:
- Python 3.9+ (Data Processing & Analysis)
- DAX (Power BI Measures)
- SQL (Data Relationships)
Libraries & Tools:
- Data Analysis: Pandas, NumPy
- Statistical Modeling: Statsmodels, SciPy
- Visualization: Matplotlib, Seaborn, Power BI
- Testing: Pytest
Development Environment:
- Jupyter Notebook
- Power BI Desktop
- Git/GitHub
βββ data/ # Simulated portfolio and market data
βββ python_scripts/ # Core Python modules
βββ notebooks/ # Jupyter analysis notebooks
βββ powerbi/ # Power BI dashboard files
βββ tests/ # Unit tests
βββ screenshots/ # Dashboard visualizations
βββ requirements.txt # Python dependencies
Python 3.9+
Power BI Desktop
Jupyter Notebook- Clone the repository:
git clone https://github.com/YourUsername/mif-performance-attribution.git
cd mif-performance-attribution- Create virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Generate data:
python python_scripts/generate_portfolio_data.py
python python_scripts/fetch_zse_data.py
python python_scripts/fetch_commodity_prices.py- Run analysis:
jupyter notebook notebooks/MIF_Performance_Dashboard.ipynb- Open Power BI Dashboard:
- Open
powerbi/MIF_Dashboard.pbixin Power BI Desktop
- Portfolio Annualized Return: 12.4%
- Portfolio Sharpe Ratio: 0.892
- Total Active Return: 2.5%
- Best Performing Sector: ICT (15% annualized)
- Largest Allocation: Mining (30.14%)
Run unit tests:
python -m pytest tests/test_attribution.py -vThe performance attribution follows the Brinson-Fachler methodology:
Total Active Return = Allocation Effect + Selection Effect + Interaction Effect
Where:
- Allocation Effect = (Portfolio Weight - Benchmark Weight) Γ Benchmark Return
- Selection Effect = Benchmark Weight Γ (Portfolio Return - Benchmark Return)
- Interaction Effect = (Portfolio Weight - Benchmark Weight) Γ (Portfolio Return - Benchmark Return)
This project uses simulated data with realistic characteristics:
- 5 years of monthly data (2020-2024)
- 8 sectors with distinct risk-return profiles
- 23 companies across the portfolio
- Commodity price correlations for Mining sector
- Zimbabwe Stock Exchange benchmark data
Disclaimer: All data is simulated for demonstration purposes and does not represent actual MIF holdings or performance.
-
Simulated Data: This project uses synthetically generated data and does not reflect actual Mutapa Investment Fund performance or holdings. It is a factor to consider why Market Context page in the dashboard is incomplete
-
Educational Purpose: Created as an independent project to demonstrate financial data science skills.
-
Not Financial Advice: This analysis is for educational and portfolio demonstration purposes only.
-
Simplified Assumptions: Real-world factors such as transaction costs, taxes, and liquidity constraints are not modeled.
- Financial Data Analysis
- Portfolio Performance Attribution
- Risk Management & Metrics
- Time Series Analysis
- Statistical Modeling
- Data Visualization
- Business Intelligence (Power BI)
- Python Programming
- SQL Database Design
- Unit Testing & Validation
- Machine learning-based return predictions
- Real-time data integration
- Additional factor models (Fama-French 5-factor)
- Web-based interactive dashboard
- Automated report generation
Adonis Chiruka
- LinkedIn: linkedin.com/in/adonis-chiruka-70b265323
- Email: chirukakatakudzwa61@gmail.com
- GitHub: @stilhere4huniid
- Inspired by Mutapa Investment Fund's multi-sector investment approach
- Brinson-Fachler methodology for performance attribution
- Zimbabwe financial markets context
This project is licensed under the MIT License - see the LICENSE file for details.
Note: This is an independent educational project and is not affiliated with, endorsed by, or representing the Mutapa Investment Fund.



