CalcStocks
Investing maths, shown in full
EN

Stock Return & Benchmark Calculator

Add multiple buys and sells. See your real return and whether you beat the market.

Multiple transactions Money-weighted return Market comparison Runs in your browser
Your stock transactions

Enter one stock's cash flows. Use a dividend row for cash dividends; reinvested dividends should be entered as a dividend plus a new buy.

Type Date Shares Price or cash Fee Cash flow Remove
−$5,005.00
−$2,005.00
+$120.00
+$5,245.00
Up to 40 rows. Transactions are calculated in date order.
Value the position and choose a benchmark

If shares remain, enter their price on the review date. The market comparison replays the timing and size of your stock exposure.

Must be on or after your last transaction.

$

Required only while shares remain.

Fixed, cached adjusted-close market tracks; no ticker or account lookup.

Loading the market comparison…

Annualized money-weighted return

—

Enter valid transactions to calculate the position.

Net result
—
Simple return on buy outflows
—
Total invested
—
Net sale proceeds
—
Shares remaining
—
Remaining value
—
Cash dividends
—
Total fees
—

Your dated cash flows

Buys are cash outflows. Sells, dividends, and the review-date value are inflows.

  1. 2023-01-03: −$5,005.00 buy
  2. 2024-07-01: +$120.00 cash dividend
  3. 2026-01-02: +$6,000.00 remaining value

Net result = sales + dividends + remaining value − buy outflows

XIRR finds the annual rate that makes the dated cash flows' net present value equal zero.

Read the method and limitations. This is a pre-tax performance calculation, not tax-lot accounting or investment advice.

Need the profit on one specific buy and sale?

This page measures the whole history of one stock. A tax lot is a narrower question.

Use the Stock Profit Calculator when you already know the exact shares, cost basis, sale price, and fees for one measured lot. This calculator does not choose FIFO or specific shares for you.

Open Stock Profit Calculator

How to calculate one stock's real return

1

Add every buy

Enter the date, shares, price per share, and whole-trade fee for each purchase. Separate rows preserve the actual timing instead of hiding it inside an average price.

2

Add sells and cash dividends

A sale creates a positive cash flow after its fee. A cash dividend is entered as one amount. For reinvestment, add both the dividend and the resulting purchase.

3

Value shares still held

Choose a review date and enter the stock price on that date. The calculator treats the remaining shares as an ending value without pretending they were sold.

4

Compare like with like

Choose a market track. The calculator replays your buys and proportional sells against it, then compares annualized money-weighted returns.

Why this is more than a stock average calculator

An average-price calculator tells you the weighted cost of shares bought. It does not fully measure performance after partial sales, dividends, fees, different dates, and shares still held. This calculator turns those events into dated investor cash flows and measures the whole position.

Net result = net sale proceeds + cash dividends + remaining value − total buy outflows

0 = Σ cash flowᵢ ÷ (1 + annual return)^((dateᵢ − first date) ÷ 365)

How the market comparison stays fair

On each stock-buy date, the same cash outflow purchases units of the selected market track at the latest available observation on or before that date. When you sell stock, the replay sells the same fraction of its market units as the fraction of stock shares sold. It then values any units left on your review date. Both sides use money-weighted annual returns, so the comparison respects when and how much you invested.

Simple return versus annualized money-weighted return

Simple return divides the net result by all buy outflows. It is easy to audit but ignores how long each dollar was invested. The annualized money-weighted return, also called XIRR for irregular dates, incorporates the size and timing of each cash flow.

What the result does and does not mean

The result describes one long stock position before tax. It does not identify tax lots, calculate taxable gain, fetch broker records, convert currencies, model shorts or leverage, adjust for inflation, or decide whether you should buy, hold, or sell.

Multiple-buy stock return examples

These cases show why an average cost alone cannot answer the performance question.

  • Two buys, one partial sale. Buying 100 shares at $50 and 50 at $40 gives an average price, but selling 75 later still leaves 75 shares whose review-date value belongs in total return.
  • Cash dividend. A $120 dividend is a positive investor cash flow. It increases the position result even though it does not change the number of shares held.
  • Reinvested dividend. Enter the cash distribution as a dividend and the reinvestment as a buy on its trade date. That records both the return received and the new shares acquired.
  • Closed position. When all shares have been sold, no current stock price is needed. The dated buys, sales, dividends, and fees can still produce an annualized return.
  • Benchmark comparison. Two investors can own the same stock and earn different money-weighted returns because they bought and sold at different times. The market replay uses each investor's own timing.

XIRR check against Microsoft's published example

Microsoft documents five irregular cash flows whose XIRR is 0.373362535, or about 37.34%. The calculation engine includes the same independent regression check:

  • 2008-01-01: −$10,000 initial investment.
  • 2008-03-01 and 2008-10-30: +$2,750 and +$4,250.
  • 2009-02-15 and 2009-04-01: +$3,250 and +$2,750.
  • Annualized result: approximately 37.34% using a 365-day year.

Microsoft Support — XIRR function — the first-party definition, formula convention, and worked irregular-cash-flow example.

Checked 30 July 2026. Microsoft supplied the public example; it has no connection with CalcStocks and has not reviewed or endorsed this calculator.

Stock return calculator questions

Multiple buys and sells, annualized return, dividends, fees, benchmark logic, limits, and privacy.

Transactions

What does this stock return calculator calculate?

It measures one stock position from multiple dated buys, sells, cash dividends, fees, and any shares still held. It reports net result, simple return, annualized money-weighted return, and an optional like-for-like market comparison.

How is this different from a stock average calculator?

