Data to 5 October 2026

Research

Which mix of Indian assets has done best, after costs and tax?

136 portfolios of Indian equity, government bonds, gold and cash, each run by a rule written down before any result was seen, from Apr 2005 to Oct 2026, after fund costs and Indian tax. After tax, 60/40 compounded at 11.4% a year, all equity at 12.6% and equal thirds of equity, bonds and gold at 12.3%. With 136 portfolios tried, the in-sample winner ranked below the median out of sample in 65% of splits of the history, so the top of any league table here is partly luck.

Written for investors choosing an allocation, and advisers who want the cost of tax and trading measured honestly. Data to 5 Oct 2026.

Which asset won each year

Before mixing assets, see how unevenly they take turns. Each column is a calendar year with the assets ranked from best to worst; follow a colour down the years.

In the 11 full years from 2015 to 2025, Indian small caps came first 4 times, gold 4 and US stocks 3. Large caps topped the table in no year.

2015
  1. Small+11
  2. Mid+10
  3. G-sec+9
  4. Cash+8
  5. US+6
  6. Large−3
  7. Gold−7
  8. EM−11
2016
  1. US+15
  2. EM+13
  3. G-sec+12
  4. Gold+11
  5. Cash+7
  6. Mid+7
  7. Large+4
  8. Small+1
2017
  1. Small+58
  2. Mid+56
  3. Large+30
  4. EM+28
  5. US+15
  6. Cash+6
  7. G-sec+5
  8. Gold+5
2018
  1. Gold+8
  2. G-sec+7
  3. Cash+7
  4. Large+5
  5. US+4
  6. EM−7
  7. Mid−13
  8. Small−26
2019
  1. US+35
  2. Gold+23
  3. EM+21
  4. Large+13
  5. G-sec+11
  6. Cash+6
  7. Mid+1
  8. Small−7
2020
  1. Gold+28
  2. Small+26
  3. Mid+26
  4. US+21
  5. EM+20
  6. Large+16
  7. G-sec+12
  8. Cash+4
2021
  1. Small+63
  2. Mid+48
  3. US+31
  4. Large+26
  5. Cash+3
  6. G-sec+3
  7. EM−2
  8. Gold−4
2022
  1. Gold+14
  2. Large+6
  3. Cash+5
  4. Mid+4
  5. G-sec+2
  6. Small−3
  7. US−9
  8. EM−12
2023
  1. Small+49
  2. Mid+45
  3. US+27
  4. Large+21
  5. Gold+16
  6. EM+10
  7. G-sec+8
  8. Cash+7
2024
  1. US+29
  2. Small+27
  3. Mid+24
  4. Gold+20
  5. Large+10
  6. EM+10
  7. G-sec+8
  8. Cash+7
2025
  1. Gold+76
  2. EM+40
  3. US+24
  4. Large+12
  5. G-sec+8
  6. Mid+6
  7. Cash+6
  8. Small−5
2026 YTD
  1. EM+33
  2. US+22
  3. Gold+10
  4. Small+6
  5. Cash+4
  6. G-sec+3
  7. Mid−2
  8. Large−13

Calendar-year total returns in rupees, %. Indian equities: NSE total-return indices. US and emerging markets: issuer NAVs of US-listed ETFs (IVV, EEM) converted at ECB reference rates. Gold, G-sec and cash as in the portfolio lab.

Do diversifiers hold up when equities struggle?

An asset's average correlation can hide what happens in bad equity months. These comparisons use completed monthly returns from native bond and gold observations, before product costs and taxes. Missing prices are not filled forward.

Correlation over 36 consecutive months

How to read it. Lower values mean less similar monthly returns in this window. They do not guarantee protection in the next equity sell-off.

Gold vs Nifty 500G-sec vs Nifty 500

Loading chart…

Source: NSE Nifty 500 TRI, NSE 5-year benchmark G-sec total-return index, domestic INR gold via Data bank
Method JSON
Bad equity months: Nifty 500 monthly return ≤−5%. Drawdowns: falls from the trailing 36-month high, requiring 36 consecutive prices. Conditional statistics need at least twelve observations; counts remain visible. Each row uses its own valid paired months.
AssetFirst paired returnLatest paired returnPaired monthsAll-month correlationEquity loss ≥5%: monthsCorrelation in those monthsMean asset return in those monthsEquity drawdown ≥10%: monthsAsset also below its peakMore
Gold2001-10-312026-09-30300−0.07340.16+2.2%6552.3%
G-sec 5-year2001-10-312026-09-303000.1234−0.07+0.8%6546.2%

Falls from each asset's trailing three-year high

How to read it. Below zero means the asset is below its own trailing 36-month high. Concurrent falls show how diversification can weaken; these are not drawdowns from an all-time peak.

Nifty 500GoldG-sec

Loading chart…

Source: NSE Nifty 500 TRI, NSE 5-year benchmark G-sec total-return index, domestic INR gold via Data bank
Method JSON

The library

Every portfolio, family by family, ranked by what a 30% slab taxpayer would have kept. All share one window (Apr 2005 to Oct 2026), one cost schedule and one tax engine, so any two rows can be compared. Read return and worst fall together, and treat differences inside the 90% interval against 60/40 as noise. Click a name for its own page; click a column to re-sort.

