Fase 1 — Fundamentação · Documento operacional · v1.0

Dicionário de Dados e Estrutura do Banco Científico AT.RFG2P

Padroniza, armazena, audita e disponibiliza os dados necessários aos 10 estudos científicos da linha ATB3. Depende do Protocolo Científico ATB3 — AT.RFG2P v1.0.

1.Finalidade do documento

Este documento transforma o Protocolo Científico ATB3 — AT.RFG2P v1.0 em uma estrutura operacional de dados. O objetivo é criar uma base que permita responder, de maneira rastreável, perguntas como: qual ativo foi analisado, em qual data, qual era o preço disponível no momento da projeção, quais foram os níveis 1P a 9P, qual tolerância foi utilizada, o nível foi atingido, houve toque/rejeição/rompimento, quanto tempo demorou, qual era a volatilidade e o regime de mercado, qual versão do método gerou o resultado e se o resultado pertence à amostra de desenvolvimento ou à validação fora da amostra.

A base deverá permitir que um terceiro reconstrua o experimento sem depender de interpretação subjetiva.

2.Princípio central da base

A unidade fundamental do banco será a combinação ativo + data + nível + experimento. Exemplo: PETR4 + 22/09/2025 + 3P + EXP-001. Uma observação não é apenas "PETR4 acertou" — ela é uma observação completa, rastreável e auditável.

3.Arquitetura geral do banco

A estrutura recomendada é dividida em 8 camadas, para evitar misturar dado bruto → cálculo → resultado → estatística:

  1. Identificação
  2. Dados de mercado
  3. AT.RFG2P
  4. Eventos / resultados
  5. Contexto de mercado
  6. Metadados
  7. Auditoria
  8. Estatística

4.Identificador único da observação

Cada registro deverá possuir um observation_id no formato ATB3-DATA-ATIVO-NÍVEL-EXPERIMENTO. Exemplo: ATB3-20250922-PETR4-3P-EXP001. Esse identificador deverá ser único.

5.Tabela principal — observações AT.RFG2P

Esta é a principal tabela científica.

CampoTipoObrigatórioDescrição
observation_idTextoSimID único
experiment_idTextoSimIdentificação do experimento
protocol_versionTextoSimVersão do protocolo
method_versionTextoSimVersão do AT.RFG2P
trade_dateDataSimData do pregão
tickerTextoSimCódigo do ativo
asset_nameTextoSimNome da empresa
sectorTextoSimSetor
levelTextoSim1P a 9P
level_numberInteiroSimNúmero do nível
projection_timestampData/horaSimMomento da projeção
reference_priceDecimalSimPreço de referência
projected_levelDecimalSimNível AT.RFG2P
toleranceDecimalSimTolerância utilizada
window_start / window_endData/horaSimInício e fim da observação
successBinárioSim1 = sucesso; 0 = não sucesso
result_statusTextoSimClassificação do resultado

6.Dados de mercado

6.1 Preços

CampoDescrição
openAbertura
highMáxima
lowMínima
closeFechamento
adjusted_closeFechamento ajustado, quando disponível

6.2 Volume

CampoDescrição
volumeVolume negociado
financial_volumeVolume financeiro, quando disponível

6.3 Dados adicionais

Quando utilizados: VWAP, número de negócios, spread, volatilidade intradiária, retorno, gap e amplitude.

7.Estrutura dos níveis 1P–9P

A base final deverá permitir consultar os níveis em formato de tabela horizontal (ativo × data × 1P…9P), mas para análise científica a estrutura principal deverá ser vertical — uma linha por nível, ex.: PETR4 | 22/09/25 | 1P, PETR4 | 22/09/25 | 2P ... Isso facilita análises estatísticas.

8.Eventos do nível

EventoDefinição
touchO preço entrou na região de tolerância
rejectionO preço atingiu o nível e posteriormente se afastou segundo a regra definida
breakoutO preço atravessou o nível segundo a regra definida
no_touchO preço não alcançou a região dentro da janela
insufficient_dataNão houve dados suficientes para classificar
excludedObservação excluída por regra previamente definida

9.Campos de evento

CampoDescrição
touch_flag / touch_timestamp / touch_priceOcorrência, momento e preço do primeiro toque
distance_to_level / distance_pctDistância até o nível, absoluta e percentual
rejection_flag / rejection_timestampOcorrência e momento da rejeição
breakout_flag / breakout_timestampOcorrência e momento do rompimento
first_event / time_to_eventPrimeiro evento observado e tempo até ele

10.Distância do preço ao nível

Não basta registrar acertou/errou — também é preciso armazenar a distância entre o preço observado (P) e o nível projetado (L), em valor absoluto e em percentual. Isso permite análises muito mais sofisticadas.

