How gamaranathareddy/investment-notifier works
The product is a long-term investing monitor and symbol-discovery system. Its main workflow fetches market history, evaluates exit risks and entry opportunities, then formats and sends Telegram alerts; a separate discovery workflow ranks candidates for a dashboard. The README also documents watchlist configuration, Telegram delivery, and daily automation. Some runtime wiring is only partially excerpted, so uncertain relationships are omitted; the discovery and monitoring branches are kept distinct.
Main entry points: investor_alert.py Investor monitor · discover_symbols.py Symbol discovery · alerts.py Alert formatting · market_data.py Market history
Components 18
Analysis workflows
- Investor monitor
investor_alert.py - Symbol discovery
discover_symbols.py - Alert scheduler
scheduler.py
Analysis services
- Market history
lib/market_data.py - Signal calculations
lib/signals.py - Config parsing
lib/config.py - Alert formatting
lib/alerts.py
User interfaces
- Investment dashboard
streamlit_app.py - Flask dashboard
web_ui.py - Dashboard template
templates/index.html
Configuration and state
- Strategy settings
config.json - Watchlist symbols
stocks.json - Recommendations
recommended_symbols.json - Alert state
state/alerts.json
Other components
- Long-term investor
- Yahoo Finance
- Telegram
- Daily schedule
Connections 19
- Investor monitor → Config parsing: loads rules
investor_alert.py - Investor monitor → Market history: fetches prices
investor_alert.py - Investor monitor → Signal calculations: evaluates signals
investor_alert.py - Investor monitor → Alert formatting: formats alerts
investor_alert.py - Market history → Yahoo Finance: downloads history
lib/market_data.py - Symbol discovery → Config parsing: loads rules
discover_symbols.py - Symbol discovery → Market history: fetches prices
discover_symbols.py - Symbol discovery → Signal calculations: scores candidates
discover_symbols.py - Alert scheduler → Alert formatting: uses alert helpers
scheduler.py - Daily schedule → Alert scheduler: triggers
- Alert formatting → Telegram: sends messages
lib/alerts.py - Alert formatting → Alert state: tracks dedupe state
- Investor monitor → Investor monitor: runs monitor
investor_alert.py - Investor monitor → Watchlist symbols: reads symbols
README.md - Symbol discovery → Recommendations: writes results
discover_symbols.py - Investment dashboard → Symbol discovery: runs discovery
streamlit_app.py - Investment dashboard → Recommendations: displays results
- Flask dashboard → Dashboard template: renders page
web_ui.py - Flask dashboard → Strategy settings: reads and edits
web_ui.py