Historical research on index portfolios, not investment advice. Returns are after fund costs; 'after tax' applies Indian capital-gains rules by date for a 30% slab investor and sells everything at the end. Most factor, mid-cap and small-cap index history before each index's launch date is back-tested by NSE. One 21-year sample, domestic assets only.

Equity and debt

Equity and debt: 11 portfolios. Per cent a year unless marked. Before tax is after costs.
PortfolioAfter taxBefore taxReal, after taxVolatilitySharpeWorst fallTax drag (pts)vs 60/40, 90% interval (pts)More
100% Nifty 500 / 0% G-sec12.6%13.0%5.8%21.8%0.38−64%0.42−2.6 to +4.9
90% Nifty 500 / 10% G-sec12.5%13.0%5.7%19.5%0.40−57%0.44−1.6 to +3.8
80% Nifty 500 / 20% G-sec12.3%12.7%5.5%17.3%0.41−50%0.46−0.8 to +2.6
70% Nifty 500 / 30% G-sec11.9%12.4%5.1%15.1%0.43−43%0.47−0.3 to +1.3
60% Nifty 500 / 40% G-sec11.4%11.9%4.7%13.1%0.44−36%0.47–
50% Nifty 500 / 50% G-sec10.8%11.3%4.1%11.0%0.45−30%0.48−1.4 to +0.2
40% Nifty 500 / 60% G-sec10.1%10.6%3.5%9.1%0.46−23%0.48−2.9 to +0.3
30% Nifty 500 / 70% G-sec9.4%9.9%2.8%7.2%0.46−16%0.49−4.4 to +0.2
20% Nifty 500 / 80% G-sec8.5%9.0%1.9%5.5%0.45−12%0.50−6.0 to +0.1
10% Nifty 500 / 90% G-sec7.6%8.1%1.0%4.2%0.37−8%0.51−7.7 to −0.1
0% Nifty 500 / 100% G-sec6.5%7.0%0.1%3.7%0.16−7%0.52−9.5 to −0.4

Equity, debt and gold

