README.md updated with a detailed description of the project, tools used, methods and results
Browse files
README.md
CHANGED
|
@@ -10,4 +10,52 @@ pinned: false
|
|
| 10 |
short_description: Dashboard for portfolio optimisation results
|
| 11 |
---
|
| 12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
|
| 10 |
short_description: Dashboard for portfolio optimisation results
|
| 11 |
---
|
| 12 |
|
| 13 |
+
# Portfolio Optimisation Strategies
|
| 14 |
+
## Overview
|
| 15 |
+
Showcased machine learning in portfolio construction by training/testing multiple optimisation strategies (Max Diversification, Min CVaR, Equal Weighted) on a portfolio of ETFs, with results deployed in a Python Vizro dashboard.
|
| 16 |
+
Deployed on HuggingFace Spaces.
|
| 17 |
+
|
| 18 |
+
## Python Tools Used
|
| 19 |
+
|
| 20 |
+
### Data Fetching, Preparation and Plotting
|
| 21 |
+
* **yfinance** to obtain historical ETF prices
|
| 22 |
+
* **pandas** for data processing and preparation
|
| 23 |
+
* **plotly** for plotting the data
|
| 24 |
+
|
| 25 |
+
### Portfolio Optimisation
|
| 26 |
+
* **scikit-learn** for training and testing
|
| 27 |
+
* **skfolio** to access the Maximum Diversification and Minimum CVaR models
|
| 28 |
+
|
| 29 |
+
### Results Dashboard
|
| 30 |
+
* **vizro** to build the dashboard
|
| 31 |
+
|
| 32 |
+
## Description
|
| 33 |
+
### Portfolio Composition
|
| 34 |
+
Five ETFs:
|
| 35 |
+
- **EWA** iShares MSCI Australia ETF
|
| 36 |
+
- **EWH** iShares MSCI Hong Kong ETF
|
| 37 |
+
- **EWJ** iShares MSCI Japan ETF
|
| 38 |
+
- **ENZL** iShares MSCI New Zealand ETF
|
| 39 |
+
- **EWS** iShares MSCI Singapore ETF
|
| 40 |
+
|
| 41 |
+
### Time Period
|
| 42 |
+
30/09/2010 to 30/09/2024
|
| 43 |
+
|
| 44 |
+
### Optimisation Models Tested:
|
| 45 |
+
- Maximum Diversification
|
| 46 |
+
- Minimum CVaR
|
| 47 |
+
- Equal Weighted
|
| 48 |
+
|
| 49 |
+
### Metrics
|
| 50 |
+
- Annualised Mean
|
| 51 |
+
- Annualised Standard Deviation
|
| 52 |
+
- CVaR at 95%
|
| 53 |
+
|
| 54 |
+
## Results
|
| 55 |
+
- The number of stocks (ETFs) in the portfolio is very small, at only 5, so there was not much variability in the results.
|
| 56 |
+
- The Equal Weighted model had the highest annualised return and annualised standard deviation.
|
| 57 |
+
|
| 58 |
+
## Next Steps
|
| 59 |
+
Test the optimisation models on a portfolio with a greater number of stocks, over different time periods, including other optimisation models in the analysis.
|
| 60 |
+
|
| 61 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|