{"schema":1,"name":"IPO returns after listing against benchmarks, by horizon","generated_at":"2026-10-06T04:00:27Z","as_of":"2026-10-05","meta":{"source":"NSE past issues list (issue price, issue dates) via Data bank nse_ipo_history; prices from NSE bhavcopy, adjusted for splits, bonuses, rights and demergers (compute/prices.py); benchmarks: Nifty 500, Nifty500 Equal Weight and Nifty Smallcap 250 price indices (niftyindices)","spec":"docs/research/ipo_spec.md (pre-registered 2026-10-01)","notes":["Listings from 2016-01. A listing is the symbol's first NSE session after the issue closes; its ISIN must not have traded before (FPOs, relistings and BSE-first listings are excluded). Excluded issues and reasons: .cache/derived/qa_ipo_excluded.csv.","Listing gain = listing-day NSE close / issue price - 1. Retail and employee discounts are ignored.","Returns after listing are price returns (dividends excluded) from the listing-day close; benchmarks are price indices, so both sides exclude dividends.","Equal-weighted throughout: no source gives reliable issue sizes.","SME listings are shown separately and are descriptive only. Their averages are dominated by a few thin-float multibaggers; read the medians.","Subscription is not published: no source of final consolidated subscription is validated yet.","Historical research. Not investment advice."],"columns":"Horizons in NSE sessions from the listing-day close: 1m=21, 6m=126, 1y=250, 3y=750, 5y=1250; only issues with the full horizon elapsed. bhar = buy-and-hold abnormal return (IPO return minus benchmark over identical dates). wealth_relative = (1 + mean IPO return) / (1 + mean benchmark return). exited_early = stopped trading inside the window (return to last close, benchmark cut to match)."},"columns":["board","horizon","n","exited_early","mean_ret","median_ret","mean_bench_nifty500","mean_bhar_nifty500","median_bhar_nifty500","share_beat_nifty500","wealth_relative_nifty500","mean_bench_nifty500_ew","mean_bhar_nifty500_ew","median_bhar_nifty500_ew","share_beat_nifty500_ew","wealth_relative_nifty500_ew","mean_bench_smallcap250","mean_bhar_smallcap250","median_bhar_smallcap250","share_beat_smallcap250","wealth_relative_smallcap250","mean_bhar_nifty500_tri"],"rows":[["mainboard","1m",503.0,0.0,0.0159,-0.0158,0.0085,0.0074,-0.0197,0.4433,1.0073,0.0115,0.0044,-0.0249,0.4314,1.0044,0.0132,0.0028,-0.0255,0.4314,1.0027,0.0066],["mainboard","6m",461.0,0.0,0.1054,0.0125,0.051,0.0544,-0.0421,0.4534,1.0518,0.0605,0.0448,-0.0421,0.4447,1.0423,0.0616,0.0438,-0.0409,0.4447,1.0412,0.0491],["mainboard","1y",405.0,0.0,0.18,0.0272,0.114,0.0661,-0.0777,0.437,1.0593,0.1298,0.0502,-0.0827,0.442,1.0444,0.1356,0.0444,-0.0891,0.4395,1.0391,0.0541],["mainboard","3y",233.0,1.0,0.644,0.1235,0.4584,0.1855,-0.2811,0.4034,1.1272,0.5582,0.0858,-0.2939,0.3948,1.055,0.5937,0.0502,-0.2838,0.3948,1.0315,0.1379],["mainboard","5y",143.0,1.0,1.4051,0.4911,0.8865,0.5186,-0.2918,0.4056,1.2749,1.03,0.3751,-0.3794,0.3916,1.1848,1.0987,0.3063,-0.4275,0.3776,1.146,0.4119],["sme","1m",719.0,0.0,0.0713,-0.0157,0.0081,0.0632,-0.0284,0.4423,1.0627,0.0107,0.0607,-0.0298,0.4478,1.06,0.0125,0.0588,-0.0342,0.4381,1.0581,0.0623],["sme","6m",689.0,0.0,0.2216,-0.0238,0.0526,0.169,-0.0911,0.4078,1.1606,0.0566,0.165,-0.0954,0.4194,1.1562,0.0573,0.1643,-0.099,0.4253,1.1554,0.1637],["sme","1y",644.0,3.0,0.433,-0.0414,0.1062,0.3268,-0.1543,0.4037,1.2954,0.1098,0.3232,-0.126,0.4177,1.2912,0.1108,0.3222,-0.1246,0.4301,1.2901,0.3152],["sme","3y",331.0,8.0,1.7016,0.0385,0.3815,1.3201,-0.2763,0.4139,1.9555,0.391,1.3106,-0.1794,0.4411,1.9422,0.3987,1.3029,-0.134,0.4411,1.9316,1.2749],["sme","5y",202.0,13.0,3.5083,0.9494,0.8071,2.7012,0.2117,0.5545,2.4948,0.7983,2.71,0.2282,0.5545,2.507,0.8394,2.6689,0.252,0.5396,2.451,2.5981]]}