Show all 66 mixes (the heat maps below show them at a glance)
Equity, debt and gold: 66 portfolios. Per cent a year unless marked. Before tax is after costs.
PortfolioAfter taxBefore taxReal, after taxVolatilitySharpeWorst fallTax drag (pts)vs 60/40, 90% interval (pts)More
40/0/60 equity / G-sec / gold14.8%15.6%7.9%12.7%0.71−25%0.77−0.8 to +8.5
30/0/70 equity / G-sec / gold14.8%15.5%7.8%13.0%0.69−24%0.76−1.8 to +9.4
50/0/50 equity / G-sec / gold14.8%15.5%7.8%12.9%0.69−30%0.75−0.0 to +7.4
20/0/80 equity / G-sec / gold14.6%15.4%7.7%13.9%0.64−23%0.75−2.8 to +10.2
60/0/40 equity / G-sec / gold14.6%15.3%7.7%13.8%0.65−37%0.71+0.6 to +6.4
10/0/90 equity / G-sec / gold14.4%15.1%7.5%15.2%0.59−22%0.73−4.0 to +10.9
70/0/30 equity / G-sec / gold14.3%15.0%7.4%15.2%0.58−43%0.66+0.9 to +5.5
40/10/50 equity / G-sec / gold14.1%14.8%7.2%11.5%0.71−24%0.74−1.0 to +7.0
0/0/100 equity / G-sec / gold14.1%14.8%7.2%16.8%0.53−27%0.70−5.3 to +11.5
30/10/60 equity / G-sec / gold14.1%14.8%7.1%11.6%0.70−22%0.75−1.9 to +8.0
50/10/40 equity / G-sec / gold14.0%14.7%7.1%12.1%0.68−30%0.71−0.1 to +5.9
80/0/20 equity / G-sec / gold13.9%14.5%7.0%17.0%0.51−50%0.60+0.6 to +4.9
20/10/70 equity / G-sec / gold13.9%14.7%7.0%12.3%0.66−21%0.74−3.0 to +8.9
60/10/30 equity / G-sec / gold13.9%14.5%7.0%13.2%0.61−36%0.66+0.5 to +4.8
10/10/80 equity / G-sec / gold13.7%14.4%6.8%13.6%0.60−20%0.73−4.1 to +9.6
70/10/20 equity / G-sec / gold13.6%14.2%6.7%14.9%0.54−43%0.60+0.7 to +3.9
90/0/10 equity / G-sec / gold13.4%13.9%6.5%19.2%0.45−57%0.52−0.7 to +4.8
0/10/90 equity / G-sec / gold13.4%14.1%6.5%15.2%0.53−23%0.73−5.4 to +10.2
40/20/40 equity / G-sec / gold13.3%14.0%6.5%10.5%0.70−23%0.70−1.1 to +5.6
30/20/50 equity / G-sec / gold13.3%14.0%6.5%10.3%0.72−21%0.72−2.1 to +6.6
50/20/30 equity / G-sec / gold13.3%13.9%6.4%11.4%0.65−30%0.66−0.3 to +4.4
20/20/60 equity / G-sec / gold13.2%13.9%6.3%10.8%0.68−20%0.73−3.2 to +7.5
80/10/10 equity / G-sec / gold13.1%13.6%6.3%17.0%0.47−50%0.53−0.0 to +3.6
60/20/20 equity / G-sec / gold13.1%13.7%6.2%12.9%0.57−36%0.60+0.3 to +3.2
10/20/70 equity / G-sec / gold13.0%13.7%6.1%12.0%0.61−19%0.73−4.3 to +8.3
70/20/10 equity / G-sec / gold12.7%13.3%5.9%14.9%0.49−43%0.53+0.4 to +2.5
0/20/80 equity / G-sec / gold12.6%13.4%5.8%13.5%0.53−19%0.74−5.6 to +8.9
100/0/0 equity / G-sec / gold12.6%13.0%5.8%21.8%0.38−64%0.42−2.6 to +4.9
40/30/30 equity / G-sec / gold12.6%13.2%5.7%9.6%0.68−23%0.66−1.4 to +4.1
30/30/40 equity / G-sec / gold12.6%13.2%5.7%9.1%0.72−19%0.69−2.3 to +5.2
90/10/0 equity / G-sec / gold12.5%13.0%5.7%19.5%0.40−57%0.44−1.6 to +3.8
50/30/20 equity / G-sec / gold12.5%13.1%5.7%10.9%0.60−29%0.60−0.5 to +2.9
20/30/50 equity / G-sec / gold12.5%13.2%5.6%9.3%0.70−18%0.71−3.4 to +6.2
80/20/0 equity / G-sec / gold12.3%12.7%5.5%17.3%0.41−50%0.46−0.8 to +2.6
10/30/60 equity / G-sec / gold12.2%13.0%5.5%10.4%0.62−17%0.72−4.5 to +7.0
60/30/10 equity / G-sec / gold12.2%12.8%5.5%12.8%0.51−36%0.54+0.2 to +1.6
0/30/70 equity / G-sec / gold11.9%12.7%5.2%11.9%0.53−17%0.75−5.8 to +7.7
70/30/0 equity / G-sec / gold11.9%12.4%5.1%15.1%0.43−43%0.47−0.3 to +1.3
30/40/30 equity / G-sec / gold11.8%12.4%5.0%8.1%0.71−17%0.65−2.7 to +3.8
40/40/20 equity / G-sec / gold11.8%12.4%5.0%9.1%0.63−23%0.61−1.7 to +2.7
20/40/40 equity / G-sec / gold11.7%12.4%4.9%8.0%0.71−16%0.69−3.7 to +4.8
50/40/10 equity / G-sec / gold11.7%12.2%4.9%10.8%0.53−29%0.54−0.8 to +1.4
10/40/50 equity / G-sec / gold11.5%12.2%4.8%8.8%0.64−15%0.71−4.9 to +5.7
60/40/0 equity / G-sec / gold11.4%11.9%4.7%13.1%0.44−36%0.47–
0/40/60 equity / G-sec / gold11.2%11.9%4.5%10.3%0.54−15%0.74−6.1 to +6.5
30/50/20 equity / G-sec / gold11.0%11.6%4.3%7.3%0.67−16%0.61−3.1 to +2.5
40/50/10 equity / G-sec / gold11.0%11.5%4.3%8.9%0.56−22%0.55−2.2 to +1.4
20/50/30 equity / G-sec / gold10.9%11.6%4.2%6.7%0.72−14%0.65−4.2 to +3.5
50/50/0 equity / G-sec / gold10.8%11.3%4.1%11.0%0.45−30%0.48−1.4 to +0.2
10/50/40 equity / G-sec / gold10.7%11.4%4.0%7.3%0.66−13%0.69−5.3 to +4.4
0/50/50 equity / G-sec / gold10.5%11.2%3.8%8.7%0.54−13%0.73−6.5 to +5.1
30/60/10 equity / G-sec / gold10.2%10.7%3.5%7.0%0.59−16%0.55−3.7 to +1.3
40/60/0 equity / G-sec / gold10.1%10.6%3.5%9.1%0.46−23%0.48−2.9 to +0.3
20/60/20 equity / G-sec / gold10.1%10.7%3.5%5.8%0.70−12%0.61−4.6 to +2.2
10/60/30 equity / G-sec / gold10.0%10.6%3.3%5.9%0.67−11%0.66−5.7 to +3.1
0/60/40 equity / G-sec / gold9.7%10.4%3.1%7.1%0.54−10%0.70−6.9 to +3.9
30/70/0 equity / G-sec / gold9.4%9.9%2.8%7.2%0.46−16%0.49−4.4 to +0.2
20/70/10 equity / G-sec / gold9.3%9.9%2.7%5.4%0.61−10%0.56−5.2 to +1.1
10/70/20 equity / G-sec / gold9.2%9.8%2.6%4.7%0.66−9%0.62−6.2 to +1.9
0/70/30 equity / G-sec / gold8.9%9.6%2.3%5.7%0.53−8%0.67−7.4 to +2.7
20/80/0 equity / G-sec / gold8.5%9.0%1.9%5.5%0.45−12%0.50−6.0 to +0.1
10/80/10 equity / G-sec / gold8.4%8.9%1.8%4.1%0.57−7%0.57−6.8 to +0.8
0/80/20 equity / G-sec / gold8.1%8.8%1.6%4.4%0.50−6%0.63−7.9 to +1.5
10/90/0 equity / G-sec / gold7.6%8.1%1.0%4.2%0.37−8%0.51−7.7 to −0.1
0/90/10 equity / G-sec / gold7.3%7.9%0.8%3.6%0.38−5%0.58−8.6 to +0.5
0/100/0 equity / G-sec / gold6.5%7.0%0.1%3.7%0.16−7%0.52−9.5 to −0.4

