Skip to content

CDA BLC_7 — Investimentos no exterior

Stable ID: cvm.fundos.cda_fi/blc_7

Contexto semântico

Nome: CDA BLC_7 — Investimentos no exterior

O que contém: Ativos e investimentos no exterior, com país, mercado, emissor, ativo, risco, vencimento e valores/quantidades reportados.

Por que consultar: Use para medir exposição internacional, concentração geográfica e risco de ativos no exterior.

Escopo e limitações: Campos de identificação podem ser nulos para determinados ativos; isso é parte do layout e não prova ausência da posição.

Aliases e nomes oficiais: BLC_7, blc_7, Investimentos no exterior

Evidências:

  • catalogo/cvm.yml — cda_fi/blc_7
  • https://dados.cvm.gov.br/dataset/fi-doc-cda
  • https://dados.cvm.gov.br/dados/FI/DOC/CDA/META/meta_cda_fi_txt.zip

Comece aqui: guia de acesso aos dados

Readiness (label, not a promise): declared:tolerada_com_residuo/verificada · materialized:none · queryable:unknown

Declared (catalog YAML)

field value
dataset cda_fi
parte historico_0717 layout zip_multi_tabela
parte historico_0717 vigencia ate=201712, de=200701
chave (parte historico_0717) tp_fundo, cnpj_fundo, dt_comptc, tp_aplic, tp_ativo, cd_ativo_bv_merc, ds_ativo_exterior, cd_bv_merc, cd_pais, dt_venc, emissor, tp_negoc
chave_status (parte historico_0717) not declared in YAML — effective gate status verificada (registry default; treat as unverified)
dt_linha_desde (parte historico_0717) 2007-09-01
source URL (parte historico_0717) https://dados.cvm.gov.br/dados/FI/DOC/CDA/DADOS/HIST/cda_fi_{aaaa}.zip
parte historico_1822 layout zip_multi_tabela
parte historico_1822 vigencia ate=202212, de=201801
chave (parte historico_1822) tp_fundo, cnpj_fundo, dt_comptc, tp_aplic, tp_ativo, cd_ativo_bv_merc, ds_ativo_exterior, cd_bv_merc, cd_pais, dt_venc, emissor, tp_negoc
chave_status (parte historico_1822) not declared in YAML — effective gate status verificada (registry default; treat as unverified)
source URL (parte historico_1822) https://dados.cvm.gov.br/dados/FI/DOC/CDA/DADOS/HIST/cda_fi_{aaaa}.zip
parte corrente_2023 layout zip_multi_tabela
parte corrente_2023 vigencia ate=202311, de=202301
chave (parte corrente_2023) tp_fundo, cnpj_fundo, dt_comptc, tp_aplic, tp_ativo, cd_ativo_bv_merc, ds_ativo_exterior, cd_bv_merc, cd_pais, dt_venc, emissor
chave_status (parte corrente_2023) not declared in YAML — effective gate status verificada (registry default; treat as unverified)
source URL (parte corrente_2023) https://dados.cvm.gov.br/dados/FI/DOC/CDA/DADOS/cda_fi_{aaaamm}.zip
parte corrente_2024 layout zip_multi_tabela
parte corrente_2024 vigencia ate=202401, de=202312
chave (parte corrente_2024) tp_fundo_classe, cnpj_fundo_classe, dt_comptc, tp_aplic, tp_ativo, cd_ativo_bv_merc, ds_ativo_exterior, cd_bv_merc, cd_pais, dt_venc, emissor
chave_status (parte corrente_2024) not declared in YAML — effective gate status verificada (registry default; treat as unverified)
source URL (parte corrente_2024) https://dados.cvm.gov.br/dados/FI/DOC/CDA/DADOS/cda_fi_{aaaamm}.zip
parte corrente_202402 layout zip_multi_tabela
parte corrente_202402 vigencia ate=202604, de=202402
chave (parte corrente_202402) tp_fundo_classe, cnpj_fundo_classe, dt_comptc, tp_aplic, tp_ativo, cd_ativo_bv_merc, ds_ativo_exterior, cd_bv_merc, cd_pais, dt_venc, emissor
chave_status (parte corrente_202402, declared) tolerada_com_residuo
max_linhas_excedentes (parte corrente_202402) 5
max_grupos_residuais (parte corrente_202402) 5
politica_dedup_silver (parte corrente_202402) keep_first
source URL (parte corrente_202402) https://dados.cvm.gov.br/dados/FI/DOC/CDA/DADOS/cda_fi_{aaaamm}.zip
parte corrente_202605 layout zip_multi_tabela
parte corrente_202605 vigencia ate=(unknown — not declared anywhere), de=202605
chave (parte corrente_202605) tp_fundo_classe, cnpj_fundo_classe, dt_comptc, tp_aplic, tp_ativo, cd_ativo_bv_merc, ds_ativo_exterior, cd_bv_merc, cd_pais, dt_venc, emissor
chave_status (parte corrente_202605) not declared in YAML — effective gate status verificada (registry default; treat as unverified)
source URL (parte corrente_202605) https://dados.cvm.gov.br/dados/FI/DOC/CDA/DADOS/cda_fi_{aaaamm}.zip