11.Tolerância

A tolerância é armazenada individualmente em tolerance_value (ex.: 0,00 / 0,01 / 0,05 / 0,10) e em tolerance_rule (REGRA_A / B / C / D). Isso permite comparar diferentes especificações sem apagar o resultado original.

12.Janela temporal

Cada experimento deverá possuir window_start e window_end — essencial para definir quando um nível poderia ser considerado atingido.

13.Registro de informação disponível

information_cutoff_timestamp

Registra o último momento em que informações puderam ser utilizadas para gerar a projeção. Serve para auditoria do look-ahead bias.

14.Versão do método

Cada cálculo deverá registrar method_version (ex.: AT.RFG2P-v1.0). Resultados de versões diferentes não deverão ser misturados silenciosamente.

15.Versão do protocolo

Também será registrado protocol_version (ex.: ATB3-PROTOCOL-v1.0), para saber exatamente sob qual regra cada resultado foi produzido.

16.Classificação in-sample / out-of-sample

Campo sample_type, com valores IN_SAMPLE, OUT_OF_SAMPLE, VALIDATION ou ROBUSTNESS.

17.Regime de mercado

Campo market_regime: BULL, BEAR, SIDEWAYS, HIGH_VOLATILITY, LOW_VOLATILITY, CRISIS ou UNKNOWN. Essa classificação deverá possuir metodologia própria — não é permitido classificar um período como "bull" ou "bear" apenas porque o resultado do AT.RFG2P foi melhor ou pior.

18.Volatilidade

A base deverá armazenar as medidas de volatilidade utilizadas: retorno, volatilidade histórica e, quando aplicável, ATR, volatilidade realizada, desvio-padrão e volatilidade intradiária. Cada métrica com seu próprio campo.

19.Gap

Campo gap_pct, calculado a partir da abertura vs. fechamento anterior. O tratamento de gaps deverá ser definido previamente em cada experimento.

20.Dados de fonte

CampoDescrição
data_sourceFonte
source_versionVersão/fonte específica
download_timestampData/hora de obtenção
data_frequencyDiário/intradiário
adjustment_methodMétodo de ajuste

21.Dados de auditoria

Cada registro deverá possuir created_at, updated_at, created_by, calculation_id e, quando tecnicamente possível, data_hash — para impedir que resultados sejam alterados sem rastreabilidade.

22.Tabela de ativos

CampoDescrição
tickerCódigo
company_nameEmpresa
sector / subsector / segmentClassificação
listing_dateData de listagem
statusSituação
liquidity_classClasse de liquidez

23.Tabela de experimentos

Cada artigo deverá ter seus experimentos registrados na tabela experiments.

CampoExemplo
experiment_idEXP001
article_idART001
experiment_nameValidação principal
objectiveValidar níveis
sample_typeOUT_OF_SAMPLE
tolerance±0,10
window1 pregão
null_hypothesisp=0,50
alpha0,05
statusCONCLUÍDO

24.Tabela de artigos

IDArtigo
ART001Validação estatística
ART002AT.RFG2P × análise técnica
ART003AT.RFG2P × passeio aleatório
ART004Eficiência dos níveis
ART005Aplicação em ações B3
ART006Robustez setorial
ART007Fora da amostra
ART008Gestão de risco
ART009Backtest longo
ART010Evidência consolidada

25.Tabela de resultados estatísticos

A estatística agregada não substitui os dados individuais — ela é derivada deles.

CampoDescrição
experiment_idExperimento
n / successes / failuresObservações, sucessos e erros
success_rateTaxa
wilson_lower / wilson_upperLimites do IC de Wilson
z_statistic / p_valueEstatística z e p-valor
effect_sizeTamanho do efeito
permutation_pp-valor permutacional

26.Tabela de testes de robustez

robustness_tests — exemplos: ROB-001 (tolerância 0,00) até ROB-004 (tolerância 0,10), ROB-005 (exclusão de baixa liquidez), ROB-006/007 (setor financeiro/energia), ROB-008/009 (mercado de alta/baixa), ROB-010 (out-of-sample).

27.Estrutura completa do banco

Arquitetura final: ATB3_DATABASE com as tabelas assets, market_data, experiments, observations, events, market_regimes, method_versions, protocol_versions, articles, statistical_results, robustness_tests e audit_log.

28.Relacionamento entre as tabelas

Artigos → Experimentos → Observações → (Ativos, Dados de Mercado, Eventos, Versão AT.RFG2P, Versão do Protocolo) → Resultados → Robustez.

29.Exemplo de uma observação