Named multi-asset portfolios

Named multi-asset portfolios: 8 portfolios. Per cent a year unless marked. Before tax is after costs. 'Back-tested to' is the latest launch date among the indices held: history before it is NSE's back-test.
PortfolioAfter taxBefore taxReal, after taxVolatilitySharpeWorst fallTax drag (pts)vs 60/40, 90% interval (pts)Back-tested toMore
Endowment-style (Indian approximation)13.4%14.0%6.5%11.7%0.64−31%0.63+0.6 to +3.82016-04-01
60/20/2013.1%13.7%6.2%12.9%0.57−36%0.60+0.3 to +3.2–
Golden butterfly12.6%13.3%5.8%9.9%0.67−23%0.62−0.6 to +3.42016-04-01
Equal thirds12.3%13.0%5.5%8.8%0.71−19%0.67−2.1 to +4.4–
60/4011.4%11.9%4.7%13.1%0.44−36%0.47––
Three-fund (domestic version)11.4%11.9%4.7%13.1%0.44−36%0.47––
Permanent portfolio10.8%11.4%4.1%6.7%0.70−15%0.62−3.8 to +2.8–
All Weather (Indian approximation)10.6%11.2%3.9%7.5%0.61−16%0.58−3.4 to +2.0–

Pure beta

Pure beta: 10 portfolios. Per cent a year unless marked. Before tax is after costs. 'Back-tested to' is the latest launch date among the indices held: history before it is NSE's back-test.
PortfolioAfter taxBefore taxReal, after taxVolatilitySharpeWorst fallTax drag (pts)vs 60/40, 90% interval (pts)Back-tested toMore
Nifty Midcap 15015.4%15.9%8.4%25.9%0.46−73%0.50−2.0 to +10.52016-04-01
Nifty Smallcap 25014.3%14.8%7.4%28.5%0.41−76%0.44−4.8 to +11.32016-04-01
Nifty Next 5014.0%14.4%7.1%25.2%0.41−72%0.42−2.8 to +8.3–
Nifty500 Multicap 50:25:2513.9%14.3%7.0%23.3%0.42−67%0.44−2.2 to +7.32020-12-02
Nifty500 Equal Weight13.3%13.7%6.5%27.2%0.38−71%0.42−4.3 to +8.92024-05-31
Nifty100 Equal Weight13.1%13.5%6.2%23.4%0.39−63%0.41−2.4 to +6.12013-06-10
Nifty50 Equal Weight12.8%13.3%6.0%22.1%0.39−59%0.43−2.3 to +5.52017-04-13
Nifty 50012.6%13.0%5.8%21.8%0.38−64%0.42−2.6 to +4.9–
Nifty 10012.5%12.9%5.7%21.0%0.38−61%0.40−2.3 to +4.4–
Nifty 5012.1%12.5%5.3%20.7%0.37−60%0.39−2.6 to +4.0–

Single factors

Single factors: 13 portfolios. Per cent a year unless marked. Before tax is after costs. 'Back-tested to' is the latest launch date among the indices held: history before it is NSE's back-test.
PortfolioAfter taxBefore taxReal, after taxVolatilitySharpeWorst fallTax drag (pts)vs 60/40, 90% interval (pts)Back-tested toMore
Momentum (Nifty500 Momentum 50)19.7%20.3%12.5%24.8%0.62−71%0.53+1.1 to +16.22024-06-04
Multi-factor (Nifty500 Multifactor MQVLv 50)17.5%18.0%10.4%19.7%0.62−54%0.48+2.0 to +10.82025-02-06
Alpha (Nifty Alpha 50)17.2%17.8%10.1%28.2%0.51−79%0.56−2.7 to +14.72012-11-19
Momentum (Nifty200 Momentum 30)16.7%17.2%9.7%22.6%0.54−68%0.48−0.0 to +10.92020-08-25
Low volatility (Nifty500 Low Volatility 50)15.4%15.8%8.4%17.2%0.58−49%0.47+1.2 to +7.02024-12-20
Multi-factor (Nifty Alpha Quality Value Low-Volatility 30)15.3%15.8%8.3%17.5%0.57−54%0.48+0.2 to +7.82017-07-03
Quality (Nifty200 Quality 30)15.2%15.6%8.2%18.8%0.53−56%0.41−0.2 to +8.02018-04-17
Low volatility (Nifty100 Low Volatility 30)15.0%15.4%8.0%17.8%0.54−49%0.42+0.7 to +6.62016-07-08
Quality (Nifty500 Quality 50)14.9%15.3%7.9%19.4%0.51−54%0.43−0.5 to +7.82024-12-20
Low volatility (Nifty Low Volatility 50)14.9%15.3%7.9%18.0%0.53−52%0.42+0.4 to +6.72012-11-19
Value (Nifty500 Value 50)14.8%15.3%7.8%30.7%0.41−67%0.47−4.6 to +12.72018-10-24
Value (Nifty200 Value 30)14.5%15.0%7.6%30.4%0.40−64%0.49−4.3 to +11.82024-06-12
High beta (Nifty High Beta 50)5.7%6.0%−0.7%37.5%0.17−81%0.29−14.0 to +3.52012-11-19

Beta plus factors, and factor blends

