A robust, offline-first financial analysis pipeline for daily market summaries, calculating advanced indicators (Hurst, Market Mode, Volatility) and generating Markdown reports.
- Data Ingestion: Robust
yfinancefetching with local caching (no re-download). - Indicators: Bollinger Bands, EWMA Volatility, Hurst Exponent (DFA), Market Mode (PCA).
- Analytics: Regime classification (Trend/Mean Revert) and Risk-Off logic.
- Reporting: Daily markdown summary with watchlist and systemic risk analysis.
src/: Core logic (data, indicators, signals, reporting).tests/: Unit and smoke tests.configs/: Configuration (tickers, parameters).reports/: Generated daily reports.data_cache/: Local Parquet store.
- Clone repo.
- Environment:
# Create venv (optional but recommended) python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows # Install dependencies pip install pandas numpy yfinance pyyaml scipy
Execute the pipeline for the current date (or specific date):
python run_daily.py --date 2025-12-30Reports are saved in reports/.
To validate the codebase (Unit tests + Smoke test):
# Option 1: Using Make (if available)
make qa
# Option 2: Using Python script (Cross-platform)
python scripts/qa.pyLaunch the interactive visualizer (Streamlit):
make dashboard
# or
streamlit run app/dashboard.py- Missing Data: Check
logs/or console output. The pipeline warns but continues. - NaN in Indicators:
Hurstrequires sufficient history.Market Moderequires multiple assets. - Network Issues: The pipeline uses cached data if available. First run requires internet.
See docs/ARCHITECTURE.md for details on data flow and design contracts.