Skip to content

Commit ec19e0e

Browse files
committed
feat: reorganize project structure and fix LaTeX compilation
- Move all PNG figures to figures/ directory - Update LaTeX file paths to use correct relative paths - Fix syntax errors in English LaTeX file - Successfully compile both French and English reports - Add .gitignore and CHANGELOG.md files - Update README.md with project information Both rapport_siraedge_fr.pdf and rapport_siraedge_en.pdf now compile successfully
1 parent 5752987 commit ec19e0e

16 files changed

+409
-41
lines changed

.gitignore

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
wheels/
23+
pip-wheel-metadata/
24+
share/python-wheels/
25+
*.egg-info/
26+
.installed.cfg
27+
*.egg
28+
MANIFEST
29+
30+
# PyInstaller
31+
# Usually these files are written by a python script from a template
32+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
33+
*.manifest
34+
*.spec
35+
36+
# Installer logs
37+
pip-log.txt
38+
pip-delete-this-directory.txt
39+
40+
# Unit test / coverage reports
41+
htmlcov/
42+
.tox/
43+
.nox/
44+
.coverage
45+
.coverage.*
46+
.cache
47+
nosetests.xml
48+
coverage.xml
49+
*.cover
50+
*.py,cover
51+
.hypothesis/
52+
.pytest_cache/
53+
54+
# Translations
55+
*.mo
56+
*.pot
57+
58+
# Django stuff:
59+
*.log
60+
local_settings.py
61+
db.sqlite3
62+
db.sqlite3-journal
63+
64+
# Flask stuff:
65+
instance/
66+
.webassets-cache
67+
68+
# Scrapy stuff:
69+
.scrapy
70+
71+
# Sphinx documentation
72+
docs/_build/
73+
74+
# PyBuilder
75+
target/
76+
77+
# Jupyter Notebook
78+
.ipynb_checkpoints
79+
80+
# IPython
81+
profile_default/
82+
ipython_config.py
83+
84+
# pyenv
85+
.python-version
86+
87+
# pipenv
88+
# According to pypa/pipenv#202, it is recommended to include Pipfile.lock in version control.
89+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
90+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
91+
# install all needed dependencies.
92+
#Pipfile.lock
93+
94+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
95+
__pypackages__/
96+
97+
# Celery stuff
98+
celerybeat-schedule
99+
celerybeat.pid
100+
101+
# SageMath parsed files
102+
*.sage.py
103+
104+
# Environments
105+
.env
106+
env/
107+
venv/
108+
ENV/
109+
env.bak/
110+
venv.bak/
111+
112+
# Spyder project settings
113+
.spyderproject
114+
.spyproject
115+
116+
# Rope project settings
117+
.ropeproject
118+
119+
# mkdocs documentation
120+
/site
121+
122+
# mypy
123+
.mypy_cache/
124+
.dmypy.json
125+
dmypy.json
126+
127+
# Pyre type checker
128+
.pyre/
129+
130+
# Financial data files
131+
*.csv
132+
*.xlsx
133+
*.xls
134+
*.parquet
135+
*.h5
136+
*.hdf5
137+
138+
# Generated figures (keep source code, exclude large binary files)
139+
# figures/*.png
140+
# figures/*.jpg
141+
# figures/*.jpeg
142+
# figures/*.gif
143+
# figures/*.svg
144+
145+
# PDF reports (keep LaTeX source, exclude compiled PDFs)
146+
# rapport/pdf/*.pdf
147+
148+
# OS generated files
149+
.DS_Store
150+
.DS_Store?
151+
._*
152+
.Spotlight-V100
153+
.Trashes
154+
ehthumbs.db
155+
Thumbs.db
156+
157+
# IDE files
158+
.vscode/
159+
.idea/
160+
*.swp
161+
*.swo
162+
*~
163+
164+
# Logs
165+
*.log
166+
logs/
167+
168+
# Temporary files
169+
*.tmp
170+
*.temp
171+
temp/
172+
tmp/
173+
174+
# Backup files
175+
*.bak
176+
*.backup
177+
*.old
178+
179+
# Local configuration
180+
config.local.py
181+
.env.local