Beta plus factors, and factor blends: 7 portfolios. Per cent a year unless marked. Before tax is after costs. 'Back-tested to' is the latest launch date among the indices held: history before it is NSE's back-test.
PortfolioAfter taxBefore taxReal, after taxVolatilitySharpeWorst fallTax drag (pts)vs 60/40, 90% interval (pts)Back-tested toMore
Value and momentum16.1%16.6%9.1%24.7%0.49−64%0.50−0.4 to +10.72024-06-12
Four-factor blend15.9%16.3%8.8%20.7%0.53−58%0.47+0.8 to +8.52024-06-12
Quality and low volatility15.1%15.6%8.2%18.0%0.54−52%0.42+0.5 to +7.22018-04-17
Nifty 500 + 30% momentum13.9%14.4%7.0%21.5%0.44−65%0.44−1.5 to +6.62020-08-25
Nifty 500 + 30% quality13.5%13.9%6.6%20.5%0.43−62%0.42−1.5 to +5.52018-04-17
Nifty 500 + 30% value13.4%13.9%6.6%23.7%0.40−64%0.45−2.1 to +6.72024-06-12
Nifty 500 + 30% low volatility13.4%13.9%6.6%20.2%0.43−60%0.43−1.2 to +5.22016-07-08

Risk-based

Risk-based: 8 portfolios. Per cent a year unless marked. Before tax is after costs.
PortfolioAfter taxBefore taxReal, after taxVolatilitySharpeWorst fallTax drag (pts)vs 60/40, 90% interval (pts)More
1/N (monthly)11.9%12.6%5.1%8.9%0.66−23%0.71−2.3 to +3.7
Black-Litterman, no views10.8%11.3%4.1%13.3%0.39−42%0.44−1.5 to +0.0
Mean-variance (shrunk covariance)9.3%10.7%2.7%10.8%0.41−41%1.36−4.6 to +2.3
Inverse volatility8.8%9.5%2.3%4.5%0.64−7%0.65−6.2 to +1.3
Equal risk contribution8.8%9.5%2.2%4.6%0.62−8%0.66−6.3 to +1.3
Maximum diversification8.8%9.5%2.2%4.7%0.61−9%0.71−6.3 to +1.3
Minimum variance7.6%8.3%1.1%4.0%0.44−6%0.65−7.9 to +0.5
Hierarchical risk parity7.2%7.7%0.7%3.7%0.33−6%0.53−8.6 to +0.0

Tactical

Tactical: 11 portfolios. Per cent a year unless marked. Before tax is after costs.
PortfolioAfter taxBefore taxReal, after taxVolatilitySharpeWorst fallTax drag (pts)vs 60/40, 90% interval (pts)More
Defensive asset allocation (DAA)13.0%14.8%6.2%16.3%0.54−45%1.83−0.3 to +6.6
Protective asset allocation (PAA2)12.5%13.7%5.7%14.3%0.53−37%1.23−1.5 to +5.2
Dual momentum12.0%13.4%5.2%18.0%0.44−45%1.43−5.2 to +8.7
CPPI11.0%11.5%4.3%20.3%0.33−64%0.45−4.3 to +3.4
Valuation glide (yield gap)10.3%11.4%3.6%10.4%0.48−29%1.10−2.6 to +1.6
Valuation glide (CAPE)10.1%11.0%3.5%9.6%0.48−16%0.86−3.6 to +1.6
Vigilant asset allocation (VAA-G4)10.0%12.3%3.4%14.8%0.43−31%2.25−3.2 to +4.0
Volatility-managed equity10.0%10.6%3.3%17.1%0.31−46%0.61−4.0 to +1.7
GTAA (10-month trend)9.8%10.9%3.1%7.3%0.59−18%1.10−4.7 to +2.7
60/40 with trend9.7%10.3%3.1%9.7%0.41−21%0.52−3.7 to +0.7
Bold asset allocation (BAA-G4)8.5%10.6%2.0%13.1%0.35−35%2.06−5.2 to +2.3

Ensembles

Ensembles: 2 portfolios. Per cent a year unless marked. Before tax is after costs.
PortfolioAfter taxBefore taxReal, after taxVolatilitySharpeWorst fallTax drag (pts)vs 60/40, 90% interval (pts)More
Ensemble: equal weight of models10.1%11.5%3.4%8.6%0.57−25%1.37−2.4 to +1.5
Ensemble: inverse volatility of models9.7%10.8%3.1%6.3%0.66−12%1.10−3.9 to +1.6

How they grew

Growth of one rupee for a few members of each family, after costs and before tax. The after-tax figures are in the tables above; tax takes most from the rules that trade most, so these curves flatter them. Every portfolio's own curve, with its falls, is on its page.

Equity and debt

Weekly, before tax. 3 of the family's 11.

How to read it. Log scale, so equal slopes are equal returns. Of the lines shown, 100% Nifty 500 / 0% G-sec grew fastest (13.0% a year before tax, worst fall −64%) and 0% Nifty 500 / 100% G-sec slowest (7.0%, worst fall −7%).

100% Nifty 500 / 0% G-sec60% Nifty 500 / 40% G-sec0% Nifty 500 / 100% G-sec

Loading chart…

Source: tipsheet portfolio lab, computed from NSE total-return indices, the NSE 5-year benchmark G-sec index.
Method JSON

Named multi-asset portfolios

