https://github.com/cvxgrp/markowitz-reference
This repository contains a reference implementation of the Markowitz portfolio optimization problem discussed in the paper Markowitz Portfolio Construction at Seventy.
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
✓Institutional organization owner
Organization cvxgrp has institutional domain (www.stanford.edu) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.6%) to scientific vocabulary
Repository
This repository contains a reference implementation of the Markowitz portfolio optimization problem discussed in the paper Markowitz Portfolio Construction at Seventy.
Basic Info
Statistics
- Stars: 33
- Watchers: 4
- Forks: 9
- Open Issues: 4
- Releases: 1
Metadata Files
README.md
Markowitz Reference Implementation
This repository accompanies the paper Markowitz Portfolio Construction at Seventy. It contains a reference implementation of the Markowitz portfolio optimization problem and the data used in the paper. Please note that the tickers of the stocks have been obfuscated to comply with the data provider's terms of use.
Experiments
Please run all experiments using
bash
make experiments
This first installs uv on the fly and then creates and replicates the environment defined in the script section of the 'experiments.py' file as described in the documentation of uv run
If you have uv installed you can bypass make and run directly
bash
uv run experiments.py
The script section is as of today
```python
/// script
requires-python = ">=3.12"
dependencies = [
"mosek==11.0.27",
"loguru==0.7.3",
"numpy==2.3.2",
"pandas[output-formatting]==2.3.1",
"matplotlib==3.10.5",
"cvxpy-base==1.7.1",
"clarabel==0.11.1"
]
///
```
A large fraction of our experiments have been performed using MOSEK as the underlying solver. We assume a valid license for MOSEK is installed. If not, you may want to apply for a Trial License
Citation
If you want to reference our work in your research, please consider using the following BibTeX for the citation:
BibTeX
@article{boyd2024markowitz,
title={Markowitz Portfolio Construction at Seventy},
author={S. Boyd and K. Johansson and R. Kahn and P. Schiele and T. Schmelzer},
journal={Journal of Portfolio Management},
volume={50},
number={8},
pages={117--160},
year={2024}
}
or for the arXiv version:
BibTeX
@misc{boyd2024markowitz,
title={Markowitz Portfolio Construction at Seventy},
author={Stephen Boyd and Kasper Johansson and Ronald Kahn and Philipp Schiele and Thomas Schmelzer},
year={2024},
doi = {10.48550/arXiv.2401.05080},
url = {https://arxiv.org/abs/2401.05080}
}
Owner
- Name: Stanford University Convex Optimization Group
- Login: cvxgrp
- Kind: organization
- Location: Stanford, CA
- Website: www.stanford.edu/~boyd
- Repositories: 102
- Profile: https://github.com/cvxgrp
GitHub Events
Total
- Issues event: 3
- Watch event: 10
- Delete event: 95
- Issue comment event: 2
- Push event: 126
- Pull request review event: 2
- Pull request review comment event: 2
- Pull request event: 195
- Fork event: 6
- Create event: 96
Last Year
- Issues event: 3
- Watch event: 10
- Delete event: 95
- Issue comment event: 2
- Push event: 126
- Pull request review event: 2
- Pull request review comment event: 2
- Pull request event: 195
- Fork event: 6
- Create event: 96
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 23
- Total pull requests: 171
- Average time to close issues: 7 days
- Average time to close pull requests: 4 days
- Total issue authors: 2
- Total pull request authors: 4
- Average comments per issue: 0.26
- Average comments per pull request: 0.27
- Merged pull requests: 145
- Bot issues: 0
- Bot pull requests: 120
Past Year
- Issues: 1
- Pull requests: 93
- Average time to close issues: N/A
- Average time to close pull requests: about 8 hours
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.02
- Merged pull requests: 79
- Bot issues: 0
- Bot pull requests: 91
Top Authors
Issue Authors
- tschm (21)
- kasperjo (3)
- dependabot[bot] (2)
Pull Request Authors
- dependabot[bot] (224)
- tschm (55)
- phschiele (16)
- kasperjo (3)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v3 composite
- cvxgrp/.github/actions/test main composite
- pre-commit/action v3.0.0 composite
- cvxgrp/.github/actions/book main composite
- cvxgrp/.github/actions/jupyter main composite
- colorama 0.4.6
- cvxpy 1.4.0
- ecos 2.0.12
- exceptiongroup 1.1.3
- iniconfig 2.0.0
- numpy 1.25.2
- osqp 0.6.3
- packaging 23.1
- pandas 2.1.0
- pluggy 1.3.0
- pybind11 2.11.1
- pytest 7.4.2
- python-dateutil 2.8.2
- pytz 2023.3.post1
- qdldl 0.1.7.post0
- scipy 1.11.2
- scs 3.2.3
- six 1.16.0
- tomli 2.0.1
- tzdata 2023.3