CHANGELOG.md

Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
### Added
11+
- Initial release of SiraEdge Portfolio Optimization Module
12+
- 7 portfolio optimization models implementation
13+
- Machine learning integration with Ridge Regression
14+
- Comprehensive backtesting framework
15+
- LaTeX report generation in French and English
16+
- Automated figure generation
17+
- Walk-forward analysis capabilities
18+
19+
## [1.0.0] - 2025-01-XX
20+
21+
### Added
22+
- **Markowitz (Mean-Variance) Optimization**
23+
- Sharpe ratio maximization
24+
- Risk-return balancing
25+
- Efficient frontier visualization
26+
27+
- **Risk Parity Model**
28+
- Equal risk contribution across assets
29+
- Robust to return uncertainty
30+
- Natural diversification properties
31+
32+
- **Monte Carlo Simulation**
33+
- 10,000 random portfolio generation
34+
- Solution space exploration
35+
- Efficient frontier validation
36+
37+
- **Black-Litterman Model**
38+
- Market equilibrium integration
39+
- Investor views incorporation
40+
- Institutional-grade approach
41+
42+
- **Machine Learning Predictor**
43+
- Ridge regression implementation
44+
- Technical indicators analysis (RSI, momentum, volatility)
45+
- Return forecasting capabilities
46+
47+
- **Hybrid Model**
48+
- Risk Parity + ML signals combination
49+
- Core-satellite approach
50+
- Stable foundation with smart opportunism
51+
52+
- **Custom Metrics Optimization**
53+
- Multi-objective optimization
54+
- Sharpe + Stability + MDD + Turnover
55+
- Investor preference adaptation
56+
57+
### Technical Features
58+
- **Data Management**
59+
- Automatic data download via yfinance
60+
- Fallback to synthetic data
61+
- Technical indicators calculation
62+
- Dynamic correlation analysis
63+
64+
- **Backtesting Framework**
65+
- Rolling window analysis (252 days)
66+
- Monthly rebalancing
67+
- Transaction costs simulation (5 bps)
68+
- Comprehensive performance metrics
69+
70+
- **Performance Metrics**
71+
- Classic: Sharpe, Sortino, Calmar ratios
72+
- Advanced: Weight stability, turnover, diversification
73+
- Risk measures: Volatility, max drawdown, VaR
74+
75+
- **Documentation**
76+
- Bilingual LaTeX reports (FR/EN)
77+
- Comprehensive README files
78+
- Code documentation and examples
79+
- Educational content and explanations
80+
81+
### Infrastructure
82+
- **CI/CD Pipeline**
83+
- Automated testing across Python versions
84+
- Security scanning with Bandit and Safety
85+
- Code quality checks with flake8
86+
- Automated releases and deployments
87+
88+
- **Repository Management**
89+
- Issue templates for bugs and features
90+
- Contribution guidelines
91+
- Code of conduct
92+
- Automated dependency updates
93+
94+
## [0.9.0] - 2025-01-XX
95+
96+
### Added
97+
- Initial development version
98+
- Core optimization algorithms
99+
- Basic backtesting framework
100+
- Documentation structure
101+
102+
## [0.8.0] - 2025-01-XX
103+
104+
### Added
105+
- Machine learning integration
106+
- Advanced metrics calculation
107+
- Performance optimization
108+
- Enhanced error handling
109+
110+
## [0.7.0] - 2025-01-XX
111+
112+
### Added
113+
- Walk-forward analysis
114+
- Transaction costs simulation
115+
- Comprehensive reporting
116+
- Figure generation automation
117+
118+
## [0.6.0] - 2025-01-XX
119+
120+
### Added
121+
- Hybrid model implementation
122+
- Custom metrics optimization
123+
- Advanced visualization
124+
- LaTeX report generation
125+
126+
## [0.5.0] - 2025-01-XX
127+
128+
### Added
129+
- Black-Litterman model
130+
- Monte Carlo simulation
131+
- Risk parity implementation
132+
- Basic backtesting
133+
134+
## [0.4.0] - 2025-01-XX
135+
136+
### Added
137+
- Markowitz optimization
138+
- Data utilities
139+
- Technical indicators
140+
- Basic structure
141+
142+
## [0.3.0] - 2025-01-XX
143+
144+
### Added
145+
- Project foundation
146+
- Basic architecture
147+
- Dependencies setup
148+
- Initial documentation
149+
150+
## [0.2.0] - 2025-01-XX
151+
152+
### Added
153+
- Repository structure
154+
- License setup
155+
- Basic README
156+
- Project configuration
157+
158+
## [0.1.0] - 2025-01-XX
159+
160+
### Added
161+
- Initial project setup
162+
- Git repository
163+
- Basic file structure
164+
- Project naming
165+
166+
---
167+
168+
## Version History
169+
170+
- **1.0.0**: First stable release with all core features
171+
- **0.9.0**: Feature-complete beta version
172+
- **0.8.0**: ML integration and advanced features
173+
- **0.7.0**: Backtesting and reporting
174+
- **0.6.0**: Hybrid models and custom metrics
175+
- **0.5.0**: Advanced optimization models
176+
- **0.4.0**: Core optimization algorithms
177+
- **0.3.0**: Project foundation
178+
- **0.2.0**: Repository setup
179+
- **0.1.0**: Initial project creation
180+
181+
## Contributing
182+
183+
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
184+
185+
## License
186+
187+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

0 commit comments

Comments
 (0)