Weekly, before tax. 5 of the family's 8. Includes NSE's back-tested history before index launch dates.

How to read it. Log scale, so equal slopes are equal returns. Of the lines shown, Endowment-style (Indian approximation) grew fastest (14.0% a year before tax, worst fall −31%) and Permanent portfolio slowest (11.4%, worst fall −15%).

60/4060/20/20Equal thirdsPermanent portfolioEndowment-style (Indian approximation)

Loading chart…

Source: tipsheet portfolio lab, computed from the NSE 5-year benchmark G-sec index, NSE total-return indices, domestic gold in rupees (World Gold Council), the 91-day T-bill yield, a synthetic 10-year G-sec return built from month-end yields.
Method JSON

Pure beta

Weekly, before tax. 4 of the family's 10. Includes NSE's back-tested history before index launch dates.

How to read it. Log scale, so equal slopes are equal returns. Of the lines shown, Nifty Midcap 150 grew fastest (15.9% a year before tax, worst fall −73%) and Nifty 50 slowest (12.5%, worst fall −60%).

Nifty 50Nifty 500Nifty Midcap 150Nifty Smallcap 250

Loading chart…

Source: tipsheet portfolio lab, computed from NSE total-return indices.
Method JSON

Single factors

Weekly, before tax. 4 of the family's 13. Includes NSE's back-tested history before index launch dates.

How to read it. Log scale, so equal slopes are equal returns. Of the lines shown, Momentum (Nifty200 Momentum 30) grew fastest (17.2% a year before tax, worst fall −68%) and Value (Nifty200 Value 30) slowest (15.0%, worst fall −64%).

Momentum (Nifty200 Momentum 30)Value (Nifty200 Value 30)Quality (Nifty200 Quality 30)Low volatility (Nifty100 Low Volatility 30)

Loading chart…

Source: tipsheet portfolio lab, computed from NSE total-return indices.
Method JSON

Beta plus factors, and factor blends

Weekly, before tax. 4 of the family's 7. Includes NSE's back-tested history before index launch dates.

How to read it. Log scale, so equal slopes are equal returns. Of the lines shown, Four-factor blend grew fastest (16.3% a year before tax, worst fall −58%) and Nifty 500 + 30% low volatility slowest (13.9%, worst fall −60%).

Four-factor blendNifty 500 + 30% momentumNifty 500 + 30% low volatilityQuality and low volatility

Loading chart…

Source: tipsheet portfolio lab, computed from NSE total-return indices.
Method JSON

Risk-based

Weekly, before tax. 4 of the family's 8.

How to read it. Log scale, so equal slopes are equal returns. Of the lines shown, 1/N (monthly) grew fastest (12.6% a year before tax, worst fall −23%) and Minimum variance slowest (8.3%, worst fall −6%).

1/N (monthly)Equal risk contributionMinimum varianceMean-variance (shrunk covariance)

Loading chart…

Source: tipsheet portfolio lab, computed from domestic gold in rupees (World Gold Council), the NSE 5-year benchmark G-sec index, NSE total-return indices.
Method JSON

Tactical

Weekly, before tax. 5 of the family's 11.

How to read it. Log scale, so equal slopes are equal returns. Of the lines shown, Defensive asset allocation (DAA) grew fastest (14.8% a year before tax, worst fall −45%) and GTAA (10-month trend) slowest (10.9%, worst fall −18%).

GTAA (10-month trend)Dual momentumDefensive asset allocation (DAA)Vigilant asset allocation (VAA-G4)Valuation glide (CAPE)

Loading chart…

Source: tipsheet portfolio lab, computed from the 91-day T-bill yield, domestic gold in rupees (World Gold Council), the NSE 5-year benchmark G-sec index, NSE total-return indices.
Method JSON

Ensembles

Weekly, before tax. 2 of the family's 2.

How to read it. Log scale, so equal slopes are equal returns. Of the lines shown, Ensemble: equal weight of models grew fastest (11.5% a year before tax, worst fall −25%) and Ensemble: inverse volatility of models slowest (10.8%, worst fall −12%).

Ensemble: equal weight of modelsEnsemble: inverse volatility of models

Loading chart…

Source: tipsheet portfolio lab, computed from the 91-day T-bill yield, domestic gold in rupees (World Gold Council), a synthetic 10-year G-sec return built from month-end yields, the NSE 5-year benchmark G-sec index, NSE total-return indices.
Method JSON

Every mix of equity, bonds and gold

Rather than pick a favourite mix, the lab runs them all: Nifty 500 against the 5-year G-sec in 10-point steps, and then every mix of the two with gold. Each is rebalanced once a year. Each extra 10 points of equity added between 0.1 and 1.0 points of after-tax return, and from 20% equity up the Sharpe ratio barely moved (0.38 to 0.46).

