Portfolio Performance Calculator
Separate investment performance from the timing and size of your deposits and withdrawals.
- Methods explained
- Save scenarios
- Compare saved scenarios
- Chart
- Printable report
Import valuations from CSV
Use the exact four-column template: date, valueBeforeFlow, externalFlow, fee. Headers can appear in any order. Dates use YYYY-MM-DD and money uses dot decimals with at most two places, without currency signs or grouping. Files stay in this browser.
Every valuation is before that row’s fee and deposit/withdrawal. Positive flows are deposits. The opening row has no flow or fee. Include every external flow; this importer cannot reconstruct valuations from transactions.
UTF-8, comma-separated, 2–300 rows, maximum 256 KiB. Quoted cells, escaped quotes and LF/CRLF line endings are supported. Blank records and unsupported headers need correction.
Normalized CSV contains the complete valuation rows. The JSON return summary includes those inputs, computed results and return statuses. Save a scenario for an editable worksheet.
Dated valuations
Include a valuation immediately before every deposit or withdrawal, plus the opening and closing valuations. Positive flows are deposits; negative flows are withdrawals. Enter fees here only if they have not already been deducted from the valuation.
Valuations 1–3 of 3 (maximum 300).
A new row starts on the following day at the previous closing balance, with no flow or fee. Replace these draft values with the actual pre-flow valuation and cash activity.
Returns and dollar reconciliation
Growth of $100, excluding external flows
Valuation ledger
| Date | Flow | Fee | Balance after flow | Subperiod return | Cumulative return |
|---|---|---|---|---|---|
| 2024-12-31 | $0.00 | $0.00 | $100,000.00 | Unavailable | 0.00% |
| 2025-12-31 | $100,000.00 | $0.00 | $210,000.00 | 10.00% | 10.00% |
| 2026-12-31 | $0.00 | $0.00 | $231,000.00 | 10.00% | 21.00% |
How it works›
CSV preview and replacement. The local CSV template uses date, valueBeforeFlow, externalFlow and fee. Dates must increase and money uses dot decimals with at most two places. Preview and correct all rows before explicitly replacing the worksheet. No transactions, missing valuations or fee treatment are inferred. Exports retain unavailable return values and their status.
Time-weighted versus money-weighted. Time-weighted return geometrically links returns between external cash flows. Money-weighted return solves dated investor cash flows using actual elapsed days / 365, then converts the annual rate to the same full period for comparison. Dates must increase; combine same-day external flows into one row. A valuation is required at every external flow. Missing valuations cannot be reconstructed from deposits alone. This worksheet does not establish GIPS compliance.GIPS Standards Handbook: calculation methodology
Fees, income and timing. Each row values the portfolio before its entered fee, then deducts the fee and applies the external flow. Fees are internal expenses, not investor withdrawals. Dividends retained in the portfolio stay in its value; dividends paid out belong in external withdrawals. Include all portfolio assets and cash consistently. Returns under one year are not annualized. The before-fee result adds back only fees entered here, not fund expenses already embedded in prices. A zero opening balance in any subperiod prevents a continuous time-weighted return.