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_2https://dados.cvm.gov.br/dataset/fi-doc-cdahttps://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 |
20261002T134942 |
outcome |
ok |
exit_code |
0 |
rows_written |
7271029 |
source_sha256 |
|
manifest_path |
C:\Users\plini\Repos\ciano-lake\data\meta\runs\cda_fi\20261002T134942.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)