Skip to content

The comparison notebook · 01

Did your stock beat an ETF? Account for the shares you sold.

One stock, one passive alternative, and one partial sale. Follow the money before comparing the percentages.

A stock’s price return does not tell you what your actual holding earned after fees and sales. To compare that holding with an ETF, give the alternative the same purchase budget, state the sale rule, and keep the sold shares separate from the shares you still own.

This guide is for IBKR investors who hold individual stocks, whether or not they also own ETFs. You do not need a long account history, an account with PerfectPerf, or an email address to use it.

Download the published example inputs (CSV) to use the same numbers in a spreadsheet. These are fictional teaching inputs, not IBKR data or an import template. The file contains the guide’s fixed example. It does not export changes made in the separate comparator.

01 / Start with the actual cost

A $1,000 purchase costs $1,010.

Buy 100 shares at $10 each, then add the $10 purchase fee. You spend $1,010 on shares initially worth $1,000. The fee is part of the starting cost, so the return begins slightly below zero.

Where the purchase budget goes

100 shares × $10$1,000.00
Purchase fee$10.00
Acquisition cost$1,010.00
Value immediately after purchase$1,000.00Return on the full cost-0.99%
The bar divides the $1,010.00 budget proportionally. The small coral end is the purchase fee. That fee belongs in the cost once, not again at sale.

The ETF receives the same total budget and pays the same dollar fee. At the same $10 starting price, it also buys 100 units.

02 / Separate what you sold

One purchase branches into two parts.

On 2 February, sell 40 of the 100 shares at $12. The sold shares take 40% of the original acquisition cost with them. The other 60% stays with the shares you still own.

Original purchase100 shares · $1,010.00
Closed part · 40%40 shares sold$404.00 allocated cost
Open part · 60%60 shares held$606.00 allocated cost
40 × $12 sale value$2.00 sale fee$478.00 net proceeds
Each square represents one share. The closed gain is $478.00 − $404.00 = $74.00, or 18.32%. The remaining shares keep their $606.00 cost until the final valuation.

A closed part means some shares were sold, even while the position remains open. This proportional allocation is a performance convention, not a tax-lot calculation. With several purchases, the underlying position method uses average acquisition cost.

03 / Compare like with like

Two parts. Two finish lines.

By 2 March, the remaining 60 shares are worth $780 at $13 each. Their $174 gain on $606 of cost gives a cumulative 28.71% return. The shares sold in February keep their earlier result.

Focus on a finish line

Same prices, same fees, same sale fraction.

Highlight a part of the comparison

2 Jan → 2 Feb 2026

Closed part

40 shares sold

Stock18.32%
Synthetic ETF18.32%

Stock − ETF0.00 pp

Allocated cost
$404.00
Net sale proceeds
$478.00
Gain on each side
$74.00

2 Jan → 2 Mar 2026

Open part

60 shares still held

Stock28.71%
Synthetic ETF28.71%

Stock − ETF0.00 pp

Allocated cost
$606.00
Remaining value
$780.00
Gain on each side
$174.00
Both comparisons use the same 0–30% scale and show cumulative returns on each part’s allocated cost. The closed part ends at sale; the open part ends at valuation. These are endpoint comparisons, not a price history. “pp” means percentage points.

The identical prices make the stock and synthetic ETF equal here: 0.00 percentage points apart on both parts. The later price changes only the shares still held, never the return already realized on sold shares.

04 / Know what this comparison answers

Equal inputs are a useful check, not a claim of outperformance.

In the published example, identical stock and ETF prices, the same fees and the same sale fraction produce a 0.00 percentage-point difference for both parts. That is a consistency check. It does not show that stock-picking, an ETF, or PerfectPerf will outperform.

Purchase budget
The ETF gets the stock’s total acquisition cost. The same dollar purchase fee is deducted before buying ETF units at the synthetic ETF price. Fractional ETF units are allowed. At baseline, ($1,010 − $10) ÷ $10 = 100 units.
Partial-sale rule
Both sides sell the same proportion on 2 February and incur the same dollar sale fee. This is a matched-fraction comparison; it does not promise identical sale proceeds or identical total cash flows when the prices differ.
Return and difference
For each part, return = (value or net proceeds − allocated cost) ÷ allocated cost. The open value is a valuation, without an assumed final sale fee. Difference = stock return minus ETF return, expressed in percentage points. Calculations retain precision; displayed amounts and percentages are rounded.
Period and limits
The closed part runs from 2 January to 2 February; the open part runs from 2 January to 2 March 2026. Returns are cumulative, not annualized. This is one position, not a whole-portfolio TWR or MWR. Adding or averaging position returns does not reconstruct a portfolio return.

Whole-portfolio analysis also needs external deposits, withdrawals, cash and the timing of valuations. It is a separate question from whether one position beat a passive alternative. Broader portfolio analysis in PerfectPerf is planned; this guide does not imply it is available today.

The example also differs from “what if I had kept every share?” Here, the sale happens on both sides. A purchase-conservation simulation would retain the original purchase independently of later real sales and answer a different question.

Sources and further context

The arithmetic above is PerfectPerf’s stated illustration, rather than a claim that a broker or regulator prescribes this exact benchmark convention.

Sources checked 17 October 2026. Educational illustration; no security, fund or investment strategy is recommended.