Equity and G-sec only, Apr 2005 to Oct 2026. Per cent a year unless marked.
MixAfter taxReal, after taxVolatilitySharpeWorst fallWorst yearTax drag (pts)More
0% Nifty 500 / 100% G-sec6.5%0.1%3.7%0.16−7%−1%0.52
10% Nifty 500 / 90% G-sec7.6%1.0%4.2%0.37−8%1%0.51
20% Nifty 500 / 80% G-sec8.5%1.9%5.5%0.45−12%−2%0.50
30% Nifty 500 / 70% G-sec9.4%2.8%7.2%0.46−16%−5%0.49
40% Nifty 500 / 60% G-sec10.1%3.5%9.1%0.46−23%−13%0.48
50% Nifty 500 / 50% G-sec10.8%4.1%11.0%0.45−30%−20%0.48
60% Nifty 500 / 40% G-sec11.4%4.7%13.1%0.44−36%−27%0.47
70% Nifty 500 / 30% G-sec11.9%5.1%15.1%0.43−43%−35%0.47
80% Nifty 500 / 20% G-sec12.3%5.5%17.3%0.41−50%−42%0.46
90% Nifty 500 / 10% G-sec12.5%5.7%19.5%0.40−57%−50%0.44
100% Nifty 500 / 0% G-sec12.6%5.8%21.8%0.38−64%−57%0.42

After-tax return of every three-asset mix

Rows are the equity share, columns the gold share; the 5-year G-sec takes the rest. Each cell links to that mix's page.

How to read it. Stronger colour is higher. The top after-tax return, 14.8%, came from 40/0/60 (equity / G-sec / gold). Moving right along a row swaps G-sec for gold at the same equity share.

CAGR after costs and tax, per cent a year

Source: tipsheet portfolio lab, computed from domestic gold in rupees (World Gold Council), the NSE 5-year benchmark G-sec index, NSE total-return indices.

Sharpe ratio of every three-asset mix

Rows are the equity share, columns the gold share; the 5-year G-sec takes the rest. Each cell links to that mix's page.

How to read it. Stronger colour is better rewarded for its swings. The highest Sharpe ratio, 0.72, was 30/30/40. Neighbouring cells differ only a little, so read the shape rather than the single best cell.

return over the T-bill per unit of volatility, monthly returns

Source: tipsheet portfolio lab, computed from domestic gold in rupees (World Gold Council), the NSE 5-year benchmark G-sec index, NSE total-return indices.

Worst fall of every three-asset mix

Rows are the equity share, columns the gold share; the 5-year G-sec takes the rest. Each cell links to that mix's page.

How to read it. Stronger colour is a deeper fall. They range from −5% (0/90/10) to −64% (100/0/0). The equity share sets most of it.

largest fall from a peak, per cent

Source: tipsheet portfolio lab, computed from domestic gold in rupees (World Gold Council), the NSE 5-year benchmark G-sec index, NSE total-return indices.

Factor indices, before and after launch

Most of NSE's factor, mid-cap and small-cap indices were launched well inside the window; their earlier history is a back-test. The table sets each index's return over its parent before launch against the same measure after launch. These are index returns before fund costs; the library tables carry the costs.

Annualised return over the parent index, in percentage points. Sorted by the live record.
IndexParentLaunchedBack-tested monthsBack-tested excessLive monthsLive excessMore
Alpha (Nifty Alpha 50)Nifty 500Nov 201291+0.9 pts167+7.2 pts
Value (Nifty500 Value 50)Nifty 500Oct 2018162+0.4 pts96+6.4 pts
Nifty Midcap 150Nifty 500Apr 2016132+1.6 pts126+4.1 pts
Value (Nifty200 Value 30)Nifty 500Jun 2024230+2.4 pts28+3.5 pts
Low volatility (Nifty500 Low Volatility 50)Nifty 500Dec 2024236+3.0 pts22+3.2 pts
Multi-factor (Nifty Alpha Quality Value Low-Volatility 30)Nifty 500Jul 2017147+3.2 pts111+2.9 pts
Nifty500 Multicap 50:25:25Nifty 500Dec 2020188+0.8 pts70+2.7 pts
Nifty Smallcap 250Nifty 500Apr 2016132+1.1 pts126+2.1 pts
Low volatility (Nifty Low Volatility 50)Nifty 100Nov 201291+3.9 pts167+2.0 pts
Nifty100 Equal WeightNifty 100Jun 201398−0.8 pts160+1.6 pts
Nifty50 Value 20Nifty 50Mar 201462+8.0 pts151+1.5 pts
Nifty500 Equal WeightNifty 500May 2024229+0.6 pts29+1.3 pts
Momentum (Nifty200 Momentum 30)Nifty 500Aug 2020184+6.1 pts74+1.2 pts
Nifty50 Equal WeightNifty 50Apr 2017144+0.5 pts114+1.2 pts
Low volatility (Nifty100 Low Volatility 30)Nifty 100Jul 2016135+4.7 pts123+0.6 pts
Multi-factor (Nifty500 Multifactor MQVLv 50)Nifty 500Feb 2025238+5.6 pts20−0.4 pts
Quality (Nifty200 Quality 30)Nifty 500Apr 2018156+5.8 pts102−1.3 pts
Quality (Nifty500 Quality 50)Nifty 500Dec 2024236+3.3 pts22−2.5 pts
High beta (Nifty High Beta 50)Nifty 100Nov 201291−11.9 pts167−3.8 pts
Momentum (Nifty500 Momentum 50)Nifty 500Jun 2024230+9.4 pts28−5.1 pts

What we predicted, and what happened

Six predictions were written into the specification before any result was computed. 2 held outright; the rest held in part or failed, and are reported the same way.

P1 Held

No tactical rule beats the static equal-weight mix of the same assets after tax, with a 90% block-bootstrap interval that excludes zero.