CampoValor
observation_idATB3-20250922-PETR4-3P-EXP001
ticker / data / nívelPETR4 / 22/09/2025 / 3P
projeção08:00
tolerância0,10
toque / rejeição / rompimento1 / 1 / 0
sucesso1
sample_typeOUT_OF_SAMPLE
method_version / protocol_versionAT.RFG2P-v1.0 / ATB3-PROTOCOL-v1.0

30.Regra de ouro: dado bruto ≠ dado calculado

A base deverá separar claramente quatro camadas — nunca substituir o dado original pelo resultado calculado:

CamadaExemplo
Dados brutosOpen, High, Low, Close, Volume
Dados calculados1P, 2P, 3P, ..., 9P
Resultadostouch=1, rejection=1, success=1
Estatísticas61,11%, IC95%, p-value, z

31.Controle de alterações

CampoExemplo
change_idCHG001
date2026-08-16
old_version / new_versionv1.0 / v1.1
reasonCorreção metodológica
impactAlto
approved_byResponsável
retroactiveNão

32.Regras de integridade

O banco deverá rejeitar: registro sem ativo, sem data ou sem nível; nível diferente de 1P–9P; observação duplicada; resultado sem projeção; resultado calculado antes da projeção; observação OOS utilizada para ajuste.

33.Controle especial de look-ahead

Variável lookahead_violation: 0 = nenhuma violação, 1 = possível violação, 2 = violação confirmada. Qualquer observação com valor > 0 deverá ser retirada da análise principal e encaminhada para auditoria.

34.Controle de dados ausentes

Nunca transformar automaticamente dado ausente em zero. Usar códigos específicos: NA (não disponível), ND (não determinado), EX (excluído). Isso evita distorções estatísticas.

35.Banco de dados mestre

Recomenda-se manter três versões, seguindo o fluxo Fonte → RAW → CLEAN → RESEARCH → Experimento → Artigo. Nunca editar manualmente o RAW.

VersãoDescrição
ATB3_RAWDados originais
ATB3_CLEANDados tratados
ATB3_RESEARCHDados preparados para experimentos

36.Padrão de nomenclatura

TipoPadrão
DadosATB3_RAW_YYYYMMDD.csv
Dados tratadosATB3_CLEAN_YYYYMMDD.csv
PesquisaATB3_RESEARCH_EXP001_v1.0.csv
ResultadosATB3_RESULTS_EXP001_v1.0.csv
CódigoATB3_CODE_EXP001_v1.0.py
RelatórioATB3_REPORT_EXP001_v1.0.pdf

37.Tamanho mínimo da base

Para o primeiro estudo, referência de 50 ações × 30 pregões = 1.500 observações de ativo/data. Como existem nove níveis, isso resulta em até 13.500 observações potenciais de nível — substancialmente mais informativo do que trabalhar com algumas dezenas de operações. O número final efetivamente utilizado deverá ser determinado após aplicação dos critérios de elegibilidade e qualidade dos dados.

38.Estrutura para o Artigo 1

O banco deverá permitir gerar automaticamente uma tabela com ativos, pregões, observações ativo/data, níveis, observações de níveis, sucessos, erros, taxa de sucesso, IC 95%, z, p-valor e permutação — preenchida somente após a execução efetiva do experimento.

39.Estrutura para os Artigos 2–10

A mesma base mestra permite derivar os experimentos dos Artigos 2 a 10 (benchmark, modelo aleatório, comparação 1P–9P, comparação entre ações e setores, out-of-sample, gestão de risco, histórico de longo prazo e consolidação) — não é necessário criar dez bancos diferentes.

40.Governança da base

  1. Imutabilidade do histórico — dados brutos não são sobrescritos.
  2. Versionamento — toda alteração relevante possui versão.
  3. Rastreabilidade — todo resultado pode voltar ao dado original.
  4. Reprodutibilidade — outro pesquisador deve conseguir reconstruir o cálculo.

41.Checklist de implementação v1.0

Antes de iniciar o Artigo 1: criar bancos RAW/CLEAN/RESEARCH; definir universo, período, fonte oficial e frequência; formalizar matematicamente o AT.RFG2P, os níveis 1P–9P, tolerância, toque, rejeição, rompimento, acerto e erro; definir horário de corte; implementar controle de look-ahead; definir in-sample/out-of-sample; criar IDs de experimentos, controle de versões e log de auditoria; validar consistência da base; executar teste piloto; congelar protocolo; gerar base definitiva do Artigo 1.

42.Decisão metodológica importante

Até este documento, a leitura era principalmente AT.RFG2P → resultado → taxa de acerto. A partir daqui, a arquitetura passa a ser:

Dados → Método → Níveis → Eventos → Resultados → Estatística → Robustez → Evidência.

Isso é muito mais adequado para uma linha de pesquisa científica.