Long-history series: how they are built
The SIP studies that reach back before 2005 (/lab/sip/long/) need series the lab’s main window does not: a government-bond index before NSE’s starts in 2001, and domestic gold before 2005. This note says how each is built, what it was checked against, and what it cannot capture. The rules were written into docs/research/sip_studies_spec.md (amendment of 8 October 2026) before any result was computed; the code is pipeline/tipsheet/lab/universe.py (the series) and pipeline/tipsheet/lab/sip_long.py (the study and its checks).
What is measured and what is built
| Asset | From | How |
|---|---|---|
| Nifty 500 | January 1995 | NSE’s total-return index, as published. Dividends are in it; nothing is assumed. |
| Nifty 50 | June 1999 | NSE’s total-return index, as published. |
| G-sec, 10-year | May 1996 | Rebuilt from RBI’s month-end 10-year yields (below). |
| Gold | April 1990 | RBI’s domestic price to May 2005, then the lab’s gold (below). |
| FD | 1975 | Banks’ 1-3 year deposit rate (below), interest taxed each year. |
| Inflation | 1988 | All-India CPI, linked across base years. |
The G-sec index, rebuilt from yields
A bond index can be rebuilt from yields alone by holding a bond of fixed maturity and rolling it (Swinkels 2019, “Data: International government bond returns since 1947”). Each month:
- Buy a 10-year bond at par, so its coupon equals that month’s 10-year yield.
- A month later, price it at the new 10-year yield with a month less to run, using the standard price of a semi-annual bond.
- Its return for the month is the price change plus the coupon earned over the month.
- Sell it and buy a new 10-year bond at par.
Rising yields give a price loss and falling yields a gain, as in a gilt fund. The yields are RBI’s month-end yields on 10-year government securities from May 1996 (India Data Hub FMDMGSEC1011M), with FBIL’s daily 10-year par yield after the last month-end.
Check. Against NSE’s 5-year G-sec index from October 2001, the rebuilt index’s monthly returns had a correlation of 0.83, against a pass mark of 0.80 set in advance. It returned 7.98% a year against 7.80%, and its volatility was 6.8% against 3.8%, as a 10-year bond’s should be against a 5-year one’s.
Limits. One maturity stands in for a fund that holds many. The index has no trading costs of its own; the lab’s gilt-fund cost schedule is applied on top.
Gold before 2005
The lab’s gold is WGC’s domestic rupee price from June 2005, which includes import duty and is what Indian gold ETFs track. Before 2005 the lab used the world price in dollars converted at the exchange rate, which misses changes in India’s import duty: against RBI’s domestic price it drifts by about 9% between 2000 and 2004.
For the long study, gold before June 2005 is RBI’s monthly average price in Mumbai, in rupees per 10 grams (India Data Hub MOINGOINRS11M, from April 1990). Each monthly average is placed in the middle of its month and the days between are filled at a constant rate of growth. The series is joined to the lab’s gold by the ratio of the two in June 2005.
Check. From June 2005, when both exist, their monthly changes had a correlation of 0.96, against a pass mark of 0.95 set in advance. Outside the join month the two differ only by the unit (10 grams against a troy ounce) and day-to-day timing.
Limits. A monthly average smooths the path within a month, so gold’s swings before 2005 look a little gentler than they were.
The FD rate
Every “below FD” figure compares a SIP with the same instalments in bank fixed deposits, at banks’ deposit rate for one to three years (pipeline/tipsheet/lab/deposit_rates.py):
| Period | Rate | Source |
|---|---|---|
| FY1975-76 to FY1995-96 | The administered 1-3 year deposit rate, constant through each financial year | RBI, Handbook of Statistics on Indian Economy 2009-10, Table 74 |
| End-March 1997 to July 2010 | The 1-3 year rate of five major public sector banks at each end-March (and July 2010), top of the range, joined by straight lines | Same table |
| From November 2011 | Scheduled commercial banks’ deposit rate for terms over one year, maximum, weekly | RBI, via India Data Hub MOIRCBDRMX11W |
| July 2010 to November 2011 | A straight line between the two |
The money accrues daily at the rate known the day before, and the interest is taxed each year at the 30% slab plus cess. That approximates one-year deposits rolled each year; a deposit’s rate is in fact fixed for its year. Where no deposit rate covers a date, the 364-day T-bill yield stands in, and the page says so.
Why not the T-bill yield. The studies first used the 364-day T-bill yield as a stand-in. Against banks’ rates it ran 1.33 points lower on average over FY1993 to FY2010 (4.17 points in 1997-98) and 0.76 points lower over 2012 to 2026, so it made fixed deposits look worse than they were. Using the top of RBI’s range matches the maximum rate used from 2011; the low end of the range is about 0.8 points lower in the years that give a range.
What the 1990s cannot tell us
-
The Nifty 500’s early years are probably a back-calculation. Its base date is January 1995, but NSE’s index company (IISL) was set up in 1998 and the factsheet gives no launch date. Treat 1995 to about 1998 as computed after the fact, with constituents chosen with some hindsight.
-
Deposit rates before 1996 were set by RBI, and the same at every bank. From 1996 they are the rates of five major public sector banks; private banks often paid a little more.
-
Index funds, gilt funds and gold ETFs did not all exist in the 1990s. Their later costs stand in for what an investor would have paid.
-
Tax follows each year’s rules, including indexation from FY1995-96 (the old 1981 base, rebased to 2001-02). The surcharges of the late 1990s are not modelled.
-
Twenty-year windows from 1995 add up to a single independent period: the results describe one history, not odds.
Next: from 1979
A version from 1979 uses the Sensex, which has no published total-return series before 1996. It will show the price index and a hypothetical total-return line under a disclosed range of dividend yields, calibrated on the years where both exist.