Skip to content
All projects
Tools & Dashboards

NSE Market-Data Monitor + Streamlit Dashboard

bull-bear-nse-data-harvest

Monitors NSE India's public market-data feeds across 25 categories — breadth, derivatives, gainers/losers, large deals, OI spurts, option chain, pre-open, price bands, securities lending, surveillance (GSM/ASM), most-active, new listings, 52-week highs/lows, ETFs, closing auction, FII/DII flows, indices and volume spurts.

Stores raw and normalized data in SQLite (WAL mode, safe concurrent reads), detects genuinely important events with a single-alert-per-event debounce state machine, dispatches alerts to console or Telegram, and rolls results into daily, weekly and monthly Markdown and HTML reports.

Architecture: bbnse/{core,fetchers,processors,notifiers,reports,scheduler,storage}/, a main.py CLI, and config.yaml / endpoints.yaml holding every threshold and endpoint. dashboard.py is a read-only Streamlit viewer over the same database.

Review result — no bugs found

The most mature codebase in the portfolio going in. A deep pass re-derived the README's boldest claims against the actual code — the unit-conversion helpers across every fetcher, the debounce state machine's exactly-one-alert guarantee, the WAL-mode SQLite setup backing concurrent dashboard reads, and a hand-count confirming all 25 pipeline categories are real rather than stubs — and found all of them true. The full pytest suite (173 tests) passed before and after. Live NSE endpoints were unreachable from the review sandbox, so verification relied on existing mocked fixtures — stated explicitly in the README rather than glossed over.

SQLiteStreamlitEvent detection173 tests
Next projectindicator-backtest