How varunsai1930/find-it works
FindIt turns monthly Indian mutual-fund portfolio disclosures into validated month-over-month activity and cross-AMC rankings, joined with timely quarterly shareholding filings. Users receive the rankings through a monthly report or read-only dashboard; separate backtesting tools assess whether the signals predict returns. The README documents the workflow and capabilities; sampled source confirms key validation, dashboard, summary, and pricing behavior, while some subsystem links rely on README descriptions.
Main entry points: db.py Tracker database · run_pipeline.py Monthly pipeline · report.py Monthly report · app.py Read-only dashboard
Components 19
Data ingestion
- Workbook parser
amfi_mf_parser.py - Monthly pipeline
run_pipeline.py - Shareholding fetcher
fetch_shareholding.py - Price commands
findit/cli/prices.py - Price ingestion
findit/ingest/prices.py
Holdings analysis
- Validation gate
findit/store/validation_gate.py - Holdings changes
delta_calculator.py - Consensus ranking
consensus_signals.py - Publication timing
findit/core/publication.py
Persistent data
- Tracker database
db.py
Reports and dashboard
- Monthly report
findit/cli/report.py - Read-only dashboard
findit/web/app.py - Dashboard views
findit/web/templates - Safe summaries
findit/summary.py
Signal research
- Monthly backtest
findit/cli/backtest.py - Quarterly backtest
findit/cli/backtest_quarterly.py
Other components
- AMC disclosures
- BSE / NSE
- Analyst
Connections 27
- AMC disclosures → Workbook parser: provides workbooks
- Workbook parser → Monthly pipeline: outputs parsed CSV
- Monthly pipeline → Validation gate: validates holdings
- Monthly pipeline → Holdings changes: compares months
- Monthly pipeline → Consensus ranking: ranks activity
- Monthly pipeline → Tracker database: loads and stores
- Validation gate → Monthly pipeline: returns validation
- BSE / NSE → Shareholding fetcher: publishes filings
- Shareholding fetcher → Tracker database: stores filings
- BSE / NSE → Price ingestion: publishes prices
- Price commands → Price ingestion: fetches prices
- Price ingestion → Tracker database: stores prices
- Tracker database → Holdings changes: supplies holdings
- Tracker database → Consensus ranking: supplies holdings and filings
- Publication timing → Monthly pipeline: sets cutoff rules
- Monthly report → Consensus ranking: requests ranking
- Monthly report → Tracker database: reads coverage
- Monthly report → Quarterly backtest: includes evidence
- Read-only dashboard → Tracker database: reads stored data
- Read-only dashboard → Consensus ranking: requests ranking
- Read-only dashboard → Dashboard views: renders views
- Safe summaries → Tracker database: reads safety data
- Safe summaries → Holdings changes: summarizes changes
- Monthly backtest → Tracker database: reads signals and prices
- Quarterly backtest → Tracker database: reads filings and prices
- Analyst → Monthly report: requests report
- Analyst → Read-only dashboard: views dashboard