Skip to content

CDA BLC_2 — Cotas de fundos de investimento

Stable ID: cvm.fundos.cda_fi/blc_2

Contexto semântico

Nome: CDA BLC_2 — Cotas de fundos de investimento

O que contém: Aplicações do fundo em cotas de outros fundos, com identificação da cota/subclasse, quantidades, custo e valores de mercado.

Por que consultar: Use para estudar exposição a fundos investidos, fundos de fundos e concentração por cota/subclasse.

Escopo e limitações: A subclasse pode ser parte da identificação; não trate cnpj_fundo sozinho como chave universal.

Aliases e nomes oficiais: BLC_2, blc_2, Cotas de fundos

Evidências:

  • catalogo/cvm.yml — cda_fi/blc_2
  • 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: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, cnpj_fundo_cota, tp_negoc
chave_status (parte historico_0506) not declared in YAML — effective gate status verificada (registry default; treat as unverified)
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, cnpj_fundo_cota, tp_negoc
chave_status (parte historico_0717) not declared in YAML — effective gate status verificada (registry default; treat as unverified)
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, cnpj_fundo_cota
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, cnpj_fundo_cota
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, cnpj_fundo_classe_cota, id_subclasse
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, cnpj_fundo_classe_cota, id_subclasse
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, cnpj_fundo_classe_cota, id_subclasse
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

# VERIFICADA: TP_NEGOC e o separador real da posicao em cota de
# fundo ("Mantido ate o vencimento" vs "Para negociacao" — mesma
# cota, dois lotes). Sem tp_negoc, excess=1/mes em 2005 (jan-mai).
# excess=0 em 200512 (17,003) e 200606 (19,319); tp_negoc 0% null
# nesta era (populada).

parte historico_0717

# VERIFICADA: TP_NEGOC separa "Mantido ate o vencimento" vs "Para
# negociacao" (ver historico_0506), mas a CVM deixou de popular a
# coluna a partir de 2008 — 100% null em 2008/2014 (0% null em
# 2005/2006). Whitelisted para o gate de null-rate nao falhar os
# anos vazios; a chave segue usando a coluna onde ela e populada.
# excess=0 em 200812 (29,010) e 201406 (64,526).

parte historico_1822

# VERIFICADA (probe com split por DT_COMPTC): excess=0 em 201812
# (89,569) e 202212 (184,837). CNPJ_FUNDO_COTA identifica a cota —
# mesmo achado da corrente_2023.

parte corrente_2023

# VERIFICADA: excess=0 em 202301 (182,884) e 202311.

parte corrente_2024

# VERIFICADA: probe excess=0 em 202312 e 202401 (medido agora; a
# parte inteira foi re-medida contra os zips baixados). id_subclasse
# 100% NULL nesta era (183.805/183.805 em 202312, 181.133/181.133 em
# 202401) - sem o whitelist, promoveria "verificada" mas falharia o
# null-rate gate no primeiro run real, mesmo bug do blc_7/blc_8 que
# ja mordeu este projeto. Mesmo padrao ja whitelisted na era
# corrente_202402/corrente_202605 (abaixo) - esta entrada tinha
# ficado para tras.

parte corrente_202402

# VERIFICADA: excess=0 em 202603/202604/202605. id_subclasse ~100%
# NULL (128,299/128,328) - whitelisted no gate de null-rate.

parte corrente_202605

# VERIFICADA: excess=0 em 202603/202604/202605. id_subclasse ~100%
# NULL - whitelisted.

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)