Data to 5 October 2026

Research

How did Mean-variance (shrunk covariance) do after costs and tax?

Long-only maximum Sharpe ratio with the Ledoit-Wolf covariance and each asset's mean excess return over the last 60 months (at least 36 when less history exists); minimum variance if no asset has a positive expected excess return; monthly. From Apr 2005 to Oct 2026 it compounded at 9.3% a year after costs and tax (10.7% before tax), against 11.4% after tax for 60/40. Its worst fall was −41%, bottoming in Oct 2008 and recovered by May 2010.

Written for investors weighing this allocation against a plain 60/40, and advisers who want its tax and cost drag measured. Data to 5 Oct 2026.

How it works

One of 136 portfolios in the lab, in the family "Risk-based". The rule and its parameters were written down before any result was computed.

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.

Construction
Long-only maximum Sharpe ratio with the Ledoit-Wolf covariance and each asset's mean excess return over the last 60 months (at least 36 when less history exists); minimum variance if no asset has a positive expected excess return; monthly.
Rebalancing
A rule sets the weights at each month-end close; trades happen at the next session's close.
From the literature
Markowitz (1952); Ledoit and Wolf (2004); see DeMiguel et al. (2009) on its out-of-sample record.
Weights held, month-end, Apr 2005 to Oct 2026. No fixed target: the rule decides each month.
AssetTargetAverage heldLowestHighestLatest (Oct 2026)More
G-sec 5-year (NSE benchmark index)–38%0%94%0%
Nifty 500–32%0%100%23%
Gold (domestic, rupees)–29%0%77%77%

Growth and falls

What one rupee became, and how far it fell on the way. 60/40 is drawn in grey for comparison. Both curves are after fund costs and before tax; the after-tax figures are in the costs chapter.

Growth of 1 rupee

Weekly, shown month by month, Apr 2005 to Oct 2026. After costs, before tax. Log scale.

How to read it. On a log scale equal slopes are equal rates of return. One rupee became 8.89× here and 11.21× in 60/40; a steeper line in one stretch says which did better then.

Mean-variance (shrunk covariance)60/40
201020201×2×5×10×11.2×8.9×
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.

Fall from the previous peak

The lowest weekly reading of each month, per cent below the highest value reached so far.

How to read it. Zero means a new high. The deepest fall here was −41.3% (Oct 2008), against −36.5% for 60/40. Depth is half the story: the width of each dip is how long an investor waited to get back to even.

per cent

Mean-variance (shrunk covariance)60/40
20102020−50%−40%−30%−20%−10%0%−5%−10%
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.

The five deepest falls

Measured on daily values. Days are calendar days.
FallPeakBottomBack to peakDays fallingDays below peakMore
−41.3%9 Jan 200824 Oct 200812 May 2010289854
−16.3%10 May 200614 Jun 200610 Nov 200635184
−14.5%29 Jan 202623 Mar 2026not yet53249
−12.4%29 Jan 20157 Sept 20153 Oct 2016221613
−9.4%26 Nov 20127 Aug 20137 Mar 2014254466

Year by year

Calendar-year returns, after costs and before tax, with 60/40 below for comparison. In 8 of 20 full years this portfolio did better. The market phases below are the lab's pre-registered splits.

Per cent. * Part year: Apr 2005 on, and to Oct 2026.
2005*200620072008200920102011201220132014201520162017201820192020202120222023202420252026*
Mean-variance (shrunk covariance) +18+17+51−30+41+15+6+10+1+13−3+10+13+2+10+13+6+6+14+11+29+2
60/40 +24+22+40−27+51+10−15+23+5+29+4+8+24+1+9+15+20+3+19+13+8−3
Annualised return and worst fall in each phase, after costs, before tax.
PhaseDatesA year60/40, a yearWorst fall60/40, worst fallMore
The boom, FY06 to FY08Apr 2005 to Mar 200820.4%20.9%−21%−22%
The crisis, FY09Apr 2008 to Mar 2009−8.8%−14.6%−32%−27%
FY10 to FY14Apr 2009 to Mar 201412.7%14.4%−9%−17%
FY15 to FY20 (to March 2020)Apr 2014 to Mar 20206.8%7.9%−12%−23%
April 2020 onApr 2020 to Oct 202612.1%14.6%−14%−11%

