Free tool · runs in your browser
Portfolio Analyzer
Upload your brokerage positions and see how everything you hold has behaved over the last 1–5 years.
1 · Add your holdingsCSV from any major broker, a pasted list, or typed in
Processed in your browser. Only ticker symbols are sent to our server.
Details
Your file is read in your browser and never uploaded. Only the ticker symbols are sent to our server to look up price history; share counts, dollar amounts, and account numbers never leave this page. See the privacy policy.
Paste or type holdings instead
Look for Export or Download on the page that lists your positions or holdings. Any CSV with a Symbol column plus a Quantity or Market Value column works. If your broker has no export, download our blank template and fill it in.
- Log in at fidelity.com, then open Accounts & Trade → Portfolio.
- Pick All accounts (or one account) and open the Positions tab.
- Click the download icon (⤓) at the top right of the positions table.
- Drop the downloaded Portfolio_Positions_….csv above.
- Go to Accounts → Positions.
- Choose an account, or All Brokerage Accounts.
- Click the Export icon (top right of the table) and save the CSV.
- Drop the …-Positions-….csv file above.
- Open My Accounts → Download center (search "download center" if you can't find it).
- Choose A spreadsheet-compatible CSV file, then pick your accounts.
- Pick any recent date range and download.
- Drop the OfxDownload.csv above. Only the holdings section is read; transactions are ignored.
- Go to Accounts → Portfolios and select the account.
- Click Download (or the ⤓ icon) above the positions table and choose CSV.
- Drop the file above.
- Open Portfolio → Holdings (or Accounts → Holdings).
- Use Export / Download above the table and choose CSV.
- Drop the file above.
- In the Client Portal, go to Performance & Reports → Statements.
- Run an Activity statement for today in CSV format.
- Drop it above. Only the Open Positions section is read.
Robinhood doesn't offer a positions CSV. Open Investing in the app, then use Paste or type holdings instead with each ticker and its share count (choose "share count"). Robinhood does export account activity, which the upcoming "How did you do?" feature will read.
Broker menus move around. If a step doesn't match what you see, look for an Export or ⤓ button on the page that lists your positions.
2 · Review holdings
| Ticker | Shares | Value ($) | Cost basis ($) | Weight | Remove |
|---|
Fill in either shares or dollar value per line; the other is computed from the latest price. Cost basis (total amount paid) is optional and only feeds the gains table. Money-market funds and cash are modeled as earning the 3-month T-bill rate. Options, bonds by CUSIP, and other unpriced lines are skipped.
What these numbers mean
- Total return
- Growth from the start of the period to today, with dividends reinvested (adjusted prices).
- CAGR
- Compound annual growth rate: the steady yearly return that would produce the same total return.
- Avg return
- Arithmetic average daily return × 252 trading days. Always ≥ CAGR; the gap grows with volatility.
- Std dev
- Annualized volatility: standard deviation of daily returns × √252. About two-thirds of years land within ±1 std dev of the average.
- Sharpe
- Average return above the risk-free rate (3-month T-bills) divided by volatility. Above 1 is strong; below 0 means T-bills did better.
- Sortino
- Like Sharpe, but only counts downside volatility, so upside swings aren't penalized.
- Max drawdown
- Largest peak-to-trough decline during the period.
- Calmar
- CAGR ÷ |max drawdown|: return earned per unit of worst-case pain.
- Beta
- Sensitivity to the benchmark. 1.2 means it moved about 1.2% for each 1% move in the benchmark.
- Alpha
- Annualized return beyond what beta alone predicts (Jensen's alpha). Backward-looking, not skill.
- Correlation
- How closely two daily-return series move together, from −1 to +1. Lower correlation between holdings means more diversification.
- Efficient frontier
- For each level of volatility, the best return any mix of your holdings (no shorting or leverage) earned over the period: Markowitz mean-variance. A portfolio below it took more risk than it needed for its return. It's computed with hindsight.
- % of risk
- Each holding's share of total portfolio variance: its weight × its covariance with the whole portfolio ÷ portfolio variance. Sums to 100%.
- Effective # of holdings
- 1 ÷ sum of squared weights. Ten equal positions = 10; one 90% position plus nine tiny ones ≈ 1.2.
- Unrealized gain
- Current value minus cost basis (what you paid, per your broker). Lifetime, not annualized.
- Expense ratio
- The yearly fee a fund takes out of its assets, as a % of what you hold. 0.50% on $10,000 is $50 a year, every year.
- Look-through
- Adding up what your funds hold underneath, so owning AAPL directly and through three index funds shows up as one total.
- Tax-loss harvesting
- Selling a position below what you paid to realize a loss that offsets gains (and up to $3,000 a year of ordinary income), then buying something similar but not "substantially identical" to stay invested.
- Wash sale
- If you buy the same or a substantially identical security within 30 days before or after selling at a loss, in any account, the loss is disallowed for now.
- Monte Carlo
- Running thousands of random markets with a chosen average return and volatility to see the spread of outcomes, not just one average line.
- Money-weighted return
- Your personal annualized return including the timing and size of your buys and sells (the IRR of your cash flows). Different from the time-weighted figures above, which ignore when money went in.
- Up / down capture
- Average return in the benchmark's up months (or down months) as a percent of the benchmark's. Under 100% on the down side is good.
- Sharpe 95% range
- The span of Sharpe ratios that fit the history about as well as the one measured. A Sharpe from a few years of returns is an estimate, and lopsided or fat-tailed returns make it less certain. The range widens to show that. Because the range allows for error in both directions, it can dip below zero even when the probability of a Sharpe above zero is as high as 97%.
- Probability true Sharpe is above zero
- How confident the history lets us be that the underlying Sharpe ratio is above zero, meaning the return above T-bills wasn't just noise (the probabilistic Sharpe ratio). It's a statistical confidence level under standard assumptions, not a guarantee, and says nothing about the future.
- Factor exposure
- How strongly your monthly returns moved with each Fama-French factor, estimated by regression. An exposure of 0.30 to Size means that in a month when small companies beat large ones by 1%, your portfolio tended to gain about 0.3% more than it otherwise would have.
- Market (Mkt−RF)
- The whole US stock market's return above 1-month T-bills. An exposure near 1.0 means you moved about one-for-one with the market.
- Size (SMB)
- Small companies minus big ones. Positive = a small-company tilt; negative = a large-company tilt.
- Value (HML)
- Cheap stocks (high book value relative to price) minus expensive ones. Negative means a growth tilt.
- Profitability (RMW)
- Highly profitable companies minus weakly profitable ones.
- Investment (CMA)
- Companies that grow their assets conservatively minus those expanding aggressively.
- Momentum (MOM)
- Stocks that rose most over the past year (skipping the latest month) minus those that fell most.
- Factor alpha
- The average yearly return left over after accounting for every factor exposure. The Alpha tile above is Jensen's alpha, which only adjusts for the benchmark; factor alpha also adjusts for size, value, profitability, investment and momentum tilts.
- t-stat
- An estimate divided by its standard error. Beyond about ±2, the estimate is statistically distinguishable from zero (roughly 95% confidence); inside that, it could easily be noise.
- R-squared
- The share of the month-to-month ups and downs in your returns that the factors explain, from 0% to 100%.
- Shrunk covariance
- A steadier estimate of how holdings move together: the measured covariances blended with a simple version where every pair has the same average correlation (Ledoit-Wolf). The blend weight, or intensity, is estimated from the data: 0 = measured only, 1 = fully simplified.
- Same cash flows comparison
- Your buys, sales and dividends replayed into an index fund on the same dates, so you can compare your money-weighted return with what the same money would have earned there.
Fama-French factor returns come from the Kenneth R. French Data Library.
Past performance does not predict future results. This is an educational tool, not investment advice. Prices come from third-party market data and may contain errors.