Skip to content

CDA BLC_4 — Demais ativos codificados

Stable ID: cvm.fundos.cda_fi/blc_4

Contexto semântico

Nome: CDA BLC_4 — Demais ativos codificados

O que contém: Demais ativos codificados da carteira, identificados por código/ISIN e descrição, com posição, movimentações, vigência e valores.

Por que consultar: Use para analisar ativos financeiros codificados que não pertencem aos blocos mais específicos.

Escopo e limitações: A classificação do ativo é a publicada pela CVM; valide códigos e vigência antes de consolidar.

Aliases e nomes oficiais: BLC_4, blc_4, Demais ativos codificados

Evidências:

  • catalogo/cvm.yml — cda_fi/blc_4
  • 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/verificada · materialized:none · queryable:unknown

Declared (catalog YAML)

field value
dataset cda_fi
parte historico_0506 layout zip_multi_tabela
parte historico_0506 vigencia ate=200612, de=200501
chave (parte historico_0506) tp_fundo, cnpj_fundo, dt_comptc, tp_aplic, tp_ativo, cd_ativo, tp_negoc, dt_ini_vigencia
chave_status (parte historico_0506, declared) tolerada
max_linhas_excedentes (parte historico_0506) 20
politica_dedup_silver (parte historico_0506) keep_first
source URL (parte historico_0506) https://dados.cvm.gov.br/dados/FI/DOC/CDA/DADOS/HIST/cda_fi_{aaaa}.zip
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, tp_negoc, dt_ini_vigencia
chave_status (parte historico_0717, declared) tolerada
max_linhas_excedentes (parte historico_0717) 20
politica_dedup_silver (parte historico_0717) keep_first
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, cd_isin, tp_negoc, ds_ativo, dt_ini_vigencia
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, cd_isin, tp_negoc
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, cd_isin, tp_negoc
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, cd_isin, tp_negoc
chave_status (parte corrente_202402) not declared in YAML — effective gate status verificada (registry default; treat as unverified)
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, cd_isin, tp_negoc
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_0506

# TOLERADA (byte-identica): DT_INI_VIGENCIA separa tranches do mesmo
# titulo (mesmo CD_ISIN, datas de emissao distintas — ex. CPEL14).
# CD_ISIN sai da chave (null estrutural p/ futuros, ~6,4% em 200812,
# e redundante dado cd_ativo+dt_ini_vigencia). Sobram 6 linhas
# byte-identicas em 2005 (200502:2, 200503/506/509/511:1 cada),
# 0 em 2006/2008/2014 — republicacao CVM de um lote de futuro.

parte historico_0717

# TOLERADA (2026-09-03): era VERIFICADA por extrapolacao — medida
# apenas em 2008+2014. Medido em 201104: excess=17 em 17 grupos,
# TODOS byte-identicos, 0 grupos nao-exatos (republicacao da CVM,
# nao contradicao de fonte). Mesma chave do historico_0506
# (dt_ini_vigencia separa tranches; cd_isin fora por ser null em
# futuros). excess=0 em 200812 (49,734) e 201406 (52,269).

parte historico_1822

# DS_ATIVO entra na chave (2026-09-03, medido em 2020-07): a
# chave de 8 colunas deixa excess=22 em 22 grupos, todos nao-exatos,
# com DS_ATIVO variando em 22/22 (mesma posicao — ex. SAPR4 com
# qt/vl identicos — descrita como "SANEPAR      PN      N2" e
# "SANEPAR PN"). DT_INI_VIGENCIA entra tambem (2026-09-04, medido
# em 2021-10): com ds_ativo so, excess=16/16 grupos com
# dt_ini_vigencia variando; com as duas, excess=0 em 134.933.
# Re-provado com as duas: excess=0 em 2020-07 (99.616) e 2021-10.
# VERIFICADA (probe com split por DT_COMPTC): excess=0 em 201812
# (53,254) e 202212 (180,295). CD_ISIN whitelisted: vazio em
# 1.10-1.19% das linhas em 2018 (585-618 linhas/mes) e ~0% em 2022 —
# futuros DI1/DDI nao carregam ISIN (verificado por TP_ATIVO: 521
# "Futuro de DI1" + 63 "Futuro de DDI" em 201812); na corrente_2023
# ficava abaixo do limiar, aqui estourou por 0.1-0.2 p.p.

parte corrente_2023

# VERIFICADA: chave 7-colunas sem tp_negoc tinha excess=1 em 202301
# (TP_NEGOC variando no grupo); com tp_negoc, excess=0 em 202301 e
# 202311.

parte corrente_2024

# VERIFICADA: com tp_negoc, excess=0 em 202312 (198,205) e 202401
# (204,469). Chave 7-colunas sem tp_negoc dava 0 aqui tambem (so
# 202301 na era TP_FUNDO precisou do fix); mantido tp_negoc por
# consistencia com a parte corrente_post.

parte corrente_202402

# VERIFICADA: chave anterior (sem tp_negoc) tinha excess=3/3/2,
# TP_NEGOC variando em todos os grupos. Com tp_negoc: excess=0 em
# 202603/202604/202605.

parte corrente_202605

# VERIFICADA: com tp_negoc, excess=0 em 202603/202604/202605.

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)