{"id":9292,"date":"2026-10-19T20:20:19","date_gmt":"2026-10-19T14:50:19","guid":{"rendered":"https:\/\/niveshsankalp.com\/?page_id=9292"},"modified":"2026-10-24T16:13:30","modified_gmt":"2026-10-24T10:43:30","slug":"compare-mutual-funds","status":"publish","type":"page","link":"https:\/\/niveshsankalp.com\/hi\/compare-mutual-funds\/","title":{"rendered":"Compare Mutual Funds"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><strong>Compare Mutual Funds across categories &amp; AMCs<\/strong><\/h1>\n\n\n<div class=\"nmf-wrap\" id=\"nmf-compare-root\">\n<style>\n.nmf-wrap{--nmf-accent:#0f5c5c;--nmf-gold:#c8963c;max-width:1000px;margin:0 auto;font-family:inherit;color:inherit}\n.nmf-wrap *{box-sizing:border-box}\n.nmf-searchbox{position:relative}\n.nmf-searchbox input{width:100%;padding:14px 16px;font-size:16px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#1f2937}\n.nmf-list{position:absolute;left:0;right:0;top:100%;z-index:50;background:#fff;color:#1f2937;border:1px solid #cbd5e1;border-radius:10px;margin-top:4px;box-shadow:0 8px 24px rgba(0,0,0,.12);display:none;max-height:340px;overflow:auto}\n.nmf-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid #f1f5f9}\n.nmf-item:last-child{border-bottom:0}\n.nmf-item:hover{background:#f0f7f7}\n.nmf-sub{display:block;font-size:13px;color:#64748b;margin-top:2px}\n.nmf-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}\n.nmf-chip{background:#e6f2f2;color:var(--nmf-accent);border-radius:999px;padding:6px 8px 6px 14px;font-size:14px;display:inline-flex;align-items:center;gap:8px}\n.nmf-chip button{border:0;background:var(--nmf-accent);color:#fff;border-radius:50%;width:20px;height:20px;line-height:20px;padding:0;cursor:pointer;font-size:13px}\n.nmf-msg{margin:10px 0;padding:10px 14px;border-radius:8px;background:#fff7e6;color:#7a4b00;font-size:14px;display:none}\n.nmf-hint{color:#64748b;font-size:15px;margin:10px 0}\n.nmf-scroll{overflow-x:auto;margin-top:10px}\n.nmf-table{width:100%;border-collapse:collapse;min-width:560px;background:#fff;color:#1f2937}\n.nmf-table th,.nmf-table td{padding:11px 12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top;font-size:15px}\n.nmf-table thead th{background:var(--nmf-accent);color:#fff;font-weight:600}\n.nmf-table tbody th{font-weight:600;color:#475569;background:#f8fafc;white-space:nowrap}\n.nmf-pos{color:#15803d}.nmf-neg{color:#b91c1c}\n.nmf-best{font-weight:700;background:#e6f2f2}\n.nmf-sec th{background:#eef2f7!important;color:#0f172a!important;font-size:13px;text-transform:uppercase;letter-spacing:.04em}\n.nmf-disc{margin-top:16px;font-size:13px;color:#64748b;line-height:1.5}\n.nmf-plans{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.nmf-plannote{font-size:13px;color:#64748b;margin:0 0 12px;line-height:1.5}\n.nmf-chartbox{margin-top:28px}.nmf-charthead{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.nmf-charthead h3{margin:0;font-size:20px;text-transform:none}.nmf-periods{display:flex;gap:6px}.nmf-pbtn{border:1px solid #cbd5e1;background:#fff;color:#1f2937;border-radius:999px;padding:6px 14px;cursor:pointer;font-size:14px}.nmf-pbtn.active{background:var(--nmf-accent);border-color:var(--nmf-accent);color:#fff}.nmf-chartwrap{position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:8px;margin-top:10px}.nmf-tip{position:absolute;top:8px;left:0;pointer-events:none;background:#0f172a;color:#fff;border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.5;display:none;z-index:5;white-space:nowrap}.nmf-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:14px}.nmf-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}\n<\/style>\n<div class=\"nmf-plans\" id=\"nmf-plans\"><button type=\"button\" class=\"nmf-pbtn active\" data-plan=\"Regular\">Regular Plan<\/button><button type=\"button\" class=\"nmf-pbtn\" data-plan=\"Direct\">Direct Plan<\/button><\/div>\n<p class=\"nmf-plannote\" id=\"nmf-plannote\"><\/p>\n<div class=\"nmf-searchbox\">\n<input type=\"text\" id=\"nmf-input\" placeholder=\"Search a mutual fund to compare (e.g. small cap, flexi cap, fund house name)\" autocomplete=\"off\">\n<div class=\"nmf-list\" id=\"nmf-list\"><\/div>\n<\/div>\n<div class=\"nmf-chips\" id=\"nmf-chips\"><\/div>\n<div class=\"nmf-msg\" id=\"nmf-msg\"><\/div>\n<div id=\"nmf-out\"><p class=\"nmf-hint\">Select at least 2 funds (up to 4) to compare them side by side.<\/p><\/div>\n<p class=\"nmf-disc\">Showing <span id=\"nmf-planlabel\">Regular<\/span> Plan - Growth Option. Returns up to 1 year are absolute; returns for 3 years or longer are annualised (CAGR). Since launch means since the first NAV available on this site (April 2006 for Regular plans, generally January 2013 for Direct plans, or the fund&rsquo;s launch if later); see the Data since row, and note that funds with different start dates are not directly comparable. The chart&rsquo;s Max button covers the longest period that all the selected funds share. SIP returns assume one instalment a month on the 1st (or the next day with a NAV) and are annualised (XIRR). Data source: AMFI. NAV data as of <span id=\"nmf-asof\">27 Oct 2026<\/span>. Mutual fund investments are subject to market risks. Read all scheme related documents carefully. Past performance may or may not be sustained in the future.<\/p>\n<script>\n(function () {\n\tvar SEARCH = 'https:\/\/niveshsankalp.com\/hi\/wp-json\/nivesh\/v1\/search';\n\tvar COMPARE = 'https:\/\/niveshsankalp.com\/hi\/wp-json\/nivesh\/v2\/compare';\n\tvar NAV = 'https:\/\/niveshsankalp.com\/hi\/wp-json\/nivesh\/v2\/nav';\n\tvar chartYears = 3, chartToken = 0;\n\tvar PLAN = (new URLSearchParams(location.search).get('plan') === 'Direct') ? 'Direct' : 'Regular';\n\tvar COLORS = ['#0f5c5c', '#c8963c', '#6366f1', '#dc2626'];\n\tvar MAX = 4;\n\tvar selected = [];\n\tvar input = document.getElementById('nmf-input');\n\tvar list  = document.getElementById('nmf-list');\n\tvar chips = document.getElementById('nmf-chips');\n\tvar msg   = document.getElementById('nmf-msg');\n\tvar out   = document.getElementById('nmf-out');\n\tvar timer = null;\n\n\tfunction withParam(u, k, v) { return u + (u.indexOf('?') > -1 ? '&' : '?') + k + '=' + encodeURIComponent(v); }\n\tfunction el(tag, cls, text) {\n\t\tvar e = document.createElement(tag);\n\t\tif (cls) { e.className = cls; }\n\t\tif (text !== undefined) { e.textContent = text; }\n\t\treturn e;\n\t}\n\tfunction showMsg(t) { msg.textContent = t; msg.style.display = t ? 'block' : 'none'; }\n\n\tinput.addEventListener('input', function () {\n\t\tclearTimeout(timer);\n\t\tvar v = input.value.trim();\n\t\tif (v.length < 2) { list.textContent = ''; list.style.display = 'none'; return; }\n\t\ttimer = setTimeout(function () { search(v); }, 250);\n\t});\n\tdocument.addEventListener('click', function (e) {\n\t\tif (!e.target.closest('.nmf-searchbox')) { list.style.display = 'none'; }\n\t});\n\n\tfunction search(v) {\n\t\tfetch(withParam(withParam(SEARCH, 'q', v), 'plan', PLAN)).then(function (r) { return r.json(); }).then(function (res) {\n\t\t\tlist.textContent = '';\n\t\t\tif (!res.length) { list.appendChild(el('div', 'nmf-item', 'No matching funds found')); }\n\t\t\tres.forEach(function (f) {\n\t\t\t\tvar d = el('div', 'nmf-item');\n\t\t\t\td.appendChild(el('strong', '', f.name));\n\t\t\t\td.appendChild(el('span', 'nmf-sub', f.category + ' | ' + f.amc));\n\t\t\t\td.addEventListener('click', function () { add(f); });\n\t\t\t\tlist.appendChild(d);\n\t\t\t});\n\t\t\tlist.style.display = 'block';\n\t\t}).catch(function () {\n\t\t\tlist.textContent = '';\n\t\t\tlist.appendChild(el('div', 'nmf-item', 'Search is unavailable right now. Please try again.'));\n\t\t\tlist.style.display = 'block';\n\t\t});\n\t}\n\n\tfunction add(f) {\n\t\tlist.style.display = 'none';\n\t\tinput.value = '';\n\t\tif (selected.some(function (s) { return s.id === f.id; })) { showMsg('This fund is already selected.'); return; }\n\t\tif (selected.length >= MAX) { showMsg('You can compare up to ' + MAX + ' funds at a time.'); return; }\n\t\tshowMsg('');\n\t\tselected.push({ id: f.id, name: f.name, category: f.category });\n\t\trender(false);\n\t}\n\tfunction removeFund(id) {\n\t\tselected = selected.filter(function (s) { return s.id !== id; });\n\t\tshowMsg('');\n\t\trender(false);\n\t}\n\n\tfunction render(skipLoad) {\n\t\tchips.textContent = '';\n\t\tselected.forEach(function (s) {\n\t\t\tvar c = el('span', 'nmf-chip');\n\t\t\tc.appendChild(el('span', '', s.name));\n\t\t\tvar b = el('button', '', 'x');\n\t\t\tb.type = 'button';\n\t\t\tb.setAttribute('aria-label', 'Remove ' + s.name);\n\t\t\tb.addEventListener('click', function () { removeFund(s.id); });\n\t\t\tc.appendChild(b);\n\t\t\tchips.appendChild(c);\n\t\t});\n\t\tvar ids = selected.map(function (s) { return s.id; }).join(',');\n\t\ttry {\n\t\t\tvar sp = new URLSearchParams(location.search);\n\t\t\tif (ids) { sp.set('ids', ids); sp.set('plan', PLAN); } else { sp.delete('ids'); sp.delete('plan'); }\n\t\t\tvar qs = sp.toString().replace(\/%2C\/gi, ',');\n\t\t\thistory.replaceState(null, '', location.pathname + (qs ? '?' + qs : ''));\n\t\t} catch (e) {}\n\t\tif (skipLoad) { return; }\n\t\tif (selected.length < 2) {\n\t\t\tout.textContent = '';\n\t\t\tout.appendChild(el('p', 'nmf-hint', selected.length === 1 ? 'Add at least one more fund to compare.' : 'Select at least 2 funds (up to 4) to compare them side by side.'));\n\t\t\treturn;\n\t\t}\n\t\tfetch(withParam(withParam(COMPARE, 'ids', ids), 'plan', PLAN)).then(function (r) { return r.json(); }).then(function (data) { buildTable(data); syncSelected(data); }).catch(function () {\n\t\t\tout.textContent = '';\n\t\t\tout.appendChild(el('p', 'nmf-hint', 'Could not load the comparison. Please try again.'));\n\t\t});\n\t}\n\n\tfunction fmtRet(v) {\n\t\tif (v === null || v === undefined) { return null; }\n\t\treturn (v > 0 ? '+' : '') + v.toFixed(2) + '%';\n\t}\n\n\tfunction buildTable(data) {\n\t\tout.textContent = '';\n\t\tif (data.length < 2) { out.appendChild(el('p', 'nmf-hint', 'Not enough data to compare these funds.')); return; }\n\n\t\tvar md = '';\n\t\tdata.forEach(function (f) { if (f.nav_date && f.nav_date > md) { md = f.nav_date; } });\n\t\tvar asofEl = document.getElementById('nmf-asof');\n\t\tif (asofEl && md) { asofEl.textContent = fmtDate(md, false); }\n\n\t\tvar cats = {};\n\t\tdata.forEach(function (f) { cats[f.category] = true; });\n\t\tshowMsg(Object.keys(cats).length > 1 ? 'These funds belong to different categories, so comparing their returns may be misleading.' : '');\n\n\t\tvar wrap = el('div', 'nmf-scroll');\n\t\tvar t = el('table', 'nmf-table');\n\t\tvar thead = el('thead'), hr = el('tr');\n\t\thr.appendChild(el('th', '', ''));\n\t\tdata.forEach(function (f) { hr.appendChild(el('th', '', f.name)); });\n\t\tthead.appendChild(hr);\n\t\tt.appendChild(thead);\n\n\t\tvar tb = el('tbody');\n\t\tfunction infoRow(label, fn) {\n\t\t\tvar tr = el('tr');\n\t\t\ttr.appendChild(el('th', '', label));\n\t\t\tdata.forEach(function (f) { tr.appendChild(el('td', '', fn(f))); });\n\t\t\ttb.appendChild(tr);\n\t\t}\n\t\tfunction section(label) {\n\t\t\tvar tr = el('tr', 'nmf-sec');\n\t\t\tvar th = el('th', '', label);\n\t\t\tth.colSpan = data.length + 1;\n\t\t\ttr.appendChild(th);\n\t\t\ttb.appendChild(tr);\n\t\t}\n\n\t\tsection('Fund details');\n\t\tinfoRow('Category', function (f) { return f.category; });\n\t\tinfoRow('Fund house', function (f) { return f.amc; });\n\t\tinfoRow('Plan', function (f) { return (f.plan || PLAN) + ' - Growth'; });\n\t\tinfoRow('Latest NAV', function (f) { return f.nav !== null ? ('Rs ' + f.nav.toFixed(4) + ' (' + f.nav_date + ')') : '-'; });\n\n\t\tsection('Returns');\n\t\t[['1m', '1 month'], ['3m', '3 months'], ['6m', '6 months'], ['1y', '1 year'], ['3y', '3 years (CAGR)'], ['5y', '5 years (CAGR)'], ['10y', '10 years (CAGR)'], ['si', 'Since launch (CAGR)']].forEach(function (p) {\n\t\t\tvar vals = data.map(function (f) { return f.returns[p[0]]; });\n\t\t\tvar valid = vals.filter(function (v) { return v !== null && v !== undefined; });\n\t\t\tvar best = valid.length >= 2 ? Math.max.apply(null, valid) : null;\n\t\t\tvar tr = el('tr');\n\t\t\ttr.appendChild(el('th', '', p[1]));\n\t\t\tvals.forEach(function (v) {\n\t\t\t\tvar txt = fmtRet(v);\n\t\t\t\tvar td = el('td', '', txt === null ? '-' : txt);\n\t\t\t\tif (txt !== null) { td.className = v >= 0 ? 'nmf-pos' : 'nmf-neg'; }\n\t\t\t\tif (best !== null && v === best) { td.className += ' nmf-best'; }\n\t\t\t\ttr.appendChild(td);\n\t\t\t});\n\t\t\ttb.appendChild(tr);\n\t\t});\n\n\t\tsection('SIP returns (monthly SIP of \\u20B91,000)');\n\t\t[['1y', '1-year SIP (XIRR)'], ['3y', '3-year SIP (XIRR)'], ['5y', '5-year SIP (XIRR)'], ['10y', '10-year SIP (XIRR)'], ['si', 'SIP since launch (XIRR)']].forEach(function (p) {\n\t\t\tvar vals = data.map(function (f) { return f.sip ? f.sip[p[0]] : null; });\n\t\t\tvar valid = vals.filter(function (v) { return v !== null && v !== undefined; });\n\t\t\tvar best = valid.length >= 2 ? Math.max.apply(null, valid) : null;\n\t\t\tvar tr = el('tr');\n\t\t\ttr.appendChild(el('th', '', p[1]));\n\t\t\tvals.forEach(function (v) {\n\t\t\t\tvar txt = fmtRet(v);\n\t\t\t\tvar td = el('td', '', txt === null ? '-' : txt);\n\t\t\t\tif (txt !== null) { td.className = v >= 0 ? 'nmf-pos' : 'nmf-neg'; }\n\t\t\t\tif (best !== null && v === best) { td.className += ' nmf-best'; }\n\t\t\t\ttr.appendChild(td);\n\t\t\t});\n\t\t\ttb.appendChild(tr);\n\t\t});\n\t\tinfoRow('Value after 5 years (\\u20B960,000 invested)', function (f) { return (f.sip && f.sip.val5 !== null && f.sip.val5 !== undefined) ? fmtInr(f.sip.val5) : '-'; });\n\n\t\tinfoRow('Value after 10 years (\\u20B91,20,000 invested)', function (f) { return (f.sip && f.sip.val10 !== null && f.sip.val10 !== undefined) ? fmtInr(f.sip.val10) : '-'; });\n\t\tinfoRow('Value since launch (SIP of \\u20B91,000 a month)', function (f) { return (f.sip && f.sip.valsi !== null && f.sip.valsi !== undefined && f.n) ? (fmtInr(f.sip.valsi) + ' on ' + fmtInr(f.n * 1000) + ' invested') : '-'; });\n\t\tinfoRow('Data since (for since-launch figures)', function (f) { return f.from ? (fmtDate(f.from) + ' (' + Number(f.yrs).toFixed(1) + ' years)') : '-'; });\n\t\tt.appendChild(tb);\n\t\twrap.appendChild(t);\n\t\tout.appendChild(wrap);\n\t\tout.appendChild(el('p', 'nmf-disc', 'A dash (-) means data is not available for that period (the fund may be newer, or its history may have been restarted after a rename or transfer). The shaded cell shows the highest return in each row and is not a recommendation.'));\n\t\tbuildChartSection(data);\n\t}\n\n\n\tfunction fmtInr(v) { return '\\u20B9' + Math.round(v).toLocaleString('en-IN'); }\n\tvar MON = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\tfunction fmtDate(s, short) {\n\t\tvar p = s.split('-');\n\t\tvar m = MON[parseInt(p[1], 10) - 1];\n\t\treturn short ? (m + ' ' + p[0]) : (parseInt(p[2], 10) + ' ' + m + ' ' + p[0]);\n\t}\n\n\tfunction buildChartSection(data) {\n\t\tvar ids = data.map(function (f) { return f.id; }).join(',');\n\t\tvar box = el('div', 'nmf-chartbox');\n\t\tvar head = el('div', 'nmf-charthead');\n\t\thead.appendChild(el('h3', '', 'Growth of \\u20B910,000 invested'));\n\t\tvar per = el('div', 'nmf-periods');\n\t\tvar holder = el('div', 'nmf-chartholder');\n\t\t[1, 3, 5, 10, 0].forEach(function (y) {\n\t\t\tvar b = el('button', 'nmf-pbtn' + (y === chartYears ? ' active' : ''), (y === 0 ? 'Max' : y + 'Y'));\n\t\t\tb.type = 'button';\n\t\t\tb.addEventListener('click', function () {\n\t\t\t\tchartYears = y;\n\t\t\t\tArray.prototype.forEach.call(per.children, function (c) { c.className = 'nmf-pbtn'; });\n\t\t\t\tb.className = 'nmf-pbtn active';\n\t\t\t\tloadChart(ids, holder);\n\t\t\t});\n\t\t\tper.appendChild(b);\n\t\t});\n\t\thead.appendChild(per);\n\t\tbox.appendChild(head);\n\t\tbox.appendChild(holder);\n\t\tout.appendChild(box);\n\t\tloadChart(ids, holder);\n\t}\n\n\tfunction loadChart(ids, holder) {\n\t\tvar tok = ++chartToken;\n\t\tholder.textContent = '';\n\t\tholder.appendChild(el('p', 'nmf-hint', 'Loading chart...'));\n\t\tfetch(withParam(withParam(NAV, 'ids', ids), 'years', chartYears)).then(function (r) { return r.json(); }).then(function (d) {\n\t\t\tif (tok !== chartToken) { return; }\n\t\t\tholder.textContent = '';\n\t\t\tif (!d.dates || !d.dates.length) {\n\t\t\t\tholder.appendChild(el('p', 'nmf-hint', 'Not enough common history to draw a chart for this period.'));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdrawChart(holder, d);\n\t\t}).catch(function () {\n\t\t\tif (tok !== chartToken) { return; }\n\t\t\tholder.textContent = '';\n\t\t\tholder.appendChild(el('p', 'nmf-hint', 'Could not load the chart. Please try again.'));\n\t\t});\n\t}\n\n\tfunction drawChart(holder, d) {\n\t\tvar NS = 'http:\/\/www.w3.org\/2000\/svg';\n\t\tvar W = 800, H = 320, PL = 66, PR = 14, PT = 14, PB = 30;\n\t\tvar n = d.dates.length, all = [];\n\t\td.series.forEach(function (s) { all = all.concat(s.values); });\n\t\tvar min = Math.min.apply(null, all), max = Math.max.apply(null, all);\n\t\tvar pad = (max - min) * 0.08 || 100;\n\t\tmin = Math.max(0, min - pad); max = max + pad;\n\t\tfunction X(i) { return PL + (W - PL - PR) * i \/ (n - 1); }\n\t\tfunction Y(v) { return PT + (H - PT - PB) * (1 - (v - min) \/ (max - min)); }\n\t\tfunction mk(tag, attrs) { var e = document.createElementNS(NS, tag); for (var k in attrs) { e.setAttribute(k, attrs[k]); } return e; }\n\n\t\tvar svg = mk('svg', { viewBox: '0 0 ' + W + ' ' + H, width: '100%' });\n\t\tsvg.style.display = 'block';\n\n\t\tfor (var t = 0; t <= 4; t++) {\n\t\t\tvar v = min + (max - min) * t \/ 4, y = Y(v);\n\t\t\tsvg.appendChild(mk('line', { x1: PL, x2: W - PR, y1: y, y2: y, stroke: '#e5e7eb' }));\n\t\t\tvar lab = mk('text', { x: PL - 8, y: y + 4, 'text-anchor': 'end', fill: '#64748b', 'font-size': 12 });\n\t\t\tlab.textContent = fmtInr(v);\n\t\t\tsvg.appendChild(lab);\n\t\t}\n\t\t[[0, 'start'], [Math.floor((n - 1) \/ 2), 'middle'], [n - 1, 'end']].forEach(function (p) {\n\t\t\tvar tx = mk('text', { x: X(p[0]), y: H - 8, 'text-anchor': p[1], fill: '#64748b', 'font-size': 12 });\n\t\t\ttx.textContent = fmtDate(d.dates[p[0]], true);\n\t\t\tsvg.appendChild(tx);\n\t\t});\n\n\t\td.series.forEach(function (s, k) {\n\t\t\tvar dd = '';\n\t\t\ts.values.forEach(function (val, i) { dd += (i ? 'L' : 'M') + X(i).toFixed(1) + ' ' + Y(val).toFixed(1); });\n\t\t\tsvg.appendChild(mk('path', { d: dd, fill: 'none', stroke: COLORS[k % 4], 'stroke-width': 2, 'stroke-linejoin': 'round' }));\n\t\t});\n\n\t\tvar vline = mk('line', { y1: PT, y2: H - PB, stroke: '#94a3b8', 'stroke-dasharray': '4 3', visibility: 'hidden' });\n\t\tsvg.appendChild(vline);\n\t\tvar dots = d.series.map(function (s, k) {\n\t\t\tvar c = mk('circle', { r: 4, fill: COLORS[k % 4], stroke: '#fff', 'stroke-width': 1.5, visibility: 'hidden' });\n\t\t\tsvg.appendChild(c);\n\t\t\treturn c;\n\t\t});\n\t\tvar overlay = mk('rect', { x: PL, y: PT, width: W - PL - PR, height: H - PT - PB, fill: 'transparent' });\n\t\tsvg.appendChild(overlay);\n\n\t\tvar wrap = el('div', 'nmf-chartwrap');\n\t\tvar tip = el('div', 'nmf-tip');\n\t\twrap.appendChild(svg);\n\t\twrap.appendChild(tip);\n\n\t\tfunction show(ev) {\n\t\t\tvar rect = svg.getBoundingClientRect();\n\t\t\tvar cx = ev.touches ? ev.touches[0].clientX : ev.clientX;\n\t\t\tvar vx = (cx - rect.left) \/ rect.width * W;\n\t\t\tvar i = Math.round((vx - PL) \/ (W - PL - PR) * (n - 1));\n\t\t\ti = Math.max(0, Math.min(n - 1, i));\n\t\t\tvline.setAttribute('x1', X(i)); vline.setAttribute('x2', X(i)); vline.setAttribute('visibility', 'visible');\n\t\t\ttip.textContent = '';\n\t\t\ttip.appendChild(el('div', '', fmtDate(d.dates[i], false)));\n\t\t\td.series.forEach(function (s, k) {\n\t\t\t\tdots[k].setAttribute('cx', X(i)); dots[k].setAttribute('cy', Y(s.values[i])); dots[k].setAttribute('visibility', 'visible');\n\t\t\t\tvar row = el('div');\n\t\t\t\tvar dot = el('span', 'nmf-dot'); dot.style.background = COLORS[k % 4];\n\t\t\t\trow.appendChild(dot);\n\t\t\t\trow.appendChild(document.createTextNode((s.name.length > 26 ? s.name.slice(0, 26) + '...' : s.name) + ': ' + fmtInr(s.values[i])));\n\t\t\t\ttip.appendChild(row);\n\t\t\t});\n\t\t\ttip.style.display = 'block';\n\t\t\ttip.style.left = (X(i) \/ W * 100) + '%';\n\t\t\ttip.style.transform = i > n * 0.6 ? 'translateX(-105%)' : 'translateX(10px)';\n\t\t}\n\t\tfunction hide() {\n\t\t\tvline.setAttribute('visibility', 'hidden');\n\t\t\tdots.forEach(function (c) { c.setAttribute('visibility', 'hidden'); });\n\t\t\ttip.style.display = 'none';\n\t\t}\n\t\toverlay.addEventListener('mousemove', show);\n\t\toverlay.addEventListener('touchmove', show, { passive: true });\n\t\toverlay.addEventListener('touchstart', show, { passive: true });\n\t\toverlay.addEventListener('mouseleave', hide);\n\t\toverlay.addEventListener('touchend', hide);\n\t\tholder.appendChild(wrap);\n\n\t\tvar legend = el('div', 'nmf-legend');\n\t\td.series.forEach(function (s, k) {\n\t\t\tvar last = s.values[s.values.length - 1];\n\t\t\tvar pct = (last \/ 10000 - 1) * 100;\n\t\t\tvar item = el('span');\n\t\t\tvar dot = el('span', 'nmf-dot'); dot.style.background = COLORS[k % 4];\n\t\t\titem.appendChild(dot);\n\t\t\titem.appendChild(document.createTextNode(s.name + ': ' + fmtInr(last) + ' (' + (pct >= 0 ? '+' : '') + pct.toFixed(1) + '%)'));\n\t\t\tlegend.appendChild(item);\n\t\t});\n\t\tholder.appendChild(legend);\n\n\t\tvar startTs = Date.parse(d.dates[0]), cutTs = Date.parse(d.cutoff);\n\t\tvar note = (startTs - cutTs) \/ 86400000 > 14\n\t\t\t? 'Chart starts on ' + fmtDate(d.dates[0], false) + ', the date from which all selected funds have data. Past performance may or may not be sustained in the future.'\n\t\t\t: 'Illustration based on past NAVs of ' + PLAN + ' Plan - Growth Option. Past performance may or may not be sustained in the future.';\n\t\tholder.appendChild(el('p', 'nmf-disc', note));\n\t}\n\n\tvar planBtns = document.querySelectorAll('#nmf-plans button');\n\tvar planNote = document.getElementById('nmf-plannote');\n\tvar planLabel = document.getElementById('nmf-planlabel');\n\tvar NOTE_REGULAR = 'Regular Plan: the plan offered through a mutual fund distributor. Its expense ratio includes distribution commission, so its returns are lower than the same fund\\u2019s Direct Plan.';\n\tvar NOTE_DIRECT = 'Direct Plan: bought directly from the fund house, without a distributor. It has a lower expense ratio, so its returns are higher than the same fund\\u2019s Regular Plan.';\n\n\tfunction applyPlanUI() {\n\t\tArray.prototype.forEach.call(planBtns, function (b) {\n\t\t\tb.className = 'nmf-pbtn' + (b.getAttribute('data-plan') === PLAN ? ' active' : '');\n\t\t});\n\t\tplanLabel.textContent = PLAN;\n\t\tplanNote.textContent = (PLAN === 'Regular') ? NOTE_REGULAR : NOTE_DIRECT;\n\t}\n\tArray.prototype.forEach.call(planBtns, function (b) {\n\t\tb.addEventListener('click', function () {\n\t\t\tvar p = b.getAttribute('data-plan');\n\t\t\tif (p === PLAN) { return; }\n\t\t\tPLAN = p;\n\t\t\tapplyPlanUI();\n\t\t\tshowMsg('');\n\t\t\trender(false);\n\t\t});\n\t});\n\t\/\/ After a plan switch the server returns the matching scheme codes; keep our list in step.\n\tfunction syncSelected(data) {\n\t\tvar changed = data.length !== selected.length;\n\t\tselected = data.map(function (f) { return { id: f.id, name: f.name, category: f.category }; });\n\t\tif (changed) { showMsg('Some funds are not available in the ' + PLAN + ' plan (or were duplicates) and were removed.'); }\n\t\trender(true);\n\t}\n\tapplyPlanUI();\n\n\t\/\/ Pre-select funds from a shared link: ?ids=123,456\n\tvar m = new URLSearchParams(location.search).get('ids');\n\tif (m && \/^[0-9,]+$\/.test(m)) {\n\t\tfetch(withParam(withParam(COMPARE, 'ids', m), 'plan', PLAN)).then(function (r) { return r.json(); }).then(function (data) {\n\t\t\tselected = data.map(function (f) { return { id: f.id, name: f.name, category: f.category }; });\n\t\t\trender(true);\n\t\t\tif (data.length >= 2) { buildTable(data); }\n\t\t}).catch(function () {});\n\t}\n})();\n<\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What to check when you compare Mutual Funds<\/strong>&nbsp;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When you <strong>compare mutual funds<\/strong>, looking only at 1-year past returns can be misleading. A disciplined approach evaluates these four key factors:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>3-Year &amp; 5-Year Consistency:<\/strong> Compare how a fund performed across different market cycles rather than during short-term bull runs.<\/li>\n\n\n\n<li><strong>Expense Ratio (TER):<\/strong> Check the annual operating cost of the fund. Lower expense ratios help compound wealth faster over long horizons.<\/li>\n\n\n\n<li><strong>Risk-Adjusted Returns (Sharpe Ratio):<\/strong> Measures whether a fund generates excess returns relative to the risk it takes.<\/li>\n\n\n\n<li><strong>Portfolio Overlap:<\/strong> Ensure you are not investing in multiple funds that hold the exact same underlying companies.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Scheme categorization and risk levels follow the official standards established by <strong><a href=\"https:\/\/www.amfiindia.com\" target=\"_blank\" rel=\"noopener\">AMFI<\/a><\/strong> and <a href=\"https:\/\/www.sebi.gov.in\" target=\"_blank\" rel=\"noopener\">SEBI<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Ready to calculate your monthly investments? Use our <strong><a href=\"https:\/\/niveshsankalp.com\/calculators\/\" target=\"_blank\" data-type=\"page\" data-id=\"9004\" rel=\"noreferrer noopener\">SIP Calculator<\/a><\/strong> or explore our <strong><a href=\"https:\/\/niveshsankalp.com\/solutions\/\" target=\"_blank\" data-type=\"page\" data-id=\"9003\" rel=\"noreferrer noopener\">Mutual Fund Solutions<\/a><\/strong> to build a balanced portfolio.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Compare Mutual Funds across categories &amp; AMCs What to check when you compare Mutual Funds&nbsp; When you compare mutual funds, looking only at 1-year past returns can be misleading. A disciplined approach evaluates these four key factors: Scheme categorization and risk levels follow the official standards established by AMFI and SEBI. Ready to calculate your [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-9292","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/niveshsankalp.com\/hi\/wp-json\/wp\/v2\/pages\/9292","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/niveshsankalp.com\/hi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/niveshsankalp.com\/hi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/niveshsankalp.com\/hi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/niveshsankalp.com\/hi\/wp-json\/wp\/v2\/comments?post=9292"}],"version-history":[{"count":7,"href":"https:\/\/niveshsankalp.com\/hi\/wp-json\/wp\/v2\/pages\/9292\/revisions"}],"predecessor-version":[{"id":9532,"href":"https:\/\/niveshsankalp.com\/hi\/wp-json\/wp\/v2\/pages\/9292\/revisions\/9532"}],"wp:attachment":[{"href":"https:\/\/niveshsankalp.com\/hi\/wp-json\/wp\/v2\/media?parent=9292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}