Starting allocation: 40% BTC, 30% ETH, 30% Altcoins
After 3 months of BTC outperformance:
- BTC: 55% (was 40%)
- ETH: 25% (was 30%)
- Altcoins: 20% (was 30%)
You're now running a BTC-heavy portfolio by default, not by design.
- Risk control - Maintains intended risk exposure
- Systematic profit-taking - Sells winners, buys losers
- Emotional discipline - Rules override feelings
- Mean reversion capture - Benefits from asset rotation
Not rebalancing lets winners run. In strong trends, rebalancing reduces returns by trimming outperformers too early.
The right approach depends on your goals and market conditions.
Rebalance on a fixed schedule regardless of drift.
Common intervals: - Monthly: High frequency, more tax events, tighter control
- Quarterly: Balanced approach, common for most portfolios
- Annually: Lowest friction, allows significant drift
Pros: - Simple to implement
- Predictable schedule
- Easy to automate
Cons: - May rebalance when unnecessary
-
May miss optimal timing
-
Doesn't respond to market conditions
-
Best for: Passive investors, tax-advantaged accounts, simple portfolios
Rebalance when any asset drifts beyond a set threshold.
Example thresholds: - 5% absolute drift: Rebalance when 40% target becomes 45% or 35%
- 20% relative drift: Rebalance when 40% target becomes 48% or 32%
Pros: - Only trades when necessary
- Responds to market moves
- More tax-efficient
Cons: - Requires monitoring
-
May trigger frequently in volatile markets
-
Needs clear rules for partial rebalancing
-
Best for: Active managers, larger portfolios, volatile assets
Combine calendar and threshold triggers.
Implementation: - Check monthly
- Only rebalance if threshold exceeded
- Force rebalance annually regardless
This captures benefits of both methods while reducing unnecessary trades.
Adjust target allocations based on market conditions.
Momentum-based: - Overweight assets with positive momentum
- Underweight assets with negative momentum
- Rebalance to new dynamic targets
Volatility-based: - Reduce allocation to high-volatility assets
Example Portfolio:
- BTC: 40%
- ETH: 25%
- Large Cap Alts: 20%
- Stablecoins: 15%
- **Trigger:** Any asset ±5% from target
- **Frequency:** Check weekly
- **Method:** Full rebalance to targets
Minimum trade: $100 (avoid fee drag)
Current portfolio value: $10,000
Current allocation vs target:
| Asset |
Current |
Target |
Difference |
Trade |
| BTC |
48% ($4,800) |
40% |
+8% |
Sell $800 |
| ETH |
22% ($2,200) |
25% |
-3% |
Buy $300 |
| Alts |
18% ($1,800) |
20% |
-2% |
Buy $200 |
| Stable |
12% ($1,200) |
15% |
-3% |
Buy $300 |
Order of operations matters for tax and execution:
- Sell overweight positions
- Wait for settlement if needed
- Buy underweight positions
- Document for tax records
Rebalancing triggers taxable events. Consider:
- Holding periods for preferential rates
- Tax-loss harvesting opportunities
- Using new contributions for rebalancing
-
Direct new money: Instead of selling winners, direct new deposits to underweight assets.
-
Use stablecoin buffer: Keep stablecoin allocation slightly high. Use it to buy dips without selling.
-
Harvest losses: When rebalancing, prioritize selling positions with losses for tax benefits.
Maintain records of:
- Date of each rebalancing trade
- Cost basis of sold assets
- Specific lot identification if used
- Rationale for rebalancing
Most major exchanges offer:
- Portfolio tracking
- Rebalancing bots
- Auto-invest features
Shrimpy - Dedicated rebalancing platform
3Commas - Includes rebalancing bots
Pionex - Free rebalancing features
def check_rebalance_needed(portfolio, targets, threshold=0.05):
"""Check if any asset exceeds rebalance threshold"""
total_value = sum(portfolio.values())
for asset, value in portfolio.items():
current_pct = value / total_value
target_pct = targets[asset]
drift = abs(current_pct - target_pct)
if drift > threshold:
return True, calculate_trades(portfolio, targets)
return False, None
High frequency rebalancing:
- Increases fees
- Creates tax events
- Adds complexity
- Often hurts returns
Monthly is usually sufficient; weekly is rarely justified.
A $50 rebalancing trade with $2 fees has 4% drag. Set minimum trade sizes.
"I won't sell my BTC, it's going to keep going up."
If you're overriding your rules, either update the rules or accept you're not following a system.
Consider before rebalancing:
- Major protocol upgrades coming?
- Significant news expected?
- Tax year ending soon?
Rules should have escape clauses for exceptional circumstances.
Maintain core allocation but allow tactical adjustments:
- Core: 80% follows target allocation
- Tactical: 20% can overweight based on conviction
Allocate based on risk contribution, not dollar value. Higher volatility assets get smaller allocations.
Adjust targets based on relative momentum:
- Assets above 20-day MA: Target + 5%
- Assets below 20-day MA: Target - 5%
Weekly (5 minutes): - Check current allocation vs targets
- Note any threshold breaches
- Queue trades if needed
Monthly (30 minutes): - Review allocation drift
- Assess market conditions
- Execute rebalancing trades
- Update tracking spreadsheet
Quarterly (1 hour): - Review strategy performance
- Assess if targets need adjustment
- Consider tax implications
- Plan for upcoming quarter
Annually (2 hours): - Full portfolio review
- Update target allocation
- Tax loss harvesting
- Strategy refinement
How often should I rebalance my crypto portfolio?
Monthly or quarterly works for most investors. More frequent rebalancing increases costs without proportional benefits.
Should I rebalance during a crash?
Yes, this is often the best time. Buying beaten-down assets systematically removes emotion from the decision.
What's the ideal threshold for rebalancing?
5% absolute drift is common. Tighter thresholds increase frequency, wider thresholds allow more drift.
Do I need to rebalance if I'm DCA-ing?
You can use DCA contributions to rebalance naturally by directing new money to underweight assets.