Everyone has an opinion about SIPs.
Talk to ten different investors and you’ll probably get ten different pieces of advice.
But the most common advice we hear is “Just start your SIP and forget about it.”
And that seems to be one of the main reasons mutual funds have grown so popular over the years.
But how true is it, really?
Every investor must have wondered at some point if it is better to stay loyal to one mutual fund or keep chasing the best performer each year.
It sounds tempting to just pick last year’s winner and ride its momentum.
After all, if it topped the charts once, maybe it will do well again. But is this actually a smarter way to invest over the long term?
Let's find out.
To find out, we ran a 10-year simulation (Jan 2015 to Dec 2024) comparing a “switch every year” strategy against a simple, stay-put SIP strategy.
Let's take two investors, who both started investing in January 2015 with the same SIP amount: invest Rs 10,000 every month via SIP.
1) Investor 1: the consistent SIP investor
This person chooses a single mutual fund. They pick a mutual fund that gave the highest 1-year returns when they were starting out. They stick with it for the entire 10-year period. They invest Rs 10,000 every single month, no matter what is happening in the markets.
This will be the classic “set it and forget it” SIP approach.
2) Investor 2: the performance chaser
This investor keeps track of the mutual fund with the highest 1-year returns in the previous calendar year.
Every December, they check which mutual fund performed the best that year, and from January, they stop their existing SIP and start a new SIP into that new best-performing mutual fund. The idea is to always invest in the highest performer of the previous year.
They don’t withdraw money from the funds where they stopped their SIPs — those stay invested.
The only thing that changes is where the fresh SIP money goes each year.
To see which approach actually works better, a fair comparison is crucial.
A 10-year period is long enough to cover bull runs, market crashes, recoveries, and the real ups and downs that SIP investors actually face.
Both investors put in the exact same amount of money — Rs 10,000 every single month.
Over ten years, that adds up to Rs 12,00,000 total.
This makes sure there was no bias in terms of the money invested. The only difference was the strategy of investing through SIPs.
For this study, actual monthly NAV data for every single fund on the 1st of that month was used.
At the end of ten years, the total number of units each investor had accumulated was multiplied by the NAV as of December 2024.
This gives us a precise, side-by-side comparison of their portfolio values.
Results
Here’s what the numbers looked like at the end of 10 years:
--- FINAL RESULTS (Flexi Cap Mutual Funds) ---
--- FINAL PORTFOLIO SUMMARY (Switch Every Year) ---
Total Amount Invested: Rs 12,00,000.00
Final Portfolio Value: Rs 32,14,284.22
Gain: Rs 20,14,284.22
--- FINAL PORTFOLIO SUMMARY (Stay in First Fund Entire Time) ---
Total Amount Invested: Rs 12,00,000.00
Final Portfolio Value: Rs 39,59,002.43
Gain: Rs 27,59,002.43
The stay-in-one-fund approach generated Rs 7.45 lakh more than the switching strategy — a difference of 23% higher returns over the same period.
And here’s how it played out for large-cap funds:
--- FINAL RESULTS (Large Cap Funds) ---
--- FINAL PORTFOLIO SUMMARY (Switch Every Year) ---
Total Amount Invested: Rs 12,00,000.00
Final Portfolio Value: Rs 25,56,965.34
Gain: Rs 13,56,965.34
--- FINAL PORTFOLIO SUMMARY (Stay in First Fund Entire Time) ---
Total Amount Invested: Rs 12,00,000.00
Final Portfolio Value: Rs 29,78,753.91
Gain: Rs 17,78,753.91
Here too, the investor 2 (stay-in-one-fund approach) generated Rs 4,21,788.57 more in gains — about 16% higher wealth compared to switching every year.
At first, this might seem surprising. Chasing last year’s winner feels like the smart, result-driven thing to do.
After all, if a fund has just topped the charts, it makes sense to assume it might keep performing well.
But in reality, it’s very difficult to know whether that outperformance will continue.
When we looked at the top-performing fund of each year over the last decade, we found that, in most years, the mutual fund that gave the highest return in the previous year did not remain the highest in the following year.
It’s also important to remember that markets move in cycles. Since no one can really tell which fund will perform best in the coming year, simply picking the fund that topped last year can be risky.
Switching your SIP after such a strong year often means you are buying when the fund has already had its best run. Most of the fresh SIP money goes into last year’s top performer — usually after its NAV has already shot up.
How SIPs work is when you keep buying during weak years (you accumulate more units cheaply) and hold them when they give higher returns.
The switching rule often makes you do the opposite: buy after strength and stop adding before weakness turns to strength.
Over time, this pattern means buying more at higher prices and missing the chance to accumulate cheaper units during down phases. This makes it hard to build a dependable strategy around chasing winners. You simply cannot assume that the best fund this year will still be the best next year.
Note: This exercise was done just to test the idea. With enough research and constant tracking, it may be possible to build a switching strategy that does better than a simple SIP. But that needs a lot of effort, expertise, research, and discipline — which takes away the easy, “set it and forget it” benefit of SIP investing.
Staying with one fund is also a bet on its long-term quality. If that fund performs poorly for three or four years in a row, Investor A will feel it more than Investor B, whose money is spread across many funds. This is the trade-off — staying put lets you enjoy the full effect of compounding but also ties your results to one fund’s performance.
For most investors, though, who don’t have the time or expertise to track funds every year and switch with discipline, staying invested in one good-quality fund is usually the simpler and more rewarding choice.
Here is the python program we used for this simulation. You can change the parameters as per your needs:
monthly_sip_amount = 10000.0
total_months = 120 # Jan 2015 to Dec 2024
# 1) LIST OF TOP FUNDS (2014 to 2024)
top_funds = [
"Nippon India Large Cap Fund(G)", # 2014
"SBI BlueChip Fund-Reg(G)", # 2015
"HDFC Large Cap Fund(G)", # 2016
"Mirae Asset Large Cap Fund-Reg(G)",# 2017
"Axis Bluechip Fund-Reg(G)", # 2018
"Axis Bluechip Fund-Reg(G)", # 2019
"Canara Rob Bluechip Equity Fund-Reg(G)", # 2020
"Franklin India Bluechip Fund(G)", # 2021
"Nippon India Large Cap Fund(G)", # 2022
"Nippon India Large Cap Fund(G)", # 2023
"DSP Top 100 Equity Fund-Reg(G)" # 2024
]
# 2) NAV DATA (Jan 2015 → Dec 2024)
nav_data = {
"Nippon India Large Cap Fund(G)": [23.3396, 24.7652, 25.4481, 24.6092, 23.9233, 24.1573, 24.2772, 24.9396, 23.0598, 23.0176, 23.554, 23.6549, 23.6664, 21.847, 20.5211, 22.2396, 22.1124, 22.8973, 23.9077, 24.7559, 25.6945, 25.9384, 25.6638, 24.2683, 24.0961, 25.7638, 26.8387, 27.919, 28.4268, 29.0518, 29.5797, 30.8988, 30.449, 30.1668, 32.3051, 32.0443, 33.166, 34.1956, 32.4409, 31.0157, 32.6568, 31.7974, 31.3476, 33.4145, 34.9314, 32.6736, 32.2376, 32.8536, 33.4615, 32.9227, 32.8465, 35.6798, 35.2143, 36.6048, 35.9832, 32.6758, 31.068, 33.1809, 35.1126, 35.2953, 35.6858, 34.1539, 32.4, 23.2847, 25.7606, 26.7905, 28.2203, 29.1296, 31.6164, 29.9999, 30.576, 34.7773, 37.6344, 38.9301, 41.5338, 41.1314, 40.4162, 43.5081, 44.0943, 45.3261, 48.248, 50.005, 51.496, 49.2241, 50.2717, 51.1395, 47.5292, 51.3768, 49.7345, 48.7021, 46.9814, 52.1271, 53.3969, 52.1478, 55.4913, 57.0189, 55.4536, 54.3943, 54.0989, 54.1156, 56.8361, 59.0016, 62.0641, 64.5949, 65.03, 65.7032, 63.5904, 67.9274, 73.0433, 73.9016, 77.4627, 79.0111, 80.9278, 83.6755, 86.5806, 89.6712, 89.9005, 91.5599, 86.2559, 87.5339],
"SBI BlueChip Fund-Reg(G)": [26.3727, 27.9849, 28.9439, 28.7025, 27.8273, 28.1687, 28.7171, 29.4024, 27.2988, 27.8575, 28.2484, 28.2421, 28.5397, 27.4077, 26.0712, 27.8246, 28.7182, 29.7464, 30.3748, 31.9515, 32.1447, 32.7304, 32.4046, 30.3223, 29.931, 31.7816, 32.508, 33.7285, 34.4723, 35.117, 35.2205, 36.8582, 36.7499, 36.1092, 37.7597, 37.4724, 38.6218, 39.3505, 37.7447, 37.7016, 39.1074, 38.3111, 37.2928, 39.2606, 39.9308, 36.8138, 35.6969, 37.0022, 37.3135, 36.5209, 36.5161, 39.3546, 39.318, 41.1699, 40.7433, 37.7969, 37.1966, 39.5741, 41.2622, 41.2372, 41.5936, 40.517, 38.5546, 28.6937, 32.1082, 33.9595, 35.7372, 37.2783, 39.3269, 38.8041, 39.8591, 45.6071, 48.5691, 49.7748, 52.6223, 52.3649, 51.1905, 54.2467, 54.9398, 56.8322, 59.5985, 61.3505, 62.8558, 60.2161, 61.7503, 61.2106, 57.5355, 60.752, 59.2581, 57.7536, 55.7778, 61.0277, 62.2819, 59.9661, 64.0818, 65.7815, 63.8927, 62.8009, 62.3665, 61.9583, 65.0357, 67.0247, 70.1753, 71.4959, 70.8217, 71.4771, 69.2876, 73.6169, 77.9169, 77.2102, 78.4713, 80.5753, 81.2264, 84.4289, 88.2611, 91.0655, 91.9034, 94.842, 89.1351, 89.9542],
"HDFC Large Cap Fund(G)": [423.517610600046, 441.246802339595, 443.288657789989, 424.615184550859, 417.0229160263, 420.036032447693, 419.061092457865, 431.900868172956, 388.889459036815, 395.534993382572, 402.857467192965, 405.680500974831, 399.810013262497, 364.145604728945, 343.236514381065, 379.461360116316, 387.268238072598, 404.830647625208, 418.598762424953, 438.817423572489, 449.844669344228, 456.616516669799, 457.072715004662, 436.401534541092, 431.439764479654, 467.185111427455, 478.885617644999, 497.193641680395, 507.179725123374, 515.321393793144, 514.838215986865, 544.034909418087, 531.430590908086, 522.516328284113, 569.363727719853, 551.168526928563, 565.321712365799, 588.261621107585, 549.35722332482, 529.593534172536, 548.896119631517, 543.747945949382, 532.11120939155, 569.192040174475, 593.980042708299, 568.475857842324, 553.868926749444, 563.650211477579, 572.991240285779, 569.296279041311, 565.907902699306, 618.900489919986, 613.592892088571, 638.292598170487, 633.950129612021, 578.941440072753, 556.106996537414, 577.495585672744, 610.134614388805, 612.8865204733, 615.374763541678, 576.351410816757, 543.178924370414, 407.695376953809, 453.603400248407, 473.763197094671, 501.462529862271, 516.487642762108, 545.393693705796, 524.77401950584, 536.941761114735, 608.718192139432, 652.878681489999, 681.495316285764, 726.688383587821, 713.245248784686, 699.659858586808, 758.54623397241, 764.620294059979, 775.333596891597, 809.510455478404, 846.304322792624, 866.706934881638, 826.1494313048, 848.49701801503, 862.30192300307, 811.880969944237, 864.708001317589, 844.390006661654, 828.020825549425, 795.603764302747, 869.64769726605, 886.065931962673, 853.447751019979, 920.571449564919, 953.006905905745, 930.010585541907, 908.359559730069, 905.821036737687, 906.767770916489, 944.612611276347, 962.737910709876, 1013.13801599534, 1050.53524239761, 1041.51060920875, 1061.84086726078, 1033.12612529623, 1120.61074038345, 1201.98695787402, 1218.79271588735, 1259.53417040567, 1267.92110699741, 1285.85387111219, 1333.16482692045, 1362.55282933081, 1424.49892204298, 1439.7705292044, 1468.0560523055, 1361.81825190451, 1374.39191192427],
"Mirae Asset Large Cap Fund-Reg(G)": [31.146, 32.919, 33.595, 32.868, 31.852, 32.465, 32.817, 33.98, 31.255, 32.096, 32.176, 32.199, 32.48, 30.424, 28.748, 31.041, 31.773, 33.094, 34.071, 35.994, 36.696, 37.155, 37.412, 35.184, 35.001, 37.63, 38.673, 40.113, 40.979, 42.304, 42.684, 44.858, 44.918, 44.537, 47.275, 46.286, 48.039, 49.565, 46.729, 45.375, 47.232, 46.709, 46.224, 49.005, 50.67, 47.747, 46.339, 48.15, 48.252, 48.084, 47.96, 51.346, 51.235, 52.976, 52.429, 48.979, 48.256, 50.288, 53.279, 53.834, 54.303, 52.338, 50.438, 37.536, 41.843, 44.053, 46.743, 49.191, 52.201, 52.018, 52.687, 58.216, 61.929, 63.547, 65.911, 66.064, 65.171, 69.123, 71.232, 72.941, 77.379, 79.025, 80.961, 77.526, 80.063, 79.192, 74.072, 78.21, 75.91, 74.026, 71.141, 77.351, 78.379, 76.123, 80.628, 83.262, 80.542, 77.983, 77.429, 76.955, 79.563, 81.452, 85.185, 87.35, 87.232, 87.479, 84.335, 90.194, 94.832, 94.889, 96.727, 97.174, 98.723, 101.751, 107.034, 111.141, 112.86, 115.536, 107.41, 109.463],
"Axis Bluechip Fund-Reg(G)": [19.32, 20.02, 20.29, 19.69, 18.98, 19.26, 19.54, 19.97, 18.32, 18.81, 18.96, 18.94, 19.14, 18.1, 17.19, 18.18, 18.74, 19.36, 19.65, 20.16, 20.72, 20.76, 20.29, 18.76, 18.39, 19.73, 20.13, 21.04, 21.8, 22.3, 22.46, 23.71, 23.91, 23.83, 24.7, 24.33, 25.16, 25.69, 24.87, 25.09, 26.34, 26.7, 27.11, 28.68, 28.5, 26.51, 25.2, 26.86, 27.09, 27.0, 26.87, 28.39, 28.73, 30.15, 30.12, 28.6, 28.57, 30.93, 31.45, 31.58, 32.03, 32.07, 31.53, 25.08, 26.92, 27.62, 28.82, 29.85, 31.1, 31.14, 32.05, 35.75, 38.42, 38.04, 38.73, 39.13, 38.84, 40.92, 41.79, 42.65, 46.14, 46.53, 47.67, 45.88, 47.01, 45.64, 43.22, 45.22, 42.92, 41.02, 39.18, 43.53, 44.33, 42.81, 44.77, 45.28, 43.77, 42.09, 41.91, 41.67, 43.02, 44.1, 45.99, 46.67, 46.09, 46.52, 45.38, 48.15, 51.23, 51.1, 53.32, 54.97, 55.25, 56.24, 58.76, 60.03, 61.39, 62.87, 57.83, 59.2],
"Canara Rob Bluechip Equity Fund-Reg(G)": [17.06, 18.11, 18.7, 18.1, 17.47, 17.6, 17.68, 18.3, 16.67, 17.13, 17.15, 16.98, 17.06, 16.16, 15.27, 16.5, 16.72, 17.2, 17.62, 18.52, 19.06, 19.26, 19.12, 17.57, 17.36, 18.83, 19.19, 19.92, 20.49, 20.86, 20.8, 21.91, 21.81, 21.52, 22.32, 21.86, 22.54, 23.41, 22.49, 22.22, 23.16, 23.13, 23.07, 24.63, 24.9, 23.44, 22.49, 23.37, 23.54, 23.55, 23.24, 24.81, 24.78, 25.77, 25.64, 23.99, 23.74, 25.45, 26.49, 26.81, 27.22, 27.18, 26.62, 20.79, 23.13, 24.17, 25.33, 26.41, 27.62, 27.59, 28.24, 31.29, 33.5, 34.14, 35.12, 35.54, 35.1, 37.02, 37.91, 38.83, 41.27, 41.69, 42.79, 41.07, 42.22, 41.94, 39.35, 41.12, 39.64, 38.59, 36.95, 40.49, 41.17, 39.83, 42.55, 43.46, 42.13, 41.09, 40.89, 40.73, 42.23, 43.43, 45.57, 46.48, 46.07, 46.39, 45.14, 48.1, 51.25, 51.61, 53.53, 54.44, 55.12, 57.25, 59.69, 61.61, 62.7, 64.19, 60.24, 61.46],
"Franklin India Bluechip Fund(G)": [812.761912462612, 857.371023529412, 881.046735194417, 861.724612163509, 838.133578265204, 863.635019341974, 862.618886141575, 882.904608574277, 816.005574675972, 833.569134795613, 847.479317048853, 837.81813559322, 829.496446061815, 795.972686141575, 764.348538783649, 822.846242871386, 837.351088534397, 872.346274576271, 898.303488334995, 923.624539381854, 937.915411764706, 932.89519561316, 928.62244666002, 888.427134197408, 881.09495114656, 936.661317248255, 963.432445064806, 983.851061216351, 999.906973280159, 1020.7945555334, 1014.81121974078, 1070.59203888335, 1052.08862751745, 1039.84513399801, 1102.95717666999, 1071.49087058824, 1105.14128733799, 1144.92616450648, 1080.08266540379, 1049.82727537388, 1086.81826600199, 1080.58665403789, 1067.88450927218, 1112.40846281157, 1158.23592622134, 1085.6222225324, 1033.49646041874, 1063.92144586241, 1074.04343748754, 1063.40402392822, 1067.59281475573, 1136.15397966102, 1123.19996051844, 1146.2639772682, 1124.14317008973, 1029.76919940179, 998.024632103689, 1049.39645024925, 1102.68563210369, 1137.53617028913, 1130.3750219342, 1100.78673918245, 1037.79727537388, 782.03012003988, 873.410383848455, 928.625325224327, 987.879611964108, 991.26528334995, 1054.41978484546, 1012.19340538385, 1072.12199581256, 1215.67144007976, 1287.46235413759, 1370.96734576271, 1460.83588354935, 1450.07005304088, 1442.40539581256, 1552.71917647059, 1564.46275932203, 1602.3784887338, 1663.86342293121, 1703.77927477567, 1766.81479561316, 1682.79406121635, 1723.27387178465, 1706.51726919242, 1585.20017647059, 1654.78994835494, 1598.91365682951, 1576.99386939182, 1513.75924785643, 1637.63898245264, 1660.86108035892, 1594.5221670987, 1673.68268554337, 1737.04036570289, 1675.38127836491, 1638.02063210369, 1620.69191485543, 1619.06816470588, 1676.24628693918, 1712.22258364905, 1792.29368793619, 1834.18087657029, 1829.5264779661, 1828.56887557328, 1783.89163848455, 1904.0289996012, 2025.99400917248, 2056.09659541376, 2117.30254875374, 2129.20877048853, 2138.70011665005, 2190.28830687936, 2330.2501004985, 2415.87779341974, 2458.50381355932, 2533.08429631107, 2355.31591884347, 2407.66452981057],
"DSP Top 100 Equity Fund-Reg(G)": [156.692, 167.746, 171.691, 162.885, 155.688, 157.435, 158.683, 164.065, 149.32, 152.309, 153.091, 153.701, 153.629, 143.232, 135.584, 146.301, 150.515, 154.445, 159.869, 170.861, 174.992, 176.772, 176.507, 163.243, 160.625, 174.454, 174.187, 179.646, 183.951, 186.978, 186.436, 198.638, 197.572, 194.072, 200.322, 194.134, 200.682, 207.343, 198.12, 196.159, 202.957, 201.048, 197.468, 210.931, 212.149, 192.61, 184.158, 197.446, 197.704, 190.688, 190.996, 207.209, 207.906, 217.068, 213.471, 195.052, 190.557, 209.522, 221.397, 223.265, 225.868, 220.428, 209.446, 149.313, 167.092, 176.17, 185.793, 194.536, 199.687, 201.197, 206.204, 228.254, 243.367, 248.235, 250.816, 255.499, 254.039, 268.064, 274.491, 285.072, 298.551, 299.005, 299.113, 284.583, 294.388, 291.34, 268.018, 281.196, 271.648, 268.192, 257.958, 284.786, 288.75, 281.267, 300.449, 304.88, 295.855, 289.942, 289.209, 286.784, 297.786, 308.091, 321.529, 335.418, 334.623, 335.135, 327.495, 355.689, 373.826, 375.175, 390.463, 392.752, 407.047, 416.169, 438.883, 461.876, 469.396, 480.41, 457.777, 457.95],
}
# 3) STATE TRACKERS
units_held = {fund: 0.0 for fund in set(top_funds)}
# 4) LOOP OVER MONTHS - SWITCH EVERY YEAR STRATEGY
month_counter = 0
while month_counter < total_months:
current_year_index = month_counter // 12 # 0->2015, 1->2016, ...
fund_for_this_month = top_funds[current_year_index]
nav_index = month_counter
nav_for_this_month = nav_data[fund_for_this_month][nav_index]
units_bought = monthly_sip_amount / nav_for_this_month
units_held[fund_for_this_month] += units_bought
month_counter += 1
# 5) FINAL VALUATION FOR SWITCH STRATEGY
final_value_switch = 0.0
print("--- PER-FUND VALUE (Switch Every Year Strategy) ---")
for fund in units_held:
end_nav = nav_data[fund][119]
value = units_held[fund] * end_nav
final_value_switch += value
if units_held[fund] > 0:
print(f"Final value in {fund}: ₹{value:,.2f} (units={units_held[fund]:.6f}, NAV={end_nav:.4f})")
total_invested = monthly_sip_amount * total_months
print("\n--- FINAL PORTFOLIO SUMMARY (Switch Every Year) ---")
print(f"Total Amount Invested: ₹{total_invested:,.2f}")
print(f"Final Portfolio Value: ₹{final_value_switch:,.2f}")
print(f"Gain: ₹{final_value_switch - total_invested:,.2f}")
print(f"Multiple: {final_value_switch / total_invested:.4f}x")
years = total_months / 12
cagr_switch = ((final_value_switch / total_invested) ** (1 / years)) - 1
print(f"CAGR: {cagr_switch*100:.2f}%")
# 6) SECOND SCENARIO: STAY IN FIRST FUND ENTIRE TIME
first_fund = top_funds[0]
units_first_fund = 0.0
for m in range(total_months):
nav_for_month = nav_data[first_fund][m]
units_first_fund += monthly_sip_amount / nav_for_month
final_value_first = units_first_fund * nav_data[first_fund][119]
print("\n--- FINAL PORTFOLIO SUMMARY (Stay in First Fund Entire Time) ---")
print(f"Total Amount Invested: ₹{total_invested:,.2f}")
print(f"Final Portfolio Value: ₹{final_value_first:,.2f}")
print(f"Gain: ₹{final_value_first - total_invested:,.2f}")
print(f"Multiple: {final_value_first / total_invested:.4f}x")
cagr_first = ((final_value_first / total_invested) ** (1 / years)) - 1
print(f"CAGR: {cagr_first*100:.2f}%")