Quer investir em Apple, Google, Amazon e outras gigantes globais sem abrir conta no exterior? Os BDRs permitem isso diretamente pela B3. Este guia completo explica tudo: como funcionam, tributação, custos e os melhores BDRs para 2026.
def explicar_bdr ():
"""
Como funciona um BDR
"""
estrutura = {
' definicao ' : ' Certificado lastreado em ações estrangeiras ' ,
' onde_negocia ' : ' B3 (Bolsa brasileira) ' ,
' moeda ' : ' Reais (R$) ' ,
' horario ' : ' 10h às 17h (horário de Brasília) ' ,
' custodiante ' : ' Banco depositário no Brasil ' ,
' lastro ' : ' Ações custodiadas no exterior ' ,
' exemplo ' : {
' bdr ' : ' AAPL34 ' ,
' representa ' : ' Ações da Apple (AAPL) ' ,
' proporcao ' : ' 1 BDR = fração de 1 ação Apple '
}
}
return estrutura
bdr = explicar_bdr()
print ( " === O QUE É UM BDR === " )
for k, v in bdr.items():
if isinstance (v, dict ):
print ( f " \n { k.upper() } :" )
for k2, v2 in v.items():
print ( f " { k2 } : { v2 } " )
else :
print ( f " { k } : { v } " )
A própria empresa estrangeira participa da emissão.
Emitidos por instituição depositária sem participação da empresa.
def tipos_bdr ():
"""
Diferenças entre tipos de BDR
"""
tipos = {
' patrocinado ' : {
' emissor ' : ' Empresa estrangeira participa ' ,
' regulacao ' : ' Maior transparência ' ,
' informacoes ' : ' Empresa divulga no Brasil ' ,
' exemplos ' : ' Poucos casos '
},
' nao_patrocinado ' : {
' emissor ' : ' Banco depositário emite sozinho ' ,
' regulacao ' : ' Menor exigência ' ,
' informacoes ' : ' Investidor busca no exterior ' ,
' exemplos ' : ' AAPL34, GOGL34, AMZO34 (maioria) '
}
}
return tipos
def passo_a_passo_bdr ():
"""
Como comprar seu primeiro BDR
"""
passos = [
{
' passo ' : 1 ,
' acao ' : ' Abrir conta em corretora ' ,
' detalhe ' : ' Qualquer corretora brasileira (XP, Clear, Rico, etc.) '
},
{
' passo ' : 2 ,
' acao ' : ' Transferir recursos ' ,
' detalhe ' : ' TED ou PIX para a conta da corretora '
},
{
' passo ' : 3 ,
' acao ' : ' Pesquisar o BDR ' ,
' detalhe ' : ' Buscar pelo código (ex: AAPL34, GOGL34) '
},
{
' passo ' : 4 ,
' acao ' : ' Analisar ' ,
' detalhe ' : ' Verificar cotação, proporção e histórico '
},
{
' passo ' : 5 ,
' acao ' : ' Enviar ordem ' ,
' detalhe ' : ' Ordem de compra no home broker '
},
{
' passo ' : 6 ,
' acao ' : ' Aguardar liquidação ' ,
' detalhe ' : ' D+2 (dois dias úteis) '
}
]
return passos
for passo in passo_a_passo_bdr():
print ( f " { passo[ ' passo ' ] } . { passo[ ' acao ' ] } " )
print ( f " → { passo[ ' detalhe ' ] } \n " )
import requests
def listar_bdrs_tech ( token ):
"""
Lista os principais BDRs de tecnologia
"""
bdrs_tech = [
{ ' codigo ' : ' AAPL34 ' , ' empresa ' : ' Apple ' , ' setor ' : ' Tecnologia ' },
{ ' codigo ' : ' MSFT34 ' , ' empresa ' : ' Microsoft ' , ' setor ' : ' Tecnologia ' },
{ ' codigo ' : ' GOGL34 ' , ' empresa ' : ' Alphabet (Google) ' , ' setor ' : ' Tecnologia ' },
{ ' codigo ' : ' AMZO34 ' , ' empresa ' : ' Amazon ' , ' setor ' : ' E-commerce/Cloud ' },
{ ' codigo ' : ' META34 ' , ' empresa ' : ' Meta (Facebook) ' , ' setor ' : ' Redes Sociais ' },
{ ' codigo ' : ' NVDC34 ' , ' empresa ' : ' NVIDIA ' , ' setor ' : ' Semicondutores ' },
{ ' codigo ' : ' TSLA34 ' , ' empresa ' : ' Tesla ' , ' setor ' : ' Veículos Elétricos ' },
{ ' codigo ' : ' NFLX34 ' , ' empresa ' : ' Netflix ' , ' setor ' : ' Streaming ' }
]
# Buscar cotações via brapi.dev
tickers = ' , ' .join([b[ ' codigo ' ] for b in bdrs_tech])
url = f "https://brapi.dev/api/quote/ { tickers } "
params = { ' token ' : token}
# response = requests.get(url, params=params)
# Adicionar preços aos BDRs
return bdrs_tech
bdrs = listar_bdrs_tech( ' TOKEN ' )
print ( " === PRINCIPAIS BDRs DE TECNOLOGIA === \n " )
for bdr in bdrs:
print ( f " { bdr[ ' codigo ' ] } : { bdr[ ' empresa ' ] } ( { bdr[ ' setor ' ] } )" )
def calcular_ir_bdr ( preco_venda , preco_compra , quantidade , vendas_mes_total ):
"""
Calcula IR sobre ganho de capital em BDRs
Regras:
- Isenção para vendas até R$ 20.000/mês (soma de ações + BDRs)
- Alíquota: 15% sobre o lucro
- Prejuízos podem ser compensados
"""
valor_venda = preco_venda * quantidade
valor_compra = preco_compra * quantidade
lucro = valor_venda - valor_compra
if vendas_mes_total <= 20000 :
return {
' lucro ' : lucro,
' isento ' : True ,
' ir_devido ' : 0 ,
' motivo ' : ' Vendas do mês <= R$ 20.000 '
}
if lucro <= 0 :
return {
' lucro ' : lucro,
' isento ' : True ,
' ir_devido ' : 0 ,
' prejuizo_compensavel ' : abs (lucro)
}
ir = lucro * 0.15
return {
' valor_venda ' : valor_venda,
' valor_compra ' : valor_compra,
' lucro ' : lucro,
' isento ' : False ,
' ir_devido ' : round (ir, 2 ),
' lucro_liquido ' : round (lucro - ir, 2 )
}
resultado = calcular_ir_bdr(
preco_venda = 55.00 ,
preco_compra = 45.00 ,
quantidade = 100 ,
vendas_mes_total = 25000
)
print ( f "Lucro: R$ { resultado[ ' lucro ' ] :,.2f } " )
print ( f "IR devido: R$ { resultado[ ' ir_devido ' ] :,.2f } " )
def tributacao_dividendos_bdr ():
"""
Como funciona a tributação de dividendos de BDRs
"""
regras = {
' retencao_fonte_eua ' : {
' aliquota ' : ' 30% ' ,
' quem_retém ' : ' Governo americano (IRS) ' ,
' aplicacao ' : ' Antes de chegar ao Brasil '
},
' brasil ' : {
' tributacao ' : ' Isento de IR adicional ' ,
' motivo ' : ' Já tributado na fonte nos EUA ' ,
' declaracao ' : ' Informar na ficha de Rendimentos Isentos '
},
' valor_recebido ' : {
' bruto ' : 100 ,
' retido_eua ' : 30 ,
' liquido ' : 70 ,
' conversao ' : ' Banco converte para reais '
}
}
return regras
trib = tributacao_dividendos_bdr()
print ( " === TRIBUTAÇÃO DIVIDENDOS BDR === \n " )
print ( " 1. EUA retém 30% na fonte " )
print ( " 2. Você recebe 70% já convertido em reais " )
print ( " 3. No Brasil: isento (já tributado) " )
print ( " 4. Declarar como Rendimento Isento " )
def comparar_bdr_vs_direto ():
"""
Comparativo entre BDR e investir diretamente
"""
comparativo = {
' abertura_conta ' : {
' bdr ' : ' Corretora brasileira (já tem) ' ,
' direto ' : ' Corretora internacional (Avenue, Interactive Brokers) '
},
' remessa ' : {
' bdr ' : ' Não precisa ' ,
' direto ' : ' IOF de 0.38 % + s pread cambial '
},
' custos_corretagem ' : {
' bdr ' : ' Zero na maioria das corretoras ' ,
' direto ' : ' Zero a US$ 1 por ordem '
},
' custos_custodia ' : {
' bdr ' : ' Pode ter taxa embutida no spread ' ,
' direto ' : ' Geralmente zero '
},
' dividendos ' : {
' bdr ' : ' 30 % r etido EUA + spread conversão ' ,
' direto ' : ' 30 % r etido EUA (com W-8BEN) '
},
' imposto_heranca ' : {
' bdr ' : ' Segue regras brasileiras ' ,
' direto ' : ' Estate tax EUA (acima de US$ 60k) '
},
' liquidez ' : {
' bdr ' : ' Menor (mercado brasileiro) ' ,
' direto ' : ' Maior (mercado americano) '
},
' horario ' : {
' bdr ' : ' 10h-17h (Brasília) ' ,
' direto ' : ' 10h30-17h (NY) = 11h30-18h (Brasília) '
},
' declaracao_ir ' : {
' bdr ' : ' Como ativo brasileiro ' ,
' direto ' : ' Como ativo no exterior (mais complexo) '
}
}
return comparativo
comp = comparar_bdr_vs_direto()
print ( " === BDR vs INVESTIMENTO DIRETO === \n " )
for aspecto, valores in comp.items():
print ( f " { aspecto.upper().replace( ' _ ' , ' ' ) } :" )
print ( f " BDR: { valores[ ' bdr ' ] } " )
print ( f " Direto: { valores[ ' direto ' ] } \n " )
import requests
def monitorar_carteira_bdrs ( bdrs , token ):
"""
Monitora carteira de BDRs usando brapi.dev
Args:
bdrs: Lista de dicts com 'codigo' e 'quantidade'
token: Token da API
"""
tickers = ' , ' .join([b[ ' codigo ' ] for b in bdrs])
url = f "https://brapi.dev/api/quote/ { tickers } "
params = { ' token ' : token}
response = requests.get(url, params = params)
data = response.json()
carteira = []
valor_total = 0
for resultado in data.get( ' results ' , []):
ticker = resultado.get( ' symbol ' )
bdr_config = next ((b for b in bdrs if b[ ' codigo ' ] == ticker), None )
if bdr_config:
preco = resultado.get( ' regularMarketPrice ' , 0 )
quantidade = bdr_config[ ' quantidade ' ]
valor = preco * quantidade
valor_total += valor
carteira.append({
' ticker ' : ticker,
' nome ' : resultado.get( ' shortName ' , '' ),
' preco ' : preco,
' variacao ' : resultado.get( ' regularMarketChangePercent ' , 0 ),
' quantidade ' : quantidade,
' valor ' : valor
})
return {
' carteira ' : carteira,
' valor_total ' : round (valor_total, 2 )
}
# Exemplo de uso
meus_bdrs = [
{ ' codigo ' : ' AAPL34 ' , ' quantidade ' : 50 },
{ ' codigo ' : ' MSFT34 ' , ' quantidade ' : 30 },
{ ' codigo ' : ' GOGL34 ' , ' quantidade ' : 25 }
]
# resultado = monitorar_carteira_bdrs(meus_bdrs, 'SEU_TOKEN')
# print(f"Valor total: R$ {resultado['valor_total']:,.2f}")
def calcular_proporcao_bdr ( preco_bdr_brl , preco_acao_usd , dolar ):
"""
Calcula quantos BDRs equivalem a 1 ação original
"""
preco_acao_brl = preco_acao_usd * dolar
proporcao = preco_acao_brl / preco_bdr_brl
return {
' preco_bdr ' : preco_bdr_brl,
' preco_acao_usd ' : preco_acao_usd,
' preco_acao_brl ' : round (preco_acao_brl, 2 ),
' dolar ' : dolar,
' proporcao ' : round (proporcao, 2 ),
' interpretacao ' : f "1 ação = ~ { round (proporcao) } BDRs"
}
# Exemplo: Apple
resultado = calcular_proporcao_bdr(
preco_bdr_brl = 52.00 , # AAPL34
preco_acao_usd = 185.00 , # AAPL na NYSE
dolar = 4.95
)
print ( f "Proporção: { resultado[ ' interpretacao ' ] } " )
def carteira_bdr_diversificada ():
"""
Exemplo de carteira diversificada com BDRs
"""
carteira = {
' tecnologia ' : {
' peso ' : 30 ,
' bdrs ' : [ ' AAPL34 ' , ' MSFT34 ' , ' GOGL34 ' ]
},
' saude ' : {
' peso ' : 15 ,
' bdrs ' : [ ' JNJB34 ' , ' PFIZ34 ' , ' MRCK34 ' ]
},
' financeiro ' : {
' peso ' : 15 ,
' bdrs ' : [ ' JPMC34 ' , ' BOAC34 ' , ' BERK34 ' ]
},
' consumo ' : {
' peso ' : 15 ,
' bdrs ' : [ ' COCA34 ' , ' PGCO34 ' , ' WALM34 ' ]
},
' industrial ' : {
' peso ' : 10 ,
' bdrs ' : [ ' CATP34 ' , ' HONB34 ' , ' GEOO34 ' ]
},
' energia ' : {
' peso ' : 10 ,
' bdrs ' : [ ' EXXO34 ' , ' CHVX34 ' ]
},
' comunicacao ' : {
' peso ' : 5 ,
' bdrs ' : [ ' DISB34 ' , ' NFLX34 ' ]
}
}
return carteira
carteira = carteira_bdr_diversificada()
print ( " === CARTEIRA DIVERSIFICADA BDR === \n " )
for setor, info in carteira.items():
print ( f " { setor.upper() } : { info[ ' peso ' ] } %" )
print ( f " BDRs: { ' , ' .join(info[ ' bdrs ' ]) } \n " )
def simular_risco_cambial ():
"""
Demonstra o impacto do câmbio nos BDRs
"""
investimento_inicial = 10000 # R$ 10.000
dolar_compra = 5.00
preco_acao_usd = 100
# Cenário 1: Ação sobe 10%, dólar cai 10%
cenario_1 = {
' acao_variacao ' : 1.10 ,
' dolar_variacao ' : 0.90 ,
' resultado ' : investimento_inicial * 1.10 * 0.90
}
# Cenário 2: Ação cai 10%, dólar sobe 10%
cenario_2 = {
' acao_variacao ' : 0.90 ,
' dolar_variacao ' : 1.10 ,
' resultado ' : investimento_inicial * 0.90 * 1.10
}
# Cenário 3: Ação sobe 10%, dólar sobe 10%
cenario_3 = {
' acao_variacao ' : 1.10 ,
' dolar_variacao ' : 1.10 ,
' resultado ' : investimento_inicial * 1.10 * 1.10
}
print ( " === IMPACTO DO CÂMBIO === " )
print ( f "Investimento inicial: R$ { investimento_inicial :, } \n " )
print ( f "Cenário 1 (ação +10%, dólar -10%): R$ { cenario_1[ ' resultado ' ] :,.0f } (-1%)" )
print ( f "Cenário 2 (ação -10%, dólar +10%): R$ { cenario_2[ ' resultado ' ] :,.0f } (-1%)" )
print ( f "Cenário 3 (ação +10%, dólar +10%): R$ { cenario_3[ ' resultado ' ] :,.0f } (+21%)" )
simular_risco_cambial()
def declarar_bdr_ir ():
"""
Como declarar BDRs no Imposto de Renda
"""
instrucoes = {
' posicao ' : {
' ficha ' : ' Bens e Direitos ' ,
' grupo ' : ' 04 - Aplicações e Investimentos ' ,
' codigo ' : ' 04 - Ativos negociados em bolsa no Brasil (BDRs) ' ,
' discriminacao ' : ' BDR AAPL34 - 100 unidades - Corretora XYZ ' ,
' valor ' : ' Custo de aquisição (não atualizar pela cotação) '
},
' ganho_capital ' : {
' ficha ' : ' Renda Variável - Operações Comuns ' ,
' preenchimento ' : ' Lucro ou prejuízo mensal ' ,
' isencao ' : ' Vendas até R$ 20.000/mês '
},
' dividendos ' : {
' ficha ' : ' Rendimentos Isentos e Não Tributáveis ' ,
' codigo ' : ' 26 - Outros ' ,
' descricao ' : ' Dividendos de BDRs (já tributados no exterior) '
}
}
return instrucoes
Para patrimônios maiores (> R$ 300k em internacional), considere também investir diretamente para maior eficiência.
# Cotação de BDRs
https: // brapi.dev / api / quote / AAPL34 , MSFT34 , GOGL34 ? token = TOKEN
# Lista de BDRs disponíveis
https: // brapi.dev / api / quote / list ? type = bdr & token = TOKEN