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.
Portfolio rebalancing result
| Holding | Current value | Current weight | Target weight | Target value | Trade | Amount | Drift | Tolerance |
|---|
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
Portfolio Beta CalculatorPortfolio Variance CalculatorSharpe Ratio CalculatorInvestment Withdrawal Calculator