No tactical or risk-based rule beat the static equal-weight mix of its own assets after tax with an interval above zero; the paired tests are in the results log. Tax alone cost the 11 tactical rules 0.45 to 2.25 points a year.

P2 Half held

Adding 10% to 30% gold to an equity / G-sec mix raised the Sharpe ratio over the window, but the bootstrap interval for the CAGR difference includes zero.

The Sharpe ratio rose in 27 of 27 pairs (each three-asset mix against the equity / G-sec mix with the same equity share). The second half failed: the return gain was not indistinguishable from zero. Adding 10, 20 and 30 points of gold raised after-tax CAGR by 0.83, 1.64 and 2.42 points on average, and the results log reports bootstrap intervals above zero. That describes rupee gold in this one sample.

P3 Mostly held

Risk-based portfolios have smaller drawdowns and lower after-tax CAGR than 60/40.

5 of 8 risk-based portfolios fit both halves (Inverse volatility, Equal risk contribution, Minimum variance, Maximum diversification, Hierarchical risk parity). The exceptions: 1/N (monthly) (11.9% after tax, worst fall −23%); Mean-variance (shrunk covariance) (9.3% after tax, worst fall −41%); Black-Litterman, no views (10.8% after tax, worst fall −42%), against 11.4% and −36% for 60/40.

P4 Failed

Each factor index did worse after its launch date than in its back-tested history before launch, measured as annualised return over the parent index.

8 of 13 factor indices did worse against their parent after launch. Alpha (Nifty Alpha 50), Value (Nifty500 Value 50), Value (Nifty200 Value 30), Low volatility (Nifty500 Low Volatility 50), High beta (Nifty High Beta 50) did better live. Several live records are short; the months are in the table above.

P5 Held

The probability of backtest overfitting (CSCV) for "pick the best portfolio in the library" is above 0.3.

It is 0.65 across all 136 portfolios: in 65% of the 12,870 ways of splitting the history, the in-sample winner ranked below the median out of sample.

P6 Partly held

Tax costs the tactical rules more than 1.5 percentage points a year of CAGR, against under 0.8 for annually rebalanced static mixes.

Every annually rebalanced static mix paid under 0.8 points (at most 0.77). But only 3 of 11 tactical rules paid more than 1.5 (Vigilant asset allocation (VAA-G4), Defensive asset allocation (DAA), Bold asset allocation (BAA-G4)); the rest paid 0.45 to 1.43.

How much of a winner is luck

Probability of backtest overfitting (CSCV, 16 blocks of monthly returns). Above 0.5, the in-sample best does worse than the median out of sample more often than not.
SetPortfoliosPBOMedian out-of-sample rank (0 to 1)More
Whole library1360.650.39
Tactical rules110.750.42
Risk-based and tactical190.520.50
Equity / G-sec / gold grid660.470.52
Factor indices200.440.52

Picking, each January from 2011, the three-asset mix with the best Sharpe ratio over the previous five years earned 8.2% a year before tax, against 10.9% for equal thirds held throughout and 9.6% for the mix that turned out best in hindsight.

Walk-forward test, 190 months. Before tax.
ApproachA yearSharpe
Each January, pick last five years' best-Sharpe mix8.2%0.20
The mix that turned out best in hindsight (20/60/20 equity / G-sec / gold)9.6%0.56
Equal thirds, held throughout10.9%0.55
60/40, held throughout9.7%0.33

How often to rebalance

Rebalancing each January gave the highest before-tax return of the five policies for 3 of the 4 portfolios tested. One sample; the differences are small.

Per cent a year unless marked.
PortfolioRebalancingBefore taxAfter taxTurnoverWorst fallMore
60/40Never11.35%10.92%0.00−50%
60/40Monthly11.26%10.81%0.11−42%
60/40Quarterly11.39%10.95%0.07−42%
60/40Each January (default)11.89%11.41%0.03−36%
60/40Tolerance bands (5/25)11.34%10.90%0.04−43%
60/20/20Never12.71%12.20%0.00−48%
60/20/20Monthly13.13%12.49%0.14−42%
60/20/20Quarterly13.19%12.59%0.09−42%
60/20/20Each January (default)13.66%13.06%0.04−36%
60/20/20Tolerance bands (5/25)13.20%12.57%0.05−42%
Equal thirdsNever12.47%11.90%0.00−31%
Equal thirdsMonthly12.57%11.86%0.15−23%
Equal thirdsQuarterly12.60%11.91%0.09−23%
Equal thirdsEach January (default)12.98%12.31%0.05−19%
Equal thirdsTolerance bands (5/25)12.86%12.15%0.07−24%
Permanent portfolioNever11.45%10.89%0.00−25%
Permanent portfolioMonthly11.04%10.43%0.14−16%
Permanent portfolioQuarterly11.07%10.45%0.08−16%
Permanent portfolioEach January (default)11.41%10.79%0.05−15%
Permanent portfolioTolerance bands (5/25)11.40%10.74%0.05−15%

The same portfolios as SIPs

A lump sum is one way in. The SIP studies run every portfolio in the library as Rs 10,000 a month, started in every month from Apr 2005, held for three to twenty years, after costs and tax, against fixed deposits and inflation.

What a monthly SIP delivered, portfolio by portfolio. Each portfolio's page also carries its own SIP record.

The workings

Method

Data

Every chart has a table view, a CSV download and a link to its published JSON. Bundles are listed in data status.

Read with