Portfolio Rebalancing Calculator: Buy and Sell Plan

Target-allocation trade planner

Portfolio Rebalancing Calculator

Calculate how much to buy or sell to restore target portfolio weights after market movement, a contribution or a withdrawal.

Formatting only; no exchange-rate conversion is performed.
The trades will include the selected external cash flow.
Enter a positive amount after choosing add or withdraw.
A holding is flagged when absolute drift exceeds this threshold.

Current portfolio and target weights
HoldingCurrent valueTarget weight (%)Action

Target weights must total exactly 100%. Recommendations exclude taxes, transaction costs, bid-ask spreads and account restrictions.

Portfolio rebalancing formulas

Current portfolio value = sum of current holding values

Value after cash flow = current value + contribution − withdrawal

Current weight = current holding value ÷ current portfolio value × 100

Target holding value = value after cash flow × target weight ÷ 100

Trade amount = target holding value − current holding value

Weight drift = current weight − target weight

A positive trade amount is a buy and a negative amount is a sell. Across the complete portfolio, total buys minus total sells equals the contribution or the negative of the withdrawal. With no external cash flow, total buys and total sells are equal apart from displayed rounding.

Verified examples

Rebalance without adding cash

A US$100,000 portfolio holds US$60,000 in US stocks, US$25,000 in bonds, US$10,000 in international stocks and US$5,000 in cash. Targets are 50%, 30%, 15% and 5%. The calculator sells US$10,000 of US stocks, buys US$5,000 of bonds and US$5,000 of international stocks, and leaves cash unchanged.

Rebalance after a US$10,000 contribution

With the same holdings and targets, the ending portfolio is US$110,000. Target values are US$55,000, US$33,000, US$16,500 and US$5,500. The plan sells US$5,000 of US stocks and buys US$8,000 of bonds, US$6,500 of international stocks and US$500 of cash. Total buys of US$15,000 minus sales of US$5,000 equal the US$10,000 contribution.

Rebalance after a US$20,000 withdrawal

The ending value becomes US$80,000. Target values are US$40,000, US$24,000, US$12,000 and US$4,000. The plan sells US$20,000 of US stocks, US$1,000 of bonds and US$1,000 of cash, then buys US$2,000 of international stocks. Net sales equal the US$20,000 withdrawal.

How to interpret portfolio drift

Drift is measured in percentage points, not as a percentage change in the holding. A current weight of 60% against a 50% target has a +10 percentage-point drift. The tolerance field flags positions whose absolute drift exceeds the selected threshold; it does not suppress the full-rebalance trade recommendation.

Limits and assumptions

  • Use 2 to 10 holdings. Current values may be zero but their total must be positive. Each value is limited to 1,000,000,000,000,000 with up to two decimals.
  • Each target weight ranges from 0% to 100%, supports up to six decimals and all targets must total 100% within 0.000001 percentage point.
  • A withdrawal must be smaller than the current portfolio value. Contributions and withdrawals are limited to 1,000,000,000,000,000 with up to two decimals.
  • The tolerance may range from 0 to 100 percentage points with up to six decimals. A holding exactly at the threshold is labeled within tolerance.
  • The model assumes all trades can execute at the displayed values. It excludes taxes, fees, bid-ask spreads, price movement during trading, minimum lots and wash-sale or account rules.
  • The tool proposes a full rebalance. It does not optimize for taxes, minimize the number of trades, recommend an allocation or forecast returns.

Risk note: Rebalancing restores a chosen allocation; it does not make that allocation suitable or guarantee profit. Target weights should reflect the investor’s objectives, horizon and risk capacity.

Related calculators