@@ -65,39 +65,41 @@ This module implements and analyzes **7 portfolio optimization models**:
6565
6666```
6767SiraEdge_Optimisation/
68- ├── src/ # Code source Python
69- │ ├── data_utils.py # Utilitaires de données et indicateurs
70- │ ├── markowitz.py # Optimisation Markowitz
71- │ ├── risk_parity.py # Parité de risque
72- │ ├── monte_carlo.py # Simulation Monte Carlo
73- │ ├── black_litterman.py # Modèle Black-Litterman
74- │ ├── ml_predictor.py # Prédicteur ML
75- │ ├── hybrid_model.py # Modèle hybride
76- │ ├── custom_metrics_opt.py # Métriques personnalisées
77- │ ├── metrics_utils.py # Calculs de métriques financières
78- │ ├── walkforward_backtest.py # Backtest walk -forward
79- │ └── hyperparams.py # Hyperparamètres centralisés
80- ├── figures/ # Graphiques et visualisations
68+ ├── src/ # Python source code
69+ │ ├── data_utils.py # Data utilities and indicators
70+ │ ├── markowitz.py # Markowitz optimization
71+ │ ├── risk_parity.py # Risk parity optimization
72+ │ ├── monte_carlo.py # Monte Carlo simulation
73+ │ ├── black_litterman.py # Black-Litterman model
74+ │ ├── ml_predictor.py # ML predictor
75+ │ ├── hybrid_model.py # Hybrid model
76+ │ ├── custom_metrics_opt.py # Custom metrics optimization
77+ │ ├── metrics_utils.py # Financial metrics calculations
78+ │ ├── walkforward_backtest.py # Walk -forward backtesting
79+ │ └── hyperparams.py # Centralized hyperparameters
80+ ├── figures/ # Charts and visualizations
8181│ ├── markowitz_frontier.png
8282│ ├── risk_parity_weights.png
8383│ ├── monte_carlo_cloud.png
8484│ ├── black_litterman_weights.png
8585│ ├── ml_coefficients.png
8686│ ├── hybrid_weights.png
8787│ └── custom_opt_weights.png
88- ├── rapport/ # Sources LaTeX du rapport
89- │ ├── rapport_siraedge_optimisation.tex
88+ ├── rapport/ # LaTeX report sources
89+ │ ├── rapport_siraedge_en.tex # English report
90+ │ ├── rapport_siraedge_fr.tex # French report
9091│ ├── portfolio_summary_included.tex
9192│ └── walkforward_results_simulated.tex
92- ├── README.md # Ce fichier
93- ├── requirements.txt # Dépendances Python
94- └── make_report.sh # Script de génération automatique
93+ ├── README.md # This file
94+ ├── requirements.txt # Python dependencies
95+ └── make_report.sh # Automated generation script
9596```
9697## 🛠️ Installation & Setup
9798
9899### Requirements
99100- Python 3.8+
100101- pip or conda
102+ - Git (for cloning)
101103
102104### Installation
103105
@@ -114,14 +116,14 @@ pip install -r requirements.txt
114116
1151173 . ** Verify installation**
116118``` bash
117- python -c " import pandas, numpy, matplotlib, yfinance; print('Installation réussie !')"
119+ python -c " import pandas, numpy, matplotlib, yfinance; print('Installation successful !')"
118120```
119121
120122## 🚀 Usage
121123
122124### 1. ** Generate Figures**
123125``` bash
124- # Générer toutes les figures
126+ # Generate all figures and visualizations
125127python src/data_utils.py
126128python src/markowitz.py
127129python src/risk_parity.py
@@ -141,24 +143,27 @@ chmod +x make_report.sh
141143
142144# Or manual compilation
143145cd rapport
144- tectonic rapport_siraedge_optimisation.tex
146+ # For English report
147+ tectonic rapport_siraedge_en.tex
148+ # For French report
149+ tectonic rapport_siraedge_fr.tex
145150```
146151
147152### 3. ** Interactive Usage**
148153``` python
149- # Usage exemple of the Risk Parity module
154+ # Example usage of the Risk Parity module
150155import numpy as np
151156from src.risk_parity import risk_parity_weights
152157from src.data_utils import download_prices
153158
154- # collect prices
159+ # Download asset prices
155160prices = download_prices([" SPY" , " QQQ" , " GLD" , " DBA" ], " 2020-01-01" , " 2023-12-31" , mode = " auto" )
156161rets = np.log(prices / prices.shift(1 )).dropna()
157162cov = (rets.cov().values) * 252
158163
159- # Calculate the Risk Parity weigth
164+ # Calculate Risk Parity weights
160165weights = risk_parity_weights(cov)
161- print (" Poids optimaux :" , weights)
166+ print (" Optimal weights :" , weights)
162167```
163168
164169## 📈 Data & Assets
@@ -201,6 +206,22 @@ The module includes a robust walk-forward analysis:
201206- ** Effective diversification** – equivalent number of assets
202207- ** Average correlation** – portfolio cohesion
203208
209+ ## 📈 Performance Benchmarks
210+
211+ ### ** Model Comparison**
212+ - ** Markowitz** : Traditional mean-variance optimization
213+ - ** Risk Parity** : Equal risk contribution approach
214+ - ** Black-Litterman** : Institutional-grade equilibrium model
215+ - ** ML Hybrid** : AI-enhanced optimization
216+ - ** Custom Metrics** : Multi-objective solutions
217+
218+ ### ** Backtesting Results**
219+ - ** Period** : 2020-2023 (3+ years)
220+ - ** Assets** : 8+ ETFs and commodities
221+ - ** Rebalancing** : Monthly walk-forward
222+ - ** Transaction Costs** : 5 basis points
223+ - ** Risk Management** : Dynamic correlation analysis
224+
204225## 🎓 Educational Purpose
205226
206227This project is designed to be ** educational** and ** accessible** :
@@ -211,6 +232,26 @@ This project is designed to be **educational** and **accessible**:
211232- Commented and documented code
212233- End-to-end workflow from start to finish
213234
235+ ## 🚀 Key Features of Portfolio Optimization Module
236+
237+ ### ** Advanced Optimization Algorithms**
238+ - ** 7 state-of-the-art models** for portfolio construction
239+ - ** Risk management** with multiple approaches
240+ - ** Machine learning integration** for return forecasting
241+ - ** Custom metrics** for specialized objectives
242+
243+ ### ** Professional-Grade Backtesting**
244+ - ** Walk-forward analysis** with rolling windows
245+ - ** Transaction costs** simulation (5 bps)
246+ - ** Comprehensive metrics** (Sharpe, Sortino, Calmar, etc.)
247+ - ** Performance attribution** and analysis
248+
249+ ### ** Data Management & Visualization**
250+ - ** Automatic data download** via yfinance
251+ - ** Fallback mechanisms** for data failures
252+ - ** Professional charts** and visualizations
253+ - ** Export capabilities** for reports
254+
214255## 🔧 Customization
215256
216257### Adjustable Hyperparameters
@@ -228,7 +269,11 @@ This project is designed to be **educational** and **accessible**:
228269## 📚 Documentation
229270
230271### LaTeX Report
231- The full report (` rapport_siraedge_optimisation.pdf ` ) includes:
272+ The full reports are available in both French and English:
273+ - ** English Report** : ` rapport/pdf/rapport_siraedge_en.pdf `
274+ - ** French Report** : ` rapport/pdf/rapport_siraedge_fr.pdf `
275+
276+ Both reports include:
232277- Detailed theoretical explanations
233278- Mathematical formulations
234279- Comparative analyses
@@ -249,17 +294,55 @@ This module integrates directly into the SiraEdge platform to allow users to:
2492943 . Understand risk–return trade-offs
2502954 . Learn by doing, with immediate feedback (educational focus)
251296
297+ ## 🎯 Use Cases
298+
299+ ### ** Academic & Research**
300+ - ** Portfolio theory** studies and research
301+ - ** Algorithm comparison** and validation
302+ - ** Risk management** research
303+ - ** Machine learning** in finance applications
304+
305+ ### ** Professional Development**
306+ - ** Quantitative finance** learning
307+ - ** Portfolio management** skills development
308+ - ** Risk analysis** training
309+ - ** Financial modeling** practice
310+
311+ ### ** Institutional Applications**
312+ - ** Backtesting** new strategies
313+ - ** Risk assessment** tools
314+ - ** Performance analysis** frameworks
315+ - ** Educational platforms** for teams
316+
252317> ** Scope:** this module is intended for educational and comparative purposes only.
253318> It does not constitute investment advice or performance guarantees.
254319
255320## 📄 License
256321
257322This project is licensed under the MIT License. See the [ ` LICENSE ` ] ( LICENSE ) file for details.
258323
259- ## 📞 Contact
324+ ## 📞 Contact & Support
260325
261326- ** Author:** [ Ismail Moudden] ( https://github.com/IsmailMoudden )
262327- ** GitHub Repository:** https://github.com/IsmailMoudden/siraedge-portfolio-optimization
263328- ** Issues & Support:** https://github.com/IsmailMoudden/siraedge-portfolio-optimization/issues
329+ - ** Documentation:** [ Contributing Guide] ( CONTRIBUTING.md ) | [ Changelog] ( CHANGELOG.md )
330+
331+ ## 🤝 Contributing
332+
333+ We welcome contributions to improve the Portfolio Optimization Module! Please see our [ Contributing Guide] ( CONTRIBUTING.md ) for details on:
334+
335+ - Code style and standards
336+ - Testing requirements
337+ - Pull request process
338+ - Issue reporting guidelines
339+
340+ ## 📊 Project Status
341+
342+ - ** Current Version:** 1.0.0
343+ - ** Python Support:** 3.8+
344+ - ** License:** MIT
345+ - ** Status:** Active Development
346+ - ** Last Updated:** January 2025
264347
265348** SiraEdge** – Making finance accessible, transparent, and innovative for everyone. 🚀
0 commit comments