How isezdasgith/snp500-market-risk-and-froth-dashboard works
This CLI dashboard turns market indicators and explicit subjective ratings into a weighted risk/froth score, verdict, and historical chart. The main workflow is manual entry or optional auto-fetch, scoring across four distinct categories, report generation, and saving/charting each run. dashboard.py is the orchestrator; indicators.py defines the categories and scoring model, while data_sources.py provides optional fetchers. The graph reflects the shown dashboard and fetcher code; external service links are evidenced there, while history behavior is also documented in the README.
Main entry points: dashboard.py Composite scoring · data_sources.py Fetch dispatch · history.json Run history · indicators.py Macro fundamentals
Components 14
Dashboard
- Input collection
dashboard.py - Composite scoring
dashboard.py - Score and verdict
dashboard.py
Risk Model
- Macro fundamentals
indicators.py - Valuation and positioning
indicators.py - Technical trend
indicators.py - Qualitative judgment
indicators.py
Data Fetching
- Fetch dispatch
data_sources.py
History
- Run history
history.json - History chart
dashboard.py
Other components
- Dashboard user
- FRED
- Yahoo Finance
- Multpl
Connections 15
- Dashboard user → Input collection: enters values
dashboard.py - Input collection → Fetch dispatch: optionally fetches
dashboard.py - Input collection → Composite scoring: provides values
dashboard.py - Composite scoring → Macro fundamentals: scores indicators
dashboard.py - Composite scoring → Valuation and positioning: scores indicators
dashboard.py - Composite scoring → Technical trend: scores indicators
dashboard.py - Composite scoring → Qualitative judgment: scores indicators
dashboard.py - Composite scoring → Score and verdict: produces result
dashboard.py - Fetch dispatch → FRED: requests series
data_sources.py - Fetch dispatch → Yahoo Finance: fetches prices
data_sources.py - Fetch dispatch → Multpl: scrapes valuations
data_sources.py - Score and verdict → Dashboard user: displays result
dashboard.py - Score and verdict → Run history: appends run
dashboard.py - Run history → History chart: plots history
dashboard.py - History chart → Dashboard user: shows chart
dashboard.py