Dmitry Beresnev
uv migrations
a71dd82
metadata
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

uv sync
uv run python -m src.core.main

App Entrypoint

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:

export TELEGRAM_BOT_TOKEN=...
export TELEGRAM_CHAT_ID=...

Detailed Architecture Doc

  • docs/CURRENT_VERSION.md