Portfolio rebalancing calculator
Enter what each holding is worth today and the share of the portfolio you want it to be. You get the drift and the exact amount to buy or sell — or, if you would rather not sell, where to put new money instead.
Your holdings
One row per holding, with what it is worth today and the share of the portfolio you want it to be.
| Holding | Now | Target | Drift | Buy / sell |
|---|---|---|---|---|
| VTI | 60.0% | 60.0% | 0.0 pp | Hold |
| VXUS | 17.1% | 20.0% | −2.9 pp | Buy $2,000.00 |
| BND | 22.9% | 20.0% | +2.9 pp | Sell $2,000.00 |
Furthest from target: 2.9 percentage points. Whether that is far enough to be worth trading is your call — see below.
Runs in your browser. Nothing is saved or sent anywhere.
How the trades are calculated
Rebalancing is one subtraction repeated per holding. Work out what the portfolio is worth in total, decide what each holding should be worth at that total, and the gap is the trade.
Worked example
You hold $42,000 of VTI, $12,000 of VXUS and $16,000 of BND, and you want 60 / 20 / 20.
- Portfolio total:
$42,000 + $12,000 + $16,000 = $70,000 - VXUS should be:
$70,000 × 20% = $14,000 - VXUS is worth
$12,000, so you buy $2,000 - BND should also be
$14,000and is worth$16,000, so you sell $2,000
VTI is already at 60%, so it holds. The buys and the sells match, because nothing new came in.
Drift is reported separately, in percentage points, because the dollar figure on its own hides the scale of the problem. BND above is $2,000 out — which is 2.9 points in a $70,000 portfolio and would be a rounding error in a $700,000 one.
Rebalancing without selling
If you are adding money anyway, you can close the gap by buying alone. Tick rebalance without selling and the calculator spreads your cash across whatever is short of its target, weighted by how short it is. Nothing is trimmed, so the allocation moves toward the target rather than landing on it exactly — how close you get depends on how much you are adding.
One result catches people out. Adding cash raises the total the percentages are measured against, so a holding already sitting exactly on its target still needs more dollars to stay there — and it will take a share of the money. In the example above, adding $5,000 buys VTI and VXUS $2,500 each and leaves BND alone: BND is the only one genuinely overweight, and the only way to fix it directly would be to sell.
The reason people reach for this is that selling in a taxable account can create a taxable event, while buying does not. That is the mechanic, not a recommendation — whether it applies to your accounts is a question for a tax professional.
When people rebalance
There are two common approaches, and this page is not going to tell you which is right. Some people rebalance on a calendar — once a year, or each quarter — and simply accept whatever the drift happens to be on that date. Others set a threshold and act only when a holding moves more than a chosen number of points away from its target, which means doing nothing for long stretches.
Both cost something. Trading has spreads and, in a taxable account, tax consequences; leaving drift alone changes the risk of the portfolio away from what you chose. That trade-off is yours to weigh, and it is worth talking through with a professional if the amounts are meaningful to you.
The hard part isn't the arithmetic
Every calculator on this subject, including this one, starts by asking what each holding is worth right now. That is the question that is actually difficult. The figures live in different places — a taxable account at one broker, a Roth at another, something old you barely look at — and no single broker app shows you all of them. If you keep them in a spreadsheet instead, the prices go stale between visits and you end up rebalancing against numbers from last month.
StoxDeck exists for that part. Enter each holding once — no brokerage login, no credentials — and it prices the whole deck live on every load, across every account, with gain and loss measured from what you actually paid. It will not tell you what your allocation should be and it does not place trades; it keeps the numbers you would type into a page like this one current.
Build your first deckOr try the demo deck first — it needs no signup. Bought a holding at several different prices? The cost basis calculator works out your average cost per share.
Common questions
How do you work out what to buy and sell when rebalancing?
Add up what the portfolio is worth, including any new cash. Multiply that total by each holding's target percentage to get the value it should have. Subtract what the holding is actually worth: a positive number is what you buy, a negative number is what you sell. A $70,000 portfolio with a 20% target on a holding worth $16,000 needs $14,000 there, so $2,000 comes out.
Can I rebalance without selling anything?
Yes, if you have new money to add. Tick "rebalance without selling" and the calculator splits your cash across whatever is short of its target, in proportion to how short it is. One thing that surprises people: adding cash raises the portfolio total, so a holding already sitting exactly on its target percentage still needs more dollars to stay there — it will get a share of the money too. Nothing is sold, so the allocation moves toward the target rather than landing exactly on it. Selling inside a taxable account can create a taxable event, which is one reason people prefer to add rather than trim — how that applies to you is a question for a tax professional.
What does the drift column mean?
Drift is how far a holding's current share of the portfolio sits from its target, measured in percentage points. A holding you want at 20% that has grown to 22.9% has drifted +2.9 points. It is shown separately from the dollar trade because the same dollar amount means something very different in a small portfolio than a large one.
How do I work out a holding's portfolio weight?
Divide what the holding is worth by the value of the whole portfolio, then multiply by 100. A $12,000 holding inside a $70,000 portfolio has a weight of 17.1%. The calculator works this out for every row and shows it in the "Now" column — that is the figure your target percentage is measured against, and the difference between the two is the drift.
Do my target percentages have to add up to 100%?
The calculator will not stop you if they don't, but it will say so. Targets are taken literally: if they add up to 90%, the remaining 10% is treated as cash you are deliberately leaving unallocated. If they add up to more than 100%, the trades will ask for more money than the portfolio holds.
Does StoxDeck rebalance my portfolio for me?
No. StoxDeck does not choose an allocation, does not tell you when to rebalance, and does not place trades — it is a tracker, not a broker or an adviser. What it does is keep the input this calculator needs current: what every holding is worth right now, across every account, measured from the cost basis you entered.
Is anything I enter here private?
It never leaves your browser. The calculator does the arithmetic locally — no values are transmitted, stored, or logged, and there is no account to create before using it.
Disclaimer. This calculator is informational only and is not investment, tax, or financial advice. It does the arithmetic on figures you enter; it does not assess whether an allocation is suitable for you, and no target weight shown is a recommendation. StoxDeck is a portfolio-tracking tool, not a broker or an adviser. Selling investments can have tax consequences that depend on your account type and your own circumstances — check them with a professional.