A stock average calculator finds weighted average purchase price. This page continues through partial sales, dividends, fees, remaining value, and transaction dates, so it answers how the whole investment performed rather than only what the shares cost.

Can I enter many buys at different prices?

Yes. Add a row for each purchase with its own date, share quantity, price, and fee. The calculator supports up to 40 transaction rows and processes them in date order.

Can I enter partial stock sales?

Yes. Each sale reduces the shares held and adds its proceeds after the entered fee. You cannot sell more shares than the preceding buys provide.

How do I add dividends?

Choose Dividend and enter the total cash amount received. Do not enter a per-share dividend unless that is also the exact total cash you received.

How should I enter reinvested dividends?

Use two rows: a positive dividend for the distribution and a buy for the shares acquired through reinvestment. This preserves both the return received and the new cash-equivalent investment.

What if I sold every share?

Enter all sales. If the ending share balance is zero, the current-price field is not needed; the review date still anchors the reporting period and benchmark replay.

Returns

What is annualized money-weighted return?

It is the annual rate that makes the net present value of your dated cash flows equal zero. Because it reflects when and how much you invested or withdrew, your own transaction timing affects the result.

Why is annualized return different from simple return?

Simple return divides the net result by all purchase outflows and ignores time. Annualized money-weighted return discounts every cash flow by its date, making returns over different holding periods more comparable.

Why is the remaining stock value included?

Unsold shares are still part of your investment. Valuing them on the review date creates an ending cash-flow equivalent, allowing the open and realized portions of the position to be measured together.

How do fees affect return?

A buy fee increases the cash invested, while a sell fee reduces proceeds. Both reduce net result and are included in the dated cash flows used for annualized return.

Can the annualized stock return be negative?

Yes. A negative rate means the dated inflows and ending value were insufficient to match the dated outflows after accounting for time. The net dollar result can also be negative.

Why might annualized return be unavailable?

XIRR needs at least one negative and one positive dated cash flow and a unique numerical solution. Unusual cash-flow patterns can have no solution or multiple solutions; the calculator leaves the annual rate unavailable instead of selecting one silently.

Benchmark

How does the benchmark comparison work?

Each stock-buy cash outflow purchases market-track units on the same date. Each stock sale removes the same fraction of the market position as the fraction of stock shares sold, and any units left are valued on the review date.

Why does the benchmark use proportional sales?

It keeps benchmark exposure aligned with the fraction of your stock position you chose to exit. Comparing all benchmark money at the final date would ignore your partial withdrawals and would not replay the same investment path.

How are dividends handled in the benchmark?

Your entered cash dividends are actual positive cash flows. The market tracks use adjusted-close-based series, which incorporate component distributions into the level; a separate benchmark dividend cash row would count them twice.

Which market benchmark should I choose?

Choose a broad track that represents the opportunity you want to compare against, such as US, global, European, or smaller US companies. No broad gauge is a perfect substitute for a stock's sector, country, currency, or risk.

What does beat the market mean here?

It means your stock's annualized money-weighted return exceeded the selected market track's annualized money-weighted return using the replayed cash flows. It does not mean the stock took the same risk.

Why is the market comparison unavailable?

The cached track may be temporarily unavailable or may not extend far enough back for every transaction. Your stock arithmetic remains available because it does not depend on market data.

What market level is used on weekends or holidays?

The calculator uses the latest available track observation on or before the entered date. The substituted benchmark cash-flow list shows the effective observation date used.

Limits and privacy

Does this calculate taxable capital gain?

No. It measures investment performance, not tax lots. Taxable gain can depend on FIFO or specific identification, adjusted basis, holding period, account type, jurisdiction, and other rules.

Can I use another currency?

The arithmetic works if every cash input and stock price uses one consistent currency, but the interface displays dollars and performs no currency conversion. The benchmark track also does not hedge or translate your stock's currency exposure.

How do I handle a stock split?

Use split-adjusted share quantities and prices consistently. Mixing pre-split shares with post-split prices will distort the remaining balance and return. Check the adjusted transaction history from your broker.

Can this calculate short-selling or margin performance?

No. The transaction engine models one long stock position. Borrow fees, dividends owed, margin interest, leverage changes, and forced liquidation require a different cash-flow model.

Why might the result differ from Nordnet or another broker?

A broker view may use a selected period, average price, tax-lot basis, currency conversion, corporate-action adjustments, or exclude withdrawn sale cash. Compare every transaction, fee, dividend, share adjustment, date, and review price before treating either figure as equivalent.

Are my transactions sent to CalcStocks?

No. The return calculation and transaction list run in your browser. The market request fetches the same fixed cached tracks for everyone and does not include your transaction values.

Does beating the benchmark mean I should hold the stock?

No. The comparison is backward-looking arithmetic. It does not adjust for risk, diversification, taxes, future returns, or your circumstances and is not a recommendation to buy, hold, or sell.

Method, primary sources, and limitations

Built and maintained by CalcStocks as a browser-only performance tool for one long stock position. The annualized result applies an XIRR-style irregular-cash-flow calculation; the market comparison replays the same investment timing with a fixed cached track.

Educational pre-tax estimate. The market tracks are adjusted-close-based gauges with about five years of cached history, not investable funds, and may differ from a named index or ETF because of source, currency, costs, tax, and methodology. The calculator excludes tax-lot selection, corporate actions unless you adjust the entries, inflation, currency conversion, short selling, leverage, risk adjustment, and tax. Microsoft and CFA Institute did not review or endorse CalcStocks.

Contact

Found a bug, disagree with a formula, or want a calculator that is not here yet? Tell us.

Your message is emailed to us and not stored in a database. Please do not include account numbers, passwords or other sensitive details.