Portfolio Rebalancer
Calcule quantidades de compra/venda para reequilibrar seu portfólio de investimento para alocações alvo.
| Ativo | Atual ($) | Atual % | Meta % | Ação |
|---|---|---|---|---|
| US Stocks | $50,000.00 | 55.56% | 60.00% | +$4,000.00 |
| Bonds | $30,000.00 | 33.33% | 30.00% | -$3,000.00 |
| International | $10,000.00 | 11.11% | 10.00% | -$1,000.00 |
| Total | $90,000.00 | 100% | 100.00% |
Sobre esta ferramenta
Um rebalanceador de carteira é uma ferramenta essencial para investidores que desejam manter sua alocação de ativos alvo ao longo do tempo. Flutuações do mercado fazem com que a alocação real de sua carteira se desvie de seus objetivos pretendidos, o que pode aumentar o risco ou reduzir os retornos. Esta ferramenta o ajuda a calcular rapidamente quanto de cada ativo você precisa comprar ou vender para restaurar sua carteira à alocação alvo.
Para usar o rebalanceador de carteira, insira suas participações atuais e seus valores atuais de mercado, depois especifique as porcentagens de alocação alvo para cada classe de ativo. A ferramenta calcula instantaneamente os valores em dólares ou percentuais que você precisa ajustar—seja comprando posições subponderadas ou vendendo as sobreponderadas. Isso é particularmente valioso para investidores que gerenciam múltiplas classes de ativos, aqueles que rebalanceiam trimestral ou anualmente, ou qualquer pessoa que deseje evitar decisões de investimento emocionais e manter-se fiel ao seu plano estratégico.
O rebalanceamento regular ajuda a bloquear ganhos de ativos com desempenho superior enquanto compra quedas em ativos com desempenho inferior, uma abordagem disciplinada que reduz a tentação de seguir tendências. Tenha em mente que impostos e custos de transação podem se aplicar, portanto, considere consultar um consultor financeiro antes de executar as operações. A ferramenta fornece a matemática; você controla quando e como implementar as mudanças.
Perguntas Frequentes
Implementação de Código
def rebalance_portfolio(holdings: dict, total_value: float = None) -> dict:
"""
holdings: {'AssetName': {'current_value': 50000, 'target_pct': 60}}
Returns buy/sell amounts needed
"""
if total_value is None:
total_value = sum(h['current_value'] for h in holdings.values())
results = {}
for name, h in holdings.items():
current = h['current_value']
target_pct = h['target_pct']
current_pct = (current / total_value) * 100 if total_value > 0 else 0
target_value = (target_pct / 100) * total_value
diff = target_value - current
results[name] = {
'current': current,
'current_pct': round(current_pct, 2),
'target_pct': target_pct,
'target_value': round(target_value, 2),
'action': round(diff, 2),
'action_type': 'BUY' if diff > 0 else 'SELL' if diff < 0 else 'HOLD'
}
return results
# Example
portfolio = {
'US Stocks': {'current_value': 50000, 'target_pct': 60},
'Bonds': {'current_value': 30000, 'target_pct': 30},
'International': {'current_value': 10000, 'target_pct': 10},
}
result = rebalance_portfolio(portfolio)
total = sum(h['current_value'] for h in portfolio.values())
print(f"Total Portfolio: ${total:,.0f}")
for name, r in result.items():
action = "BUY" if r['action'] > 0 else "SELL"
print(f"{name}: {r['current_pct']}% → {r['target_pct']}% | {action} ${abs(r['action']):,.0f}")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.