Free Portfolio Performance Calculator

Estimate a period return using a stated midpoint cash-flow assumption. This is not an exact IRR, a historical performance chart or a live index comparison.

Example inputs are illustrative. Enter account values in USD on the stated dates and external flows during that period.

Supply a verified cumulative return for the same dates, currency and distribution convention. No benchmark is downloaded or assumed.

Complete the inputs and calculate. No historical path is inferred from two account values.

How the cash-flow estimate works

The calculation is (ending value − beginning value − net external flows) ÷ (beginning value + 0.5 × net external flows). It assumes the net flow is invested for half the period. Beginning capital and the weighted denominator must be positive; ending value may be zero.

For a beginning value of USD 10,000, net deposits of USD 10,000 and ending value of USD 21,000, the gain is USD 1,000 and midpoint-weighted capital is USD 15,000. The estimated period return is 6.67%. A deposit at the start or end would imply a different return.

Cash-flow timing changes the answer

The GIPS Standards Handbook’s calculation methodology explains weighting individual external flows by time invested. This page has only one net-flow input and uses a fixed half-period weight. It cannot claim a fully dated Modified Dietz calculation, exact money-weighted IRR or exact time-weighted return.

Deposits and withdrawals that cancel in net terms may still have different investment exposure. For large or irregular flows, use dated cash-flow analysis and, where required by the return method, account valuations around those flows.

Use consistent values and comparisons

Include retained dividends and interest in portfolio value. Treat transfers into or out of the account as external flows. Fees or taxes already deducted affect the entered values; no separate gross-up or tax calculation is performed here.

For at least 365 days, the annualized estimate is (1 + period return)^(365 ÷ days) − 1, when defined. It summarizes this approximation and does not forecast future growth. No simulated equity curve or assumed 10% index return is used.

Frequently Asked Questions

Is this an exact money-weighted return or IRR?

No. This is a midpoint cash-flow approximation: net contributions are assumed to be invested for half the period. It does not use the dates and amounts of individual deposits or withdrawals, solve an IRR, or link subperiod returns for an exact time-weighted return.

How do I enter net additions and withdrawals?

Enter external deposits minus external withdrawals. Positive means net deposits; negative means net withdrawals. Keep dividends and interest retained inside the account in the portfolio values, not external deposits. A single net amount cannot capture offsetting flows on different dates.

Where does the benchmark return come from?

You may enter a verified cumulative benchmark return for exactly the same dates and currency. No index data is fetched. The comparison is an arithmetic percentage-point difference, not alpha or a cash-flow-matched hypothetical investment. Leave it blank if you do not have a comparable return.

When is an annualized figure shown?

Only for periods of at least 365 days, when one plus the estimated period return is nonnegative and the result is finite. It uses a 365-day year. Annualizing an approximate cash-flow return does not make it an exact IRR or a forecast.

Why can this differ from my broker’s report?

Cash-flow timing, valuation dates, fees, distributions, tax treatment and return methodology can differ. This tool cannot reconstruct those details from beginning value, ending value and one net-flow number. Large or irregular flows can make the estimate misleading.

Review a Strategy’s Rules Separately

Pineify’s Visual Editor can help construct supported indicators and strategy rules for TradingView. This account-return estimate is not a strategy backtest and does not predict whether new rules will improve performance.

Explore the Visual Editor