How theisij/ml-and-the-implementable-efficient-frontier works
This repository is research code for reproducing the paper’s machine-learning return forecasts, portfolio-choice results, simulations, figures, and tables. The documented workflow uses supplied financial datasets, fits return-prediction models, builds portfolios for several analyses, then analyzes generated outputs. The README documents the scripts and broad stage ordering, but the R sources were not excerpted, so detailed calls between implementation modules are not asserted; the two sampled C++ utilities are shown without guessed callers.
Main entry points: slurm_build_portfolios.R Portfolio job runner · 6 - Base analysis.R Base analysis · simulations.R Simulation runner · 2 - Fit Models.R Fit prediction models
Components 23
Return forecasting
- Model job runner
slurm_fit_models.R - Prepare data
1 - Prepare Data.R - Fit prediction models
2 - Fit Models.R - Fitted models
Portfolio research
- Portfolio job runner
slurm_build_portfolios.R - Prepare portfolio data
4 - Prepare Portfolio Data.R - Portfolio choice
0 - Portfolio choice functions.R - Base case
5 - Base case.R - Efficient frontier
6 - Implementable efficient frontier.R - Feature importance
6 - Feature importance.R - Size groups
6 - Performance across size distribution.R - Short-selling fees
6 - Short selling fees.R
Simulations
- Simulation runner
simulations/simulations.R - Simulation methods
simulations/sim_functions.R - Simulation results
simulations/sim_results.R
Analysis and reporting
- Base analysis
6 - Base analysis.R - Economic intuition
6 - Economic intuition.R - Figures
7 - Figures.R - Tables and numbers
7 - Tables.R
Numerical utilities
- EWMA volatility
ewma.cpp - Matrix square root
sqrtm_cpp.cpp
Other components
- Researcher
- Financial datasets
Connections 22
- Researcher → Financial datasets: provides
README.md - Researcher → Model job runner: runs
README.md - Model job runner → Fit prediction models: runs
README.md - Financial datasets → Prepare data: supplies
README.md - Prepare data → Fit prediction models: prepares inputs
- Fit prediction models → Fitted models: generates
README.md - Researcher → Portfolio job runner: runs
README.md - Fitted models → Portfolio job runner: uses
- Portfolio job runner → Prepare portfolio data: runs
- Portfolio job runner → Portfolio choice: implements
README.md - Portfolio job runner → Base case: generates
README.md - Portfolio job runner → Efficient frontier: generates
README.md - Portfolio job runner → Feature importance: generates
README.md - Portfolio job runner → Size groups: generates
README.md - Portfolio job runner → Short-selling fees: supports
README.md - Researcher → Simulation runner: runs
README.md - Simulation runner → Simulation methods: uses
- Simulation runner → Simulation results: produces
README.md - Portfolio job runner → Base analysis: generates inputs
README.md - Base analysis → Economic intuition: analyzes
- Base analysis → Figures: supports
README.md - Base analysis → Tables and numbers: supports
README.md