Following along? Finmagine Portfolio Manager is coming to Chrome
Multi-broker portfolio tracker — Indian & global stocks, MFs, ETFs • Free, no account needed
Per-broker stop-loss, live XIRR, Index Beat, 4 asset classes — video walkthrough, audio deep dive, and 30 interactive flashcards
Most portfolio trackers show you your blended average cost per stock. Finmagine Portfolio Manager does something different: it tracks each broker entry as a separate position with its own P&L, stop-loss, and XIRR. This article explains why that matters and what you get when every number is finally honest.
A full video walkthrough of Finmagine Portfolio Manager — from adding your first trade to reading the per-broker stop-loss badges and XIRR columns — will be published here at launch.
A podcast-style audio exploration of the per-broker stop-loss philosophy and portfolio discipline concepts will be added here at launch.
Click any card to reveal the answer. Search by topic to focus on a specific area.
It is Tuesday morning. You open your broker app and check your portfolio. TITAN is showing at ₹3,100. You bought it at a blended average of ₹3,000. You are up +3.33%. Everything looks fine. You move on.
But here is what that blended average is hiding:
| Stock | Broker | Buy Price | LTP | P&L% | Status |
|---|---|---|---|---|---|
| TITAN | Zerodha | ₹3,350 | ₹3,100 | -7.5% | ⚠ STOP-LOSS |
| TITAN | Groww | ₹2,800 | ₹3,100 | +10.7% | ✓ OK |
| Blended average | +3.33% | ― HIDDEN | |||
The Zerodha position is down -7.5%. It has crossed your -5% stop-loss. It should have been exited. But the Groww position — bought lower after a re-entry — is doing beautifully at +10.7%. The blended average merges these two completely different investment decisions into one number: +3.33%. And +3.33% does not tell you to do anything.
This is the Blended Average Trap. It is not a failure of arithmetic. It is a failure of design. Any tracker that blends your cost across entries, brokers, or purchase dates is hiding information you need to make decisions.
The same trap applies when you sell a position after a stop-loss breach and later re-enter the same stock from a different broker at a new cost basis. A tracker that blends your historical trades will show you a fictitious average. Finmagine shows you exactly what you paid, when, from which broker — and compares it against the live price. No averaging. No hiding.
Finmagine Portfolio Manager is a Chrome extension that tracks your Indian and global investments across up to 9 brokers simultaneously, fetches live prices and fundamentals from Screener.in and ChartInk, computes annualised XIRR per holding, shows index beat vs Nifty 50/500, and provides on-demand charts — all locally, with no server required for core functionality.
chrome.storage.local on your devicehost_permissions, enabling direct access to Screener.in (which blocks cross-origin requests from web apps) and ChartInk (which requires your live logged-in session and cannot be proxied). A web app would need server-side proxies for Screener and simply cannot replicate ChartInk signals. The extension is the only architecture that makes this data accessible without a backend.
Most Indian investors hold more than just NSE stocks today. Mutual funds, US ETFs through INDMoney or Vested, direct US stocks through Fidelity or IBKR — all of these need to be tracked together to get a true picture of your portfolio. Finmagine Portfolio Manager handles all four in one place.
| Pill | Asset Class | Ticker Format | Price Source | Example |
|---|---|---|---|---|
| 🇮🇳 | Indian Equities (IN_EQ) | NSE:TITAN, BSE:532281 |
Yahoo Finance | TITAN, HDFC Bank, Infosys |
| 🌎 | Global Equities (GL_EQ) | US:AAPL, US:ORCL |
Yahoo Finance | Apple, Oracle, Berkshire |
| 🏦 | Indian Mutual Funds (IN_MF) | MF:119551 |
api.mfapi.in NAV | SBI Bluechip, Mirae Emerging |
| 🌐 | Global Funds & ETFs (GL_MF) | US:VOO, US:FBGRX |
Yahoo Finance | VOO, SPY, FBGRX (Fidelity) |
| 📊 | Overview (ALL) | ― | All sources, unified ₹ | Cross-AC summary + charts |
The core asset class. Full charges breakdown at trade entry (STT, exchange fee, stamp duty, SEBI turnover fee, brokerage, GST). All 9 broker columns visible. Every column from PEG to Index Beat to Signals is available. The full Watchlist tab with 23 fundamental columns is available here.
US stocks held through platforms like INDMoney, Fidelity, Schwab, or IBKR. Prices in USD, converted to ₹ at the FX rate in your settings (default ₹84/USD). Charges: ~0.03% SEC fee on sell only. Full Watchlist tab is available for GL_EQ (stockanalysis.com powers fundamentals for US stocks).
Add any AMFI-registered direct or regular scheme by searching the fund name — the scheme code is resolved automatically. NAV fetched from api.mfapi.in. Zero charges (direct plans). Fractional units supported. Columns: Fund | NAV ₹ | P&L% | XIRR | N50 | N500 | Invested ₹ | Value ₹ | Units | Platform | Weight%.
ETFs (VOO, SPY, QQQ) and US mutual funds (FBGRX, FDIVX from Fidelity) tracked exactly like GL_EQ via Yahoo Finance. Zero charges. Fractional units supported. If you hold Vanguard ETFs at Vanguard.com, or Fidelity mutual funds at Fidelity.com, this is the asset class for them.
Every trade you enter has three key identifiers: the stock symbol, the broker, and the date. Finmagine Portfolio Manager uses all three. Specifically, it treats each stock + broker combination as a distinct position. If you hold TITAN at Zerodha and TITAN at Groww, those are two separate rows in your Holdings table — each with its own buy price, P&L%, stop-loss status, and XIRR.
The Holdings table has a broker column for each of the 9 supported Indian brokers. Each column shows the P&L% for that specific stock at that specific broker. Cells are left empty if you don't hold the stock there.
| Stock | LTP | P&L% | Zerodha | Groww | Upstox | XIRR |
|---|---|---|---|---|---|---|
| TITAN | ₹3,100 | +3.3% | -7.5% ⚠ | +10.7% | — | 14.2% |
| HDFC Bank | ₹1,720 | +8.1% | +8.1% | — | — | 22.8% |
| ZOMATO | ₹215 | -4.2% | -4.2% | — | -6.8% | -11.4% |
The red badge on TITAN's Zerodha column tells you exactly what the blended +3.3% was hiding: that position hit your stop-loss three percentage points ago.
The extension continuously monitors every broker cell. When a position's P&L% falls below -5%, the cell turns red and shows a ⚠ warning icon. When it is within 1% of the threshold (between -4% and -5%), the cell turns amber. The Chrome extension icon badge also shows the count of active stop-loss breaches across your entire portfolio.
Consider this realistic scenario: You bought ZOMATO at ₹230 in Zerodha in December. It fell to ₹200 and you exited (stop-loss triggered). In January, the setup looked good again, so you re-entered from Groww at ₹185. The price is now ₹215.
The Indian Equities Holdings table is the densest and most information-rich view in the extension. Here is a reference for every column:
| Column | What It Shows | Source |
|---|---|---|
| Stock | NSE/BSE symbol + company name (truncated) | — |
| LTP | Last traded price in ₹ | Yahoo Finance |
| P&L% | Overall P&L% across all broker entries for this stock | Computed |
| XIRR | Annualised return accounting for timing of all buy trades | xirr.js (Newton-Raphson) |
| PEG | P/E ratio ÷ 3-Year Price CAGR. Valuation relative to growth. | Screener.in (24h cache) |
| 3Y% / 5Y% | 3-year and 5-year compounded price CAGR | Screener.in (90d cache) |
| N50 | Nifty 50 return since your earliest purchase date for this stock | Yahoo Finance (permanent cache) |
| N500 | Nifty 500 return since your earliest purchase date | Yahoo Finance (permanent cache) |
| Score | Count of momentum signals (0–5). Higher = more screeners agree. | ChartInk |
| Signals | Badges for each passing signal: S2 (Stage 2), NH (Near 52W High), HV (High Volume), VCP (VCP Breakout), IPO (IPO Breakout) | ChartInk |
| Invested ₹ | Total ₹ deployed in this stock across all brokers (net of charges) | Computed |
| [9 Broker Cols] | Per-broker P&L% for this stock. Red = breach, amber = approaching, green = comfortable. | Computed |
| Buy Qty | How many shares you can buy at LTP given the invest amount you set in the sticky calculator | Computed |
Every column is sortable. Click a column header once to sort descending, again to sort ascending. Sorting by Score and then by N50 is a powerful two-pass filter for stocks that are both technically strong and have genuinely beaten the index since your entry date.
Above the Holdings table sits a compact stats strip that answers the five most common quick questions about your portfolio:
Beyond Holdings, six more tabs each answer a specific portfolio management question:
| Tab | Question It Answers | Filter Logic |
|---|---|---|
| Holdings | What do I own and how is it performing? | All active positions |
| Alloted | Which positions am I fully committed to? (all entries ≥ +5%) | Every broker entry for the stock is ≥ +5% P&L |
| Consider | Where am I under-allocated by conviction? | Total invested < ₹3,00,000 threshold (configurable) |
| Add More | Where could I add at a better average? | At least one broker entry is < +5% P&L (room to add) |
| Watchlist | How do my holdings and research list compare on fundamentals? | Holdings auto-included + manually added tickers; 23 Screener.in columns |
| Charts | What does my portfolio look like visually? | On-demand: Composition, P&L, XIRR, Journey, Brokers, Sector charts |
| Alerts | Which positions need my immediate attention? | Stop-loss breaches (< -5%) and approaching positions (within 1%) |
The Watchlist tab is a 23-column fundamental comparison table. All of your Holdings are automatically included (tagged with a HOLD badge). You can manually add any additional stock you are researching. Columns include:
LTP | Score | Signals | PEG | P/E | P/B | P/S | EV/EBITDA | ROCE | ROE | D/E | Current Ratio | Interest Coverage | OPM% | NPM% | Sales Growth% | EPS Growth% | FCF | Pledging% | Promoter% | FII%
Each metric is color-coded (green/yellow/orange/red) based on sector-appropriate thresholds from Screener.in. Trend badges (↑/↓/→) appear on OPM%, NPM%, Sales%, and EPS% to show direction over the past year. Everything is sortable, cached for 90 days, and loaded lazily on first tab click.
P&L% tells you how much you made. XIRR tells you how fast you made it. A +30% return over 5 years is very different from a +30% return over 18 months. XIRR normalises all of this into an annualised percentage, making every holding comparable regardless of when you bought it.
For each stock, the extension takes every buy trade as a cash outflow (negative) on its purchase date, and the current market value as a hypothetical sell (positive) on today's date. It then solves for the discount rate that makes the net present value of all cash flows equal to zero — this is the XIRR.
The N50 and N500 columns answer a question P&L% cannot: did I beat the benchmark from my specific entry date? For each holding, the extension looks up the Nifty 50 and Nifty 500 index level on the exact date of your earliest trade in that stock, and computes what those indices returned from that date to today.
Example: You bought IREDA at ₹180 on January 15, 2024. LTP today is ₹210. Your P&L% is +16.7%. But Nifty 50 returned +11.2% and Nifty 500 returned +13.8% from that same date. So your Index Beat is +16.7% − 13.8% = +2.9% over N500. That is real alpha — not impressive alpha, but real.
Index data is fetched once from Yahoo Finance and cached permanently per date. Once you have the Nifty level for a specific date, you never fetch it again. The Index Beat calculation is instant from then on.
The stats strip shows a single Portfolio XIRR computed across all trades in all four asset classes. USD trades are converted to ₹ at the FX rate in your settings. This gives you one honest answer to the hardest portfolio question: what is my actual annualised return, accounting for the timing of every rupee I deployed?
Once Finmagine Portfolio Manager is available on the Chrome Web Store, getting started takes about 5 minutes from install to your first live portfolio view.
Click the extension icon (or find it in your Chrome toolbar). The full-page portfolio manager opens as a Chrome tab. Select your asset class pill (start with 🇮🇳 Indian Equities).
Click "Add Trade". Enter: Stock (e.g. NSE:TITAN), Broker (e.g. Zerodha), Buy Price, Quantity, and Date. The charges breakdown computes automatically. Click Save.
Click ⟳ Refresh. Three parallel fetches fire: Yahoo Finance prices, ChartInk signals, and Nifty index prices. Your holdings table populates with live P&L%, XIRR, N50, N500, and Score within seconds.
If you already have your trade history in a broker export, use the Import feature. Supported formats:
Before your first price refresh, visit the Settings tab and set:
This is article 1 of 6 in the Finmagine Portfolio Manager series. Each article goes deep on one aspect of the extension — from the stop-loss philosophy to charts to multi-asset tracking.
Finmagine Portfolio Manager
Per-broker stop-loss discipline, live prices, XIRR, Index Beat, Charts — for Indian Equities, US Stocks, Mutual Funds & Global ETFs. All local, no server required.
Learn More about Portfolio Manager →The one-click NSE momentum scanner — Stage 2, Near High, VCP, IPO Breakout across every NSE stock in seconds.
Display Modes, Period Filters, CSV Export & Chart Type Flexibility in Finmagine Chart Builder v2.6.0 & v2.7.0.
Altman Z-Score, Piotroski F-Score, ROIC-WACC, Analyst Outlook — all US-exclusive Chart Builder features explained.