What costs and tax took

The same Apr 2005 to Oct 2026 run, peeled back one layer at a time. Fund costs are those of the cheapest widely available index fund or ETF of each era; tax applies Indian capital-gains rules as they stood on each sale date, and everything is sold at the end so deferred tax is counted. Turnover was 0.80 times the portfolio a year.

Annualised return (CAGR) at each layer, and what that layer cost in percentage points a year.
LayerMean-variance (shrunk covariance)Cost of this layer (pts)60/40More
Index return, before any cost11.57%–12.48%
After fund costs and trading (before tax)10.68%0.8911.89%
After tax, 30% slab9.32%1.3611.41%
After tax and inflation2.70%6.624.67%
After-tax CAGR under other tax assumptions. The headline keeps the annual equity exemption off because it depends on the investor's other gains.
Tax caseMean-variance (shrunk covariance)60/40
30% slab, equity exemption off (the headline)9.32%11.41%
30% slab, equity exemption on (Rs 10 lakh start)9.37%11.44%
20% slab9.60%11.42%

How sure we can be

One 21-year history is one draw. These numbers say how much the result could move with a different ordering of the same months, and how it looks once the 136 portfolios tried are taken into account.

Return, 90% interval
7.3% to 14.3% a year before tax (block bootstrap of monthly returns; the point estimate is 10.7%).
Against 60/40, 90% interval
−4.6 pts to +2.3 pts a year. The interval straddles zero: the history cannot tell this portfolio and 60/40 apart.
Five-year windows ahead of 60/40
27% of rolling five-year windows. The windows overlap: only about 4 of them are independent, so this is a description of the past, not a probability.
Longest stretch behind 60/40
5,429 days
Deflated Sharpe against 60/40
0.00. This is the probability that its edge over 60/40 is real once 136 tries are allowed for; 0.95 would be the usual bar.
Worst five years after inflation
−4.2% a year
Rolling five-year return
Lowest 5.2%, middle half 6.7% to 11.7%, highest 16.6% a year (before tax).

As a monthly SIP

Rs 10,000 a month, bought at the first session of each month, held for a fixed number of years and then sold, after costs and tax (with the annual equity exemption on). Each start month is one window. Windows that start a month apart share almost all their months, so the number of independent periods is printed next to every figure.

10-year SIP: after-tax return by start month

XIRR of each 10-year SIP, by the month it started (139 windows). Grey: the same instalments in one-year fixed deposits, taxed each year. FD proxy: 364-day T-bill primary yield (91-day before April 2005), after slab tax and cess each year.

How to read it. Each point is a whole 10-year SIP. Neighbouring points share most of their months, so the line is far smoother than the evidence is deep. The best start was Mar 2016 (11.5%), the worst Jul 2012 (5.5%).

per cent a year, after tax

Mean-variance (shrunk covariance) SIPFixed-deposit SIP
201020154%6%8%10%12%9.7%4.1%
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.

The latest 10-year SIP in the data started in Oct 2016. It put in ₹12,00,000 and was worth ₹19,83,955 after tax at the end, against ₹14,81,288 for the same instalments in fixed deposits.

After-tax XIRR across start months, per cent a year. 'Below FD' and 'below inflation' are shares of overlapping windows, not probabilities.
YearsWindowsIndependent periods5th pctMedian95th pctWorstWorst startBelow FDBelow inflationMedian valueMore
322372.2%7.2%15.8%−5.0%2005-1119%33%₹4,01,436
519944.2%7.2%13.7%3.3%2011-0311%24%₹7,18,745
717535.2%6.6%11.8%4.6%2011-077%21%₹10,63,325
1013925.8%6.9%10.3%5.5%2012-070%12%₹17,15,497
157916.4%7.1%9.0%6.2%2007-100%0%₹31,59,687
201917.9%8.5%9.1%7.8%2005-040%0%₹61,04,132

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