Divergent declarations: this table name is declared in more than one parte with differing chave/status — inspect each parte above.

Operator notes (verbatim from the catalog comments)

parte historico_0717

# TP_NEGOC adicionado a chave (2026-09-03): medido em 201510 — 1
# grupo nao-exato onde TP_NEGOC varia ("Mantido ate o vencimento"
# vs "Para negociacao", mesma posicao em dois modos de negociacao).
# Re-provado com tp_negoc: excess=0 em 201510, 201511 e 201706.
# DT_LINHA_DESDE 2007-09 (medido no zip 2007): BLC_7 so tem linhas
# a partir de 2007-09 (93 linhas; o arquivo todo tem 209).
# VERIFICADA: chave completa do corrente_2023 (CD_BV_MERC+CD_PAIS+
# DT_VENC+EMISSOR), com emissor a mais no whitelist — EMISSOR null
# ~9,5-19% (posicao identificada so por CD_BV_MERC/BV_MERC, sem nome
# de emissor). excess=0 em 200812 (58) e 201406 (1,842). DT_VENC null
# 43-59% (ativo sem vencimento fixo) e DS_ATIVO_EXTERIOR 100% null
# na era HIST — ambos whitelisted.

parte historico_1822

# TP_NEGOC adicionado a chave (2026-09-04, medido em 2020-05): a
# chave de 11 colunas deixa excess=1; com tp_negoc, excess=0 em
# 19.944 linhas. Mesmo fix do blc_7 da parte historico_0717.
# EMISSOR whitelisted (2026-09-03): medido em 2018-01, EMISSOR tem
# 1.09% de nulos — acima do limiar de 1% do gate de null-rate, e a
# coluna e de chave. Em 201803-05 fica em 0.72-0.76% (abaixo), daí
# a falha intermitente. A parte historico_0717 ja whitelista EMISSOR
# (9,5-19% nulos) pelo mesmo motivo: a posicao e identificada por
# CD_BV_MERC/BV_MERC quando nao ha nome de emissor.
# VERIFICADA (probe com split por DT_COMPTC): excess=0 em 201812
# (14,417) e 202212 (49,088). Chave completa da corrente_2023
# (CD_BV_MERC+CD_PAIS+DT_VENC+EMISSOR). DS_ATIVO_EXTERIOR vazio em
# ~17-19%, DT_VENC em ~8-9% (ver corrente_2023 para o racional).

parte corrente_2023

# VERIFICADA: chave antiga (cd_ativo_bv_merc, ds_ativo_exterior)
# tinha excess=2,080 (202301) e 1,820 (202311). Chave completa com
# CD_BV_MERC+CD_PAIS+DT_VENC+EMISSOR: excess=0 em 202301 (52,154),
# 202311 (81,459), 202312, 202401, 202603, 202604 e 202605.
# Sweep 202301-202311 (servidor, 2026-09) confirma excess=0 em todos
# os meses — unicidade intacta.
# NULL-rate (gate 1%, probe estendido): DS_ATIVO_EXTERIOR vazio em
# 8,503/52,154 (16,3% em 202301) a 3,908/53,847 (7,26% em 202605) —
# descritor em texto livre do ativo no exterior, em branco quando a
# posicao ja e identificada pelo codigo do mercado de balcao
# (CD_ATIVO_BV_MERC) + nome do emissor (EMISSOR); padrao em fundos
# offshore, DRs, opcoes, acoes e bonds. DT_VENC vazio em 4,531/52,154
# (8,7% em 202301) a 1,798/53,847 (3,3% em 202605) — ativos sem
# vencimento fixo: cotas de fundos offshore, DRs e acoes nao tem data
# de vencimento. EMISSOR vazio em 823/64,096 (1,28% em 202303,
# unico mes acima do gate de 1%; demais meses 419-546/52k-81k,
# 0,6-0,9%) — posicoes sem emissor nomeado no arquivo; whitelisted
# pelo breach medido, mesmo tratamento das eras HIST (que ja
# whitelistan emissor). Unicidade permanece 0 com as colunas na
# chave.

parte corrente_2024

# VERIFICADA: chave completa com CD_BV_MERC+CD_PAIS+DT_VENC+EMISSOR:
# excess=0 em 202312 (75,281) e 202401 (79,919). Chave antiga tinha
# excess ~1,800.
# NULL-rate (gate 1%, probe estendido): DS_ATIVO_EXTERIOR vazio em
# 8,054/75,281 (10,7% em 202312) e 8,094/79,919 (10,1% em 202401) e
# DT_VENC vazio em 4,718/75,281 (6,3%) e 4,773/79,919 (6,0%) —
# descritor em texto livre em branco quando a posicao ja e
# identificada pelo codigo+emissor; vencimento ausente em ativos sem
# vencimento fixo (fundos offshore, DRs, acoes). Unicidade segue 0.

parte corrente_202402

# TOLERADA_COM_RESIDUO (sweep 202402-202604 + extensao 202501-202512
# e 202601-202607, downloads atuais de 2026-09): maximo=2 grupos
# residuais em 202504-202509 (2 excess, 0 exatos); 202412-202503 e
# 202510-202512 mediram 1; 202601-202607 fecharam em 0. Nenhum grupo
# e byte-identico — residuais variam TP_NEGOC/QT_POS_FINAL/
# VL_MERC_POS_FINAL: mesma posicao com split de negociacao distinto,
# contradicao da fonte. Era VERIFICADA por extrapolacao (0 em
# 202603/202604/202605). Caps 5/5. NULL-rate limpo (emissor ~0,1%).
# NULL-rate (gate 1%, probe estendido): DS_ATIVO_EXTERIOR vazio em
# 6,928/56,777 (12,2% em 202603), 6,629/58,284 (11,4% em 202604) e
# 3,908/53,847 (7,3% em 202605); DT_VENC vazio em 4,268/56,777
# (7,5%), 4,053/58,284 (7,0%) e 1,798/53,847 (3,3%) — descritor em
# texto livre em branco quando a posicao ja e identificada por
# codigo+emissor; vencimento ausente em ativos sem vencimento fixo.

parte corrente_202605

# VERIFICADA: mesma chave resolveu 202603/202604/202605 — excess=0
# em 202605 (53,847). Chave antiga tinha excess ~1.4k.
# NULL-rate (gate 1%, probe estendido): DS_ATIVO_EXTERIOR vazio em
# 3,908/53,847 (7,26% em 202605) e DT_VENC vazio em 1,798/53,847
# (3,34%) — descritor em texto livre em branco quando a posicao ja
# e identificada por codigo+emissor; vencimento ausente em ativos
# sem vencimento fixo (fundos offshore, DRs, acoes).

Observed runs (from meta/runs manifests)

Last good run:

field value
timestamp 20260825T150535
outcome ok
exit_code 0
rows_written 73490
source_sha256
manifest_path C:\Users\plini\Repos\ciano-lake\data\meta\runs\cda_fi\20260825T150535.json
competencia (scoped) (unscoped — not period-specific proof)

Latest failed attempt (kept distinct from the last good run):

field value
timestamp 20260825T173137
outcome error
exit_code 1
error blc_1: Quality check failed: [PASS] row_count: 18,344 rows (validates > 0)
[FAIL] chave_status: chave_status 'pendente' — tabela nao promove. Bloqueada por decisao de catalogo (chave incompleta ou nao verificada), nao por regressao de dados. Ver catalogo/cvm.yml para a chave declarada e a nota. Gate nao executou a query de unicidade.; blc_2: Quality check failed: [PASS] row_count: 29,010 rows (validates > 0)
[FAIL] chave_status: chave_status 'pendente' — tabela nao promove. Bloqueada por decisao de catalogo (chave incompleta ou nao verificada), nao por regressao de dados. Ver catalogo/cvm.yml para a chave declarada e a nota. Gate nao executou a query de unicidade.; blc_3: Quality check failed: [PASS] row_count: 432 rows (validates > 0)
[FAIL] chave_status: chave_status 'pendente' — tabela nao promove. Bloqueada por decisao de catalogo (chave incompleta ou nao verificada), nao por regressao de dados. Ver catalogo/cvm.yml para a chave declarada e a nota. Gate nao executou a query de unicidade.; blc_4: Quality check failed: [PASS] row_count: 49,734 rows (validates > 0)
[FAIL] chave_status: chave_status 'pendente' — tabela nao promove. Bloqueada por decisao de catalogo (chave incompleta ou nao verificada), nao por regressao de dados. Ver catalogo/cvm.yml para a chave declarada e a nota. Gate nao executou a query de unicidade.; blc_5: Quality check failed: [PASS] row_count: 11,030 rows (validates > 0)
[FAIL] chave_status: chave_status 'pendente' — tabela nao promove. Bloqueada por decisao de catalogo (chave incompleta ou nao verificada), nao por regressao de dados. Ver catalogo/cvm.yml para a chave declarada e a nota. Gate nao executou a query de unicidade.; blc_6: Quality check failed: [PASS] row_count: 5,818 rows (validates > 0)
[FAIL] chave_status: chave_status 'pendente' — tabela nao promove. Bloqueada por decisao de catalogo (chave incompleta ou nao verificada), nao por regressao de dados. Ver catalogo/cvm.yml para a chave declarada e a nota. Gate nao executou a query de unicidade.; blc_7: Quality check failed: [PASS] row_count: 58 rows (validates > 0)
[FAIL] chave_status: chave_status 'pendente' — tabela nao promove. Bloqueada por decisao de catalogo (chave incompleta ou nao verificada), nao por regressao de dados. Ver catalogo/cvm.yml para a chave declarada e a nota. Gate nao executou a query de unicidade.; blc_8: Quality check failed: [PASS] row_count: 43,997 rows (validates > 0)
[FAIL] chave_status: chave_status 'pendente' — tabela nao promove. Bloqueada por decisao de catalogo (chave incompleta ou nao verificada), nao por regressao de dados. Ver catalogo/cvm.yml para a chave declarada e a nota. Gate nao executou a query de unicidade.
manifest_path C:\Users\plini\Repos\ciano-lake\data\meta\runs\cda_fi\20260825T173137.json
competencia (scoped) (unscoped)

Observed residuals (tolerada_com_residuo evidence)

(none observed — either the table has no residual tolerance, or the coverage inventory has not run; absence is not proof of absence)

Materialized (coverage inventory, per environment)

(no coverage inventory available — run tools/coverage_inventory.py collect and pass the JSONL to the publisher; without it nothing is claimed about what physically exists)

Postgres-queryable

(unknown — publication state is a publisher fact, filled at publication time; it is never inferred from materialization)