How elhaouchomar/sp500-strategies works
This repository implements a stock-direction machine-learning and backtesting workflow: historical prices become technical features and a future-return target; date-based cross-validation selects a classifier; out-of-fold and test predictions become trading positions; and backtesting produces performance metrics and a report. The graph follows the calls visible in run_all.py and the sampled modules. The README is empty, so unsampled capabilities and wiring are not inferred.
Main entry points: run_all.py Workflow runner · data Train/test dataset · features_engineering.py Feature engineering · gridsearch.py CV grid search
Components 15
Market Data Prep
- Stock prices
project/data/all_stocks_5yr.csv - Feature engineering
project/scripts/features_engineering.py - Train/test dataset
project/data
Model Training
- Workflow runner
project/scripts/run_all.py - CV grid search
project/scripts/gridsearch.py - Selected pipeline
project/results/selected-model/selected_model.pkl - Fold metrics
project/scripts/model_selection.py - CV reports
project/results/cross-validation
Signals
- Signal generation
project/scripts/create_signal.py - ML signal
project/results/selected-model/ml_signal.csv
Backtesting
- Index prices
project/data/HistoricalData.csv - Strategy backtest
project/scripts/strategy/backtest.py - Strategy results
project/results/strategy/results.csv - Strategy report
project/results/strategy/report.md
Other components
- Analyst
Connections 21
- Analyst → Workflow runner: runs workflow
- Workflow runner → Feature engineering: builds dataset
- Feature engineering → Stock prices: reads prices
- Feature engineering → Train/test dataset: writes splits
- Workflow runner → CV grid search: searches models
- CV grid search → Train/test dataset: fits on training data
- CV grid search → Selected pipeline: saves best pipeline
- Workflow runner → Fold metrics: computes fold metrics
- Workflow runner → Selected pipeline: loads pipeline
- Fold metrics → Train/test dataset: evaluates folds
- Workflow runner → CV reports: writes metrics
- Workflow runner → Signal generation: generates predictions
- Signal generation → Selected pipeline: loads pipeline
- Signal generation → Train/test dataset: fits and predicts
- Workflow runner → ML signal: writes signals
- Workflow runner → Strategy backtest: runs backtest
- Strategy backtest → ML signal: uses signals
- Strategy backtest → Stock prices: computes returns
- Workflow runner → Index prices: reads benchmark
- Workflow runner → Strategy results: writes metrics
- Workflow runner → Strategy report: writes report