| --- |
| title: Market Analyzing Platform |
| emoji: 💻 |
| colorFrom: red |
| colorTo: blue |
| sdk: docker |
| pinned: false |
| license: apache-2.0 |
| short_description: Market Analyzing Platform - Notifications, Tracking, etc |
| --- |
| |
| ## POC Overview |
| This POC implements a market-wide risk radar using: |
| - Universe loader for tickers (unofficial lists supported) |
| - Price ingestion via `yfinance` |
| - Price Delta Calculator (drop by default) |
| - Adaptive thresholds, event detection, and alerting |
| - In-memory pub/sub topics |
| - Process pool for price loading |
|
|
| ## Topics |
| Defined in `configs/topics.yaml`: |
| - `market.universe.snapshot` |
| - `market.universe.updated` |
| - `market.prices.snapshot` |
| - `market.price.delta` |
| - `risk.event.detected` |
| - `risk.envelope.updated` |
| - `data.gap.detected` |
| - `system.alert.ready` |
|
|
| ## Run |
| ```bash |
| uv sync |
| uv run python -m src.core.main |
| ``` |
|
|
| ## App Entrypoint |
| ```bash |
| uv run python app.py |
| ``` |
|
|
| ## Notes |
| - `yfinance` is an unofficial data source and can break or rate-limit. |
| - Process pool parallelizes price fetching to speed up ingestion. |
| - Universe loader pulls: |
| - US equities from `rreichel3/US-Stock-Symbols` (unofficial) |
| - EU equities from Wikipedia index constituents (FTSE 100, DAX, CAC 40) |
| - Crypto from Binance `exchangeInfo` |
| - Commodities from a curated Yahoo Finance futures list |
| - Universe schema lives in `src/core/schemas.py` |
| - Topic taxonomy is loaded from `configs/topics.yaml` |
|
|
| ## Telegram Bot |
| Set environment variables: |
| ```bash |
| export TELEGRAM_BOT_TOKEN=... |
| export TELEGRAM_CHAT_ID=... |
| ``` |
|
|
| ## Detailed Architecture Doc |
| - `docs/CURRENT_VERSION.md` |
| ``` |
| |