About

Built to answer one question, then kept going

What do I actually own? Not what the prospectus says, not what your statement summarises in three line items — the real, company-by-company exposure sitting inside the funds you hold.

Portfolio Analysis started as a personal project to solve something most brokerage tools do not: if you hold five funds and three of them carry NVIDIA in the top ten, your statement will not tell you that your real NVIDIA exposure is several times your direct shares. The first version did fund look-through and nothing else.

It has since grown into twenty-five analyses built on that same parsed file — because once the tool knows what you truly own, across which account types, and at what cost basis, most of the other questions become answerable from the same data.

25
Analyses from a single upload
14
Preset stress scenarios, plus one you build yourself
51
State tax jurisdictions modelled, not just your own

What it does

Upload a Fidelity or Schwab positions export — or several at once, to combine accounts — and the app organises everything into seven groups, mirroring the questions people actually ask.

With a plan: all twenty-five analyses above, including the fund look-through the tool was built for. What it costs.

What an account needs: your name, an email address and a password, the role that describes you — with your firm’s name if you are an adviser, broker, insurance agent or accountant — and your acceptance of the terms. A phone number and how you heard of us are optional. What a plan costs.

What it does not do

Some honest boundaries, because a tool that overstates itself is worse than one that does less.

How your data is handled

Your file is parsed in your browser rather than on a server. What reaches us is taken from it, as the next two paragraphs set out: the ticker symbols needed to classify and price what you hold, the description of any fund it cannot identify, and — if you are signed in — the positions it read, which are saved to your account.

That is not the same as making no network requests, and the marketing should not pretend otherwise. To identify and price what you hold, the app sends the ticker symbols it found to its own server each time a portfolio is opened, without waiting to be asked, and can look an unknown fund up from public SEC filings. The server keeps a list of the symbols it has seen, with no account attached, so it knows what to price; “Delete my data” does not clear that list. Where it meets a fund it cannot identify at all, it also sends the description printed beside it — normally the fund’s name — so the fund can be added to the database. Dollar amounts, percentages and long digit strings such as account references are removed from it first; a short number that is part of a name stays, and so could a share count or price printed in the same cell. To classify the companies inside a fund it is looking up, our server may send their ticker symbols to Finnhub. Your quantities, dollar values and cost basis are not otherwise sent for any of that. Signed out, they stay on your device. Signed in, importing a portfolio keeps the parsed result against your account so you do not have to import it again — the statement file itself still is not kept.

If you sign in, what we keep includes your email address; the name, the role and, for advisers and other professionals, the firm you give at sign-up, a phone number and how you heard of us if you add them, and when you accepted the terms; your password, never in readable form — it goes through PBKDF2-SHA-256 with a per-account salt, and only the derived value is kept; a log of which features you open, with timestamps, against that address; and, if you import a portfolio while signed in, the positions it read — symbol, description, account label, quantity, price, value, cost basis and asset type — with the date of your statement, one record per statement date. Our server strips what looks like an account number from the account label before it is saved — a run of four or more digits, or a form such as x7788 or …1234 — but a number written in short groups, or any name, is not recognised and would be kept. The plans and corrections you save — retirement, college, other assets, and account names, types and groups — are kept too, and if you look after clients, so is each client’s name, any phone and email you add for them, and their portfolios and plans. The anonymous identifier used to count visitors is recorded alongside your email if you go on to create an account, so “looked and left” can be told apart from “looked and signed up”. The privacy policy sets out what is sent, what is kept, and how to remove it.

Who built this

Portfolio Analysis is built and operated by Tulir Systems LLC, a company formed in New Jersey, United States, which also builds PulseAlert. It is not affiliated with, endorsed by, or sponsored by Fidelity Investments, Charles Schwab, Finnhub, or any broker, fund company or investor named anywhere in the app. It began as one investor’s attempt to get better tools than the platforms offered, and is now maintained as a Tulir Systems product.

A note on limitations

This tool is for informational and educational purposes only. It is not financial, investment, tax or legal advice, and nothing in it is a recommendation to buy, sell or hold any security. Past performance does not guarantee future results. Consider speaking with a licensed financial advisor or tax professional before acting on anything you see here. The terms of service set out the full detail.

Ready to see what your funds really own?

A plan opens every analysis above — see pricing. Or open the demo portfolio and look around with demo data first.

Sign up →

Already have an account? Sign in · Try the demo portfolio