How aman6012/z-score-mean-reversion works
The product is a daily factor-neutral mean-reversion equity backtest, plus a separate static dashboard that presents sample results. The primary workflow fetches Alpaca bars, prepares price and volume panels, builds residual-based signals, simulates positions and portfolio returns, then produces backtest results. The dashboard’s run control is only a demo calculation; README explicitly says it does not consume live backtest results. Source excerpts show the main orchestration and selected strategy internals; unsampled details are represented only where README documents them.
Main entry points: backtest.py Fetch bars · app.js Sample dashboard
Components 12
Market data
- Fetch bars
src/backtest.py - Price-volume panel
src/backtest.py
Signal research
- Daily returns
src/backtest.py - Rolling regression
src/backtest.py - Residual signals
src/backtest.py - Entry and exit rules
src/backtest.py
Portfolio simulation
- Sector-neutral weights
src/backtest.py - Position simulation
src/backtest.py - Portfolio results
src/backtest.py
Sample dashboard
- Sample dashboard
web/app.js
Other components
- Researcher
- Alpaca bars
Connections 11
- Researcher → Fetch bars: runs
README.md - Fetch bars → Alpaca bars: requests bars
src/backtest.py - Fetch bars → Price-volume panel: prepares
src/backtest.py - Price-volume panel → Daily returns: builds returns
src/backtest.py - Daily returns → Rolling regression: fits factors
src/backtest.py - Rolling regression → Residual signals: computes residuals
src/backtest.py - Residual signals → Entry and exit rules: generates candidates
README.md - Entry and exit rules → Sector-neutral weights: assigns weights
src/backtest.py - Sector-neutral weights → Position simulation: returns weights
src/backtest.py - Position simulation → Portfolio results: calculates returns
src/backtest.py - Researcher → Sample dashboard: views sample
README.md