<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>TejHQ - Field notes</title>
    <link>https://tejhq.dev/blog</link>
    <atom:link href="https://tejhq.dev/rss.xml" rel="self" type="application/rss+xml"/>
    <description>Engineering deep-dives and unhedged opinions on Indian-market data infrastructure.</description>
    <language>en-IN</language>
    <lastBuildDate>Sun, 07 Jun 2026 12:43:21 GMT</lastBuildDate>
    
    <item>
      <title>Sixteen years of NSE bhavcopy, finally on tap</title>
      <link>https://tejhq.dev/blog/sixteen-years-nse-bhavcopy</link>
      <guid isPermaLink="true">https://tejhq.dev/blog/sixteen-years-nse-bhavcopy</guid>
      <pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate>
      <description>What it took to backfill NSE end-of-day prices from 2010 to today: two URL schemes, two CSV schemas, a SEBI format cutover in the middle, and a Go SQL driver that hates NULL.</description>
      <category>bhavcopy</category><category>nse</category><category>backfill</category><category>engineering</category>
    </item>
    <item>
      <title>Shipping back-adjusted Indian equity prices, reconciled vs Yahoo</title>
      <link>https://tejhq.dev/blog/corp-actions-adjustment-engine</link>
      <guid isPermaLink="true">https://tejhq.dev/blog/corp-actions-adjustment-engine</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Splits, bonuses, dividends, ISIN drift across mergers. How TejHQ Phase 4 actually shipped: the adjustment math, the per-ISIN reverse cumprod, the post-merger ISIN resolver, and the 89% Yahoo reconciliation.</description>
      <category>corp-actions</category><category>engineering</category><category>phase-4</category><category>adjusted-close</category><category>reconciliation</category>
    </item>
    <item>
      <title>A NIFTY 500 momentum backtest in 80 lines of Polars</title>
      <link>https://tejhq.dev/blog/nifty-500-momentum-backtest-polars</link>
      <guid isPermaLink="true">https://tejhq.dev/blog/nifty-500-momentum-backtest-polars</guid>
      <pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
      <description>Twelve-minus-one momentum, monthly rebalance, top decile, 2024-Q1 to 2026-Q1. From raw Bhavcopy to equity curve in one script. Full code + results.</description>
      <category>backtesting</category><category>polars</category><category>momentum</category><category>nifty</category>
    </item>
    <item>
      <title>The ₹24-lakh truth about Indian market data</title>
      <link>https://tejhq.dev/blog/indian-market-data-pricing-explained</link>
      <guid isPermaLink="true">https://tejhq.dev/blog/indian-market-data-pricing-explained</guid>
      <pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate>
      <description>Why retail quants in India pay anywhere from zero to twenty-four lakh rupees a year for the same OHLCV. A breakdown of who charges what, and what they&apos;re actually selling.</description>
      <category>industry</category><category>pricing</category><category>nse</category><category>bse</category>
    </item>
    <item>
      <title>Polars vs DuckDB on 2.6M Indian-market rows: I benchmarked both</title>
      <link>https://tejhq.dev/blog/polars-vs-duckdb-india-eod-benchmark</link>
      <guid isPermaLink="true">https://tejhq.dev/blog/polars-vs-duckdb-india-eod-benchmark</guid>
      <pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate>
      <description>Same data, same query, two engines. Polars wins on pure scan speed; DuckDB wins on remote Parquet pruning. Numbers, code, and the cases where each loses.</description>
      <category>polars</category><category>duckdb</category><category>benchmark</category><category>parquet</category>
    </item>
    <item>
      <title>How TejHQ ingests every NSE &amp; BSE equity for ₹0 a day</title>
      <link>https://tejhq.dev/blog/bhavcopy-pipeline-from-zero</link>
      <guid isPermaLink="true">https://tejhq.dev/blog/bhavcopy-pipeline-from-zero</guid>
      <pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate>
      <description>End-of-day market data for India costs anywhere from ₹0 to ₹24 lakh a year. We pay zero. Here&apos;s the SEBI CMTS Bhavcopy pipeline that powers tej-bazaar.</description>
      <category>pipeline</category><category>bhavcopy</category><category>nse</category><category>bse</category>
    </item>
  </channel>
</rss>