Your portfolio's best friend

Know what your portfolio
actually returned

Fidolio imports your Fidelity and Merrill Edge statements into an encrypted database on your own device, then answers the questions the brokerage app won’t: your money-weighted annual return, what your dividends really yield, what income is coming, and whether any of it beat inflation.

AndroidiOSmacOSWindowsLinux

Fidolio's Positions screen: portfolio value, total gain/loss, and a filterable list of holdings including a CD

Everything a broker export leaves you to work out yourself

A statement tells you what happened. It does not tell you how you are doing. Fidolio reads the file, works out the rest, and keeps every number explainable.

Import, don't retype

Drop in a Fidelity account-history or Merrill Edge account-activity CSV. Fidolio detects the format, classifies every row, and skips anything it has already seen — so overlapping exports can be re-imported safely.

XIRR, not a guess

The money-weighted annual return over every buy, sell and dividend, dated. It is the number a spreadsheet’s XIRR gives you, computed per symbol and for the whole portfolio.

Dividends, properly counted

Reinvested and cash dividends split apart, yield on cost, forward yield, declared next payments, and a per-share payment history chart.

Income you can plan around

Twelve months received and twelve months projected, month by month — with announced dividends marked declared rather than estimated.

Certificates of deposit

Detected from the description, valued at principal rather than a market price they do not have, and returning interest instead of a capital gain.

Beat inflation?

Every purchase restated in today’s dollars against a bundled US CPI-U series, so a 6% nominal return in a 4% year reads as what it was.

Research before you buy

A screener that grades candidates on published filings and ratios, plus fundamentals, analyst estimates, financial statements and a DCF on every stock page.

Encrypted, local, yours

AES-256 at rest, unlocked by a master password or biometrics. No account, no server, no telemetry — your holdings never leave the device.

A tour of the app

Every screenshot below is the real app running its built-in sample portfolio. Click any of them to see it full size.

Every holding, across every account

One list of what you own, valued at the current price, with the total gain/loss on top. Accounts aggregate by default — 100 shares in the IRA and 50 in the brokerage are one holding of 150 — and a picker narrows every screen in the app to one account at once.

  • Search, plus filters for open/closed, stock/CD, priced/unpriced and data completeness
  • A ⚠️ badge where the statements do not reach far enough back to explain a balance
  • Watchlist symbols you don’t own yet, tracked alongside the ones you do
More on positions →
Fidolio's Positions screen: a portfolio-value hero card with total gain/loss, a search box, five filters, and holdings for VOO, MSFT, a CD and AAPL

Drop in a CSV. Keep dropping them in.

Fidolio reads Fidelity account-history and Merrill Edge account-activity exports, detects which is which from the file itself, and classifies every row — buy, sell, dividend, reinvestment, interest, fee, transfer. Overlapping exports are safe to re-import: anything already stored is skipped.

  • No format to pick and no column mapping to configure — the header identifies the file
  • Duplicate detection by row identity, so a re-download of last quarter adds nothing
  • A Fidelity portfolio-positions export reconciles balances the history cannot reach
More on importing →
Fidolio's Import screen, explaining the accepted export formats above an empty import history

One page per holding, and it explains itself

Tap any row and you get the whole story of one position: price and day change, position value, gain/loss in dollars and percent, XIRR since the first buy, share balance, average cost, what you bought, what you sold, and every fee. Tabs beyond that carry dividends, company research and the full transaction history.

  • Every figure has an ⓘ opening a written explanation — what it is, what counts as normal, and where it misleads
  • A price chart overlaid with your own buys and sells, at the price you actually paid
  • Set a price by hand when no quote exists, and it flows into every total in the app
More on the stock page →
Fidolio's stock page for Apple: price, position value, total gain/loss, +308.60%, XIRR 26.21% since March 2019, share balance, average cost, total bought and sold

The return that accounts for when you invested

A percentage gain says nothing about time, and an average annual return says nothing about how much was invested when. XIRR — the money-weighted internal rate of return over every dated cash flow — answers both, and Fidolio computes it per symbol and for the portfolio.

  • Every buy, sell, dividend, interest payment and fee, on its own date
  • Sorted, sortable, and filterable to one account
  • Called XIRR everywhere, never CAGR — they are different claims
More on performance →
Fidolio's Performance table: XIRR, total return, first buy date, dividends, dividend yield per year and current value for AAPL, MSFT, VOO and a CD

What your dividends actually yield

Total received, yield on cost, and an annualised rate that refuses to extrapolate a short holding into a number it cannot support. Reinvested and cash dividends are counted apart, because they are different things that a broker statement reports as two rows.

  • One $11.66 payment 70 days into a position is not a 6%/yr run-rate, and Fidolio will not say it is
  • Declared next payments where the provider announces them, marked as declared rather than estimated
  • Per-share payment history and received-by-year charts on every stock page
More on dividends →
Fidolio's Dividends table: total dividends, reinvested portion, yield on cost and annualised yield per stock, with portfolio totals above

Twelve months back, twelve months forward

Dividends and CD interest received over the last year, and what is expected over the next one, in the same view and the same chart. Announced dividends are marked declared; everything else is labelled as the projection it is.

  • Month-by-month bars across the full 24-month span, received and projected side by side
  • Expandable month cards listing each individual payment
  • Each held CD contributes one event at maturity — remaining interest plus the principal coming back
More on income →
Fidolio's Income screen: $250.00 received and $625.63 projected over 12 months, a bar chart spanning 24 months, and expandable upcoming month cards

CDs, valued as CDs

A certificate of deposit has no market price, returns its principal at maturity, and earns its return as interest. Treating it like a stock produces nonsense in every metric, so Fidolio detects it from the description and handles it apart — with a tab of its own.

  • Held at principal, not at a price a quote API cannot supply
  • ROI is the income it pays, as a percentage of what was invested
  • Excluded from price refreshes, so it never burns an API request or reports a failure
More on CDs →
Fidolio's CDs screen: one CD with $10,000.00 invested, $500.00 income and +5.00% ROI

Did any of it actually beat inflation?

Every purchase restated in reference-date dollars against the US CPI-U, against what the position is worth now plus its inflation-adjusted dividends and sale proceeds. A factor of 1.00× means the money exactly kept pace; anything less means the position lost real ground while its nominal figure looked positive.

  • CPI-U bundled in, so it works offline, costs no API budget and cannot change under you between two refreshes
  • Closed positions are judged at their close date, not today — the money came back then
  • Extendable in Settings for years past the bundled table
More on real returns →
Fidolio's Beat inflation? table: invested and returned in real dollars, real gain, and percentage above inflation for NVDA, AAPL, MSFT, VOO, a CD and T

Grade a candidate before you buy it

The one screen that is not a view of your portfolio. It grades companies you deliberately do not own against a five-point checklist built from published filings and ratios — and ranks them against the holdings you would have to sell to buy them.

  • Four named goal profiles — balanced, growth, income, value — not sliders to tune until you get the answer you wanted
  • A criterion with no input abstains; it is never scored as a failure
  • Piotroski F-Score and Altman Z″ ride along at no extra request
More on the screener →
Fidolio's Screener: a goal-profile selector set to Balanced, a symbol entry field, and shortcuts to add from the S&P 500, your holdings or your watchlist

Automatic backups, encrypted, on your device

The database is encrypted with a key derived from your master password. Lose both the password and the keychain entry and the data is gone — so Fidolio writes an encrypted backup every time you leave the app after changing something, and can export the whole portfolio to one password-protected file.

  • Automatic, in the app’s own folder, kept 30 days — and the newest is kept however old it is
  • One encrypted JSON file for the manual export, readable on any device with the password
  • Restore merges by default, or replaces the lot for a new device
More on backups →
Fidolio's Backup & restore screen: automatic backups with a folder path and Back up now, above the password-protected export and restore sections

The same portfolio, in your pocket

One codebase, five platforms. On a phone the tables become tappable cards, the filters collapse into a sheet, and the navigation rail becomes a bottom bar — the same data, laid out for the screen it is on.

Fidolio on a phone: the Positions screen with a portfolio-value hero card and holdings list
Positions
Fidolio on a phone: a stock page showing price, position value and gain/loss as stacked cards
A holding
Fidolio on a phone: the Performance view rendered as tappable cards instead of a wide table
Performance
Fidolio on a phone: the Income screen with received and projected totals and a monthly bar chart
Income

Where the numbers come from

Prices need one free API key, and there are four vendors that will give you one. After that you choose, per kind of data, which of them answers — because “can I pay for one of these and use it for everything?” should depend on your subscription, not on how the app was wired.

Every kind of market data is a capability, independent of who supplies it. Each one resolves live, from three things: which credentials exist, which keys you have marked as paid, and which vendor you have pinned. Saving a key or changing a pick takes effect on the next refresh.

QuotesBarsDivsFundamentalsTargetsRatingsEstimatesProfileStatementsRatesPeersInsiders
SEC EDGAR (no key)✓✓
Alpaca✓✓✓
Finnhub✓✓✓✓
Alpha Vantage✓✓✓✓✓✓✓🔒✓
FMP✓✓✓✓✓

A tick means Fidolio has an implementation for it, not merely that the vendor sells it. Advertising a capability the app cannot deliver would hand you a picker that fails at the moment of use. 🔒 marks the one cell gated behind a paid plan, and it is a budget gate rather than an access one: those endpoints answer on a free key, at three requests per symbol, which against a 25-a-day allowance would cover eight symbols and starve everything sharing it.

One of them needs no sign-up

SEC EDGAR serves company filings — free, keyless, public domain, and with no daily cap. It leads the ordering for financial statements for exactly that reason: the Financials tab, the DCF inputs and the screener’s filing depth all work on an install that has never been given a credential.

Everything else here is a vendor that publishes what its API does and stands behind it. That is the deliberate limit: an undocumented endpoint scraped from somebody’s web front end can serve a great deal of data right up to the morning it changes without notice, and a portfolio tracker that silently stops pricing itself is worse than one that asked for a key.

Which key to get first

Any one of the four will price a portfolio, and the free tiers differ mostly in what else they unlock and how hard you can push them:

  • Alpaca — prices, daily bars and dividends, free and uncapped for market data, and the only one that prices a whole portfolio in a single request. The best first key if you mainly want the position and performance screens right.
  • Finnhub — 60 requests a minute with no daily cap. Buys the Fundamentals section, the analyst rating tally and fetched peer companies.
  • Alpha Vantage — 25 requests a day for everything combined, which is why the app rations it. Buys the analyst target and the company-data figures nothing else here supplies.
  • FMP — 250 a day. Buys financial statements and the analyst estimates table.

None of them is required to use Fidolio: importing, XIRR, dividends, income and the inflation comparison are all computed from your own statements. A key buys live prices and the research sections on top.

Two datasets are compiled in

The US CPI-U series behind the inflation view and the sector and industry benchmark tables behind every “is this ratio normal?” comparison are bundled into the app rather than fetched. Both are small public datasets that move once a year: bundled, they cost no API budget, work with no network, and cannot change under you between two refreshes of the same page.

S&P 500 membership is bundled for the same reason, which is why the screener can name a company and place it in a sector before a single request is made.

Settings says who is answering

Fidolio's Settings screen: Portfolio and Market data groups, with credential cards for Alpaca and Finnhub and a guide to which provider does what
Four credential cards and twelve capabilities do not map one to one, so which vendor is actually answering is stated rather than inferred from which keys are filled in.

Every capability is listed with its current source. Where two or more vendors could serve it you get a dropdown whose default is Automatic; where only one can, the name is plain text, because a menu with a single entry is chrome; and where none can, it lists the vendors that would be able to — which makes that page the place you find out a feature exists at all.

Your holdings never leave the device

There is no account to create, no server to sync with and no telemetry. The database lives on your device, encrypted, and the only thing that ever goes over the network is a ticker symbol on its way to a quote API.

AES-256 at rest

Every storage box is opened with a 256-bit AES cipher, so the whole database is encrypted on disk. The key is random and generated on first run.

A master password you own

The key is wrapped with a key derived from your password — PBKDF2-HMAC-SHA256, 210,000 iterations, then AES-GCM. Changing the password re-wraps the key; it never re-encrypts your data, and never uploads it.

Biometrics, optionally

Face ID, Touch ID, Windows Hello and Android biometrics unlock the app where the platform offers them. The password stays mandatory everywhere — it is the recovery path.

Only symbols go out

A quote request carries a ticker. Share counts, balances, account names and cost bases are never sent anywhere, because nothing in the app has anywhere to send them.

Privacy mode

One toggle hides everything that reveals portfolio size — sensitive table columns, cards and totals disappear entirely rather than being blurred. Per-share prices, percentages and returns stay visible. Turning it back off requires re-authentication.

Delete all data, and mean it

One action empties every box, the id counters, the inflation overrides, the automatic backups, the account filter and the log buffer. Your API keys and app preferences are kept — those are configuration, not data — and the dialog spells out both lists.

The trade-off is stated rather than glossed: biometrics gate access to the app while the OS keychain protects the key at rest, and the key is not bound to a per-platform secure element. If you lose both the keychain entry and the master password, the data is unrecoverable and you re-import your statements — which is exactly why backups are automatic and on by default.

Get Fidolio

One app, five platforms, installed and updated by the store you already use.

iPhone & iPad App Store Universal app — one purchase covers both. Coming soon
Mac Mac App Store Apple silicon and Intel. Coming soon
Android Google Play Phones and tablets. Coming soon
Windows Microsoft Store Windows 10 and 11. Coming soon
Linux Direct download Password unlock only — Linux has no biometric backend. Coming soon

Nothing is required to start: Fidolio opens on a sample portfolio, and your first CSV import replaces it. Live prices need one free API key from any of the four market-data vendors above — without one the app still imports, and still computes everything from your own statements.

Fidolio is a tracking and research tool, not advice. Every figure it shows is computed from your own statements and from published market data, and every one of them carries an explanation of where it misleads. None of it is a recommendation to buy or sell anything.