■FIG. B.2 · Self project · personal market-data platform
Market-Data Ops & Portfolio Analytics
Analytics is only as good as the lake underneath it, so this project builds the lake first: a GitHub Actions cron ETL pulling daily NSE bhavcopies, India VIX, AMFI NAVs and RBI FX into a partitioned Parquet lake, guarded by hash-count reconciliation, quarantine workflows, corporate-action checks and stale-quote detection. The portfolio layer on top — returns, VaR, drawdowns, beta, tracking error — and the backtest below all read from that same lake.
PORTFOLIO VALUE — $10M START, 1,920 TRADING DAYS, NSE UNIVERSE
DRAWDOWN FROM PEAK
momentum strategy
fixed basket
Generated at authoring time by the repo's own MomentumBacktester (github.com/saubhagyapandey27/market-data-ops-platform @ HEAD) over its committed nse_bhavcopy parquet lake (2018-2025). cost_bps=15, rf=6.5%. Momentum variant pays 15 bps round-trip costs (total costs: $999,876 on the run); the fixed basket pays none. Risk-free rate 6.5%.
READING THE CHARTS
Top-N momentum versus a fixed-weight basket over seven and a half years of NSE data, momentum paying 15 bps round-trip. The momentum variant leads on return and Sharpe; the fixed basket draws down less. Strategy significance was bootstrap-tested rather than asserted. The curves above are the exact output of the repository’s MomentumBacktester — costs, risk-free rate and all.
THE QUALITY DISCIPLINE
Every batch is reconciled by hash and count before it is trusted; failures go to quarantine, not to the lake. Corporate actions and stale quotes are checked explicitly, and a one-page data-governance note records the rules. This is the difference between a backtest you can defend and one you can only show.
Prev: FIG. B.1 · Lending Lifecycle PlatformNext: FIG. B.3 · Listed-Lender Workbench