Fase 1 — Fundamentação · Documento técnico-científico · v1.0
Especificação Matemática Formal do AT.RFG2P
Depende do Protocolo Científico ATB3 — AT.RFG2P v1.0 e do Dicionário de Dados e Estrutura do Banco Científico AT.RFG2P v1.0.
Status atual: PRE-FREEZE
Este documento formaliza tudo o que já está definido no método (horário de corte, tolerâncias, toque, rejeição, rompimento, agrupamento, arredondamento) — mas 8 das 9 fórmulas dos níveis técnicos (1P, 2P, 3P, 4P, 6P, 7P, 8P, 9P) e a definição exata do preço-base ainda são proprietárias e não foram publicadas. A ATB3 optou por publicar a especificação como está, de forma transparente, em vez de esconder o que ainda falta — ver a lista completa na seção 47.1.Objetivo
Este documento estabelece a especificação matemática e operacional formal do Método AT.RFG2P v1.0. Sua função é eliminar ambiguidades referentes à geração, registro, congelamento e validação dos níveis técnicos 1P a 9P, permitindo implementação computacional, construção do Banco Científico ATB3, reprodução independente dos experimentos, backtests, validação fora da amostra, controle de look-ahead bias, auditoria dos resultados, produção dos artigos científicos, comparação com benchmarks e testes de robustez.
2.Princípio matemático geral
Para um ativo a e uma data de referência t, o método produz um vetor de nove níveis (P₁, P₂, ..., P₉). Cada nível é produzido a partir de um conjunto de informações admissíveis Xt , de forma que Pi = fi(Xt), para i ∈ {1, ..., 9}, com a restrição fundamental de que Xt só pode conter informação disponível até o horário oficial de corte t₀.
É proibida a utilização de informação posterior a t₀ na geração dos níveis avaliados posteriormente.
3.Horário de corte e congelamento
Os nove níveis deverão estar calculados e registrados até o horário estabelecido pelo experimento. Após o congelamento, Pi(t > t₀) = Pi(t₀) durante toda a janela principal de avaliação — ou seja, o nível registrado não pode ser deslocado depois em função da movimentação do mercado.
A identificação mínima do congelamento deverá conter: ativo, data, horário, 1P–9P, versão do método, fonte dos dados e hash/identificador do arquivo quando disponível.
4.Variáveis de entrada
As variáveis efetivamente utilizadas pela fórmula proprietária deverão ser registradas nesta seção antes do congelamento definitivo da especificação. Cada variável deverá possuir nome, definição, fonte, frequência, unidade, período de referência, fórmula (quando derivada) e política de dados ausentes.
| Código | Variável | Definição | Unidade | Status |
|---|---|---|---|---|
| X1 | [inserir] | [inserir] | R$ / % / outra | A congelar |
| X2 | [inserir] | [inserir] | — | A congelar |
| X3 | [inserir] | [inserir] | — | A congelar |
Regra: variáveis não presentes nesta tabela não poderão participar silenciosamente da geração dos níveis.
5.Preço-base
Será definido um preço-base Bₜ, a referência central utilizada pelo algoritmo para o pregão correspondente. Sua origem deverá ser congelada antes dos experimentos definitivos.
Possibilidades que não deverão ser escolhidas retrospectivamente incluem Bₜ = Ct-1 (fechamento anterior) ou uma função Bₜ = g(Xₜ).
Até o preenchimento dessa definição, o documento não deve ser considerado apto à reprodução integral do algoritmo.
6.Definição dos nove níveis
6.1 Nível 1P — Suporte Principal
Interpretação operacional: região técnica classificada pelo AT.RFG2P como suporte principal.
6.2 Nível 2P — Suporte Secundário
O nível 2P também participa da determinação do stop técnico 5P em uma das configurações já estabelecidas.
6.3 Nível 3P — Resistência Principal
6.4 Nível 4P — Projeção de Valorização
6.5 Nível 5P — Stop Técnico
Na configuração de compra já definida no AT.RFG2P, 5P corresponde a 1% abaixo de 2P.
Exemplo: se P₂ = R$ 40,00, então P₅ = 40,00 × 0,99 = R$ 39,60. A utilização dessa fórmula deve ser identificada como configuração de compra quando houver outras configurações direcionais do método.
6.6 e 6.7 Níveis 6P e 7P — Suporte de Segunda Ordem
6.8 e 6.9 Níveis 8P e 9P — Resistência de Segunda Ordem
7.Agrupamento de níveis
Quando níveis de mesma natureza estiverem excessivamente próximos, o AT.RFG2P deverá identificar uma região agrupada. Para dois níveis Pᵢ e Pⱼ:
A regra ATB3 considera agrupamento quando D% < 0,25%. Aplicação prioritária: (6P, 7P) e (8P, 9P).
O agrupamento não elimina os níveis individuais do banco científico.
8.Regra especial de abertura acima de 8P
Quando o preço oficial de abertura Oₜ > P₈, registra-se a condição OPEN_ABOVE_8P = 1. No modelo operacional já definido pelo AT.RFG2P, essa condição corresponde a viés técnico de baixa. Para finalidade científica, o banco deve preservar separadamente: a condição objetiva, a classificação de viés e o resultado posterior — permitindo testar empiricamente a própria regra em vez de presumir sua validade.
9.Arredondamento
O cálculo científico deve preservar a maior precisão disponível internamente. Se o valor bruto é Piraw e o ativo possui incremento mínimo de cotação q (R$ 0,01 para ações em centavos), o valor publicado é roundq(Piraw).
Exemplo: 38,84736 torna-se 38,85. O banco deve preservar level_raw e level_published — a recomendação v1.0 é usar o nível efetivamente divulgado/congelado como nível primário de validação, preservando o bruto para auditoria.
10.Tolerância — definição geral
Seja L = Pi o nível projetado. Define-se a banda B(L, τ) = [L − τ, L + τ], onde τ ≥ 0 é a tolerância monetária.
11.Regra A — tolerância zero
Existe toque estrito quando P = L, ou, usando OHLC diário, quando Low ≤ L ≤ High. A Regra A representa o teste mais rigoroso de alcance do nível.
12.Regra B — ±R$ 0,01
Exemplo: L = 40,00 gera [39,99; 40,01].
13.Regra C — ±R$ 0,05
Para L = 40,00, a região válida é [39,95; 40,05].
14.Regra D — ±R$ 0,10
Para L = 40,00: [39,90; 40,10]. Essa regra não substitui A, B ou C — os quatro resultados devem poder ser calculados simultaneamente para testes de sensibilidade.
15.Definição matemática de toque
Para dados intradiários, existe toque no nível L se existir pelo menos um preço Pₛ dentro da janela de observação W tal que |Pₛ − L| ≤ τ.
16.Toque utilizando OHLC
Quando só há máxima e mínima, ocorre toque se houver interseção entre o intervalo negociado e a banda do nível:
17.Definição matemática de rejeição
Toque e rejeição são eventos diferentes. Primeiro deve existir Touch = 1. Depois do primeiro toque, o preço deve afastar-se do nível em magnitude mínima previamente definida ρ. Para suporte: Pafter ≥ L(1+ρ). Para resistência: Pafter ≤ L(1−ρ). Assim, Rejection = Touch × Confirmation.
Parâmetro ainda a congelar
A especificação quantitativa de ρ (valor monetário, percentual, ATR, ou múltiplo da tolerância) deve ser definida antes de qualquer teste oficial de rejeição. Até então, rejeição não pode ser usada como desfecho científico primário.18.Definição matemática de rompimento
Para uma resistência, BreakUp(L) = 1 quando Pₛ > L+τ e a regra adicional de confirmação for satisfeita. Para suporte, BreakDown(L) = 1 quando Pₛ < L−τ e houver confirmação.
Um simples High maior que a resistência não é automaticamente tratado como rompimento confirmado.
19.Janela de observação
Se t₀ é o instante de congelamento e t₁ o término do período avaliado, define-se W = [t₀, t₁]. Para o experimento diário principal, W corresponde ao pregão. Eventos ocorridos depois de t₁ não são contabilizados como sucesso daquele experimento — mas o banco pode registrar late_touch = 1 para estudos posteriores.
20.Tratamento de gap
O gap deve ser preservado como variável independente.
21.Gap atravessando um nível
Considere uma resistência L. Se Ct-1 < L e Oₜ > L, não se pode afirmar automaticamente que o ativo negociou no nível — com dados exclusivamente diários, o mercado pode ter saltado sem transacionar em L. Portanto GapCross ≠ Touch por definição; o evento recebe gap_cross = 1 e permanece separado do toque confirmado. Com dados intradiários, o toque pode ser validado se houver negócio efetivamente registrado dentro da banda.
22.Gap de abertura dentro da banda
Se Oₜ ∈ [L−τ, L+τ], então Touch = 1 e TouchTime = Opening, desde que o preço oficial de abertura seja um negócio válido da fonte utilizada.
23.Tratamento de empate
Empates podem ocorrer quando dois ou mais níveis forem numericamente iguais após arredondamento. Os níveis não devem ser excluídos — registrar tie_flag = 1 e tie_group = id. Cada nível continua existindo como elemento metodológico, mesmo que o evento físico de mercado seja único.
24.Múltiplos níveis atingidos
No mesmo pregão podem ocorrer Touch(Pᵢ) = 1 e Touch(Pⱼ) = 1 para i ≠ j — ambos são registrados. Devem existir duas análises diferentes: por nível (cada nível é uma observação) e por ativo/dia (o pregão é uma unidade agregada), evitando inflar artificialmente o tamanho amostral.
25.Ordem dos eventos
Quando dados intradiários estiverem disponíveis, registrar Tᵢ (tempo do primeiro toque em Pᵢ) e ordenar a sequência T₍₁₎ < T₍₂₎ < ... < T₍ₖ₎, permitindo saber qual nível ocorreu primeiro, não apenas quais apareceram.
26.Limitação dos dados OHLC diários
Com apenas abertura, máxima, mínima e fechamento, não é possível saber se a sequência foi Open→High→Low→Close ou Open→Low→High→Close. Quando dois níveis de lados opostos são atingidos na mesma barra diária, a ordem temporal é UNKNOWN, salvo se dados intradiários permitirem sua determinação.
27.Tratamento da máxima
Para uma resistência R, a condição necessária para alcance quando R está acima da região inicial é High ≥ R − τ.
28.Tratamento da mínima
Para um suporte S, a condição necessária para alcance quando S está abaixo da região inicial é Low ≤ S + τ. A regra integral de toque continua sendo a interseção de intervalos definida anteriormente.
29.Preços ajustados e não ajustados
Eventos como desdobramentos, grupamentos, bonificações, dividendos, juros sobre capital e subscrições podem alterar séries ajustadas.
Regra fundamental
Não misturar, dentro do mesmo cálculo, preço ajustado com nível não ajustado, ou vice-versa.30.Série primária recomendada
Para verificar se um preço efetivamente negociado tocou um nível divulgado naquele pregão, a série de execução deve refletir os preços efetivamente negociados. Para estudos de retorno de longo prazo, pode ser necessária série ajustada. O banco deve conter price_adjustment_flag, corporate_action_flag e adjustment_factor.
31.Eventos corporativos
Se ocorrer alteração estrutural relevante entre a geração e a validação, registra-se CorporateAction = 1. A observação deve ser corrigida por regra previamente definida ou excluída da análise primária. Nunca deve haver ajuste manual silencioso.
32.Critério primário de acerto
Esse critério é independente de rentabilidade. Um nível atingido não significa, por si só, operação vencedora, lucro, previsão direcional correta ou recomendação de investimento.
33.Critério de erro
Se Touch(Pᵢ,ₜ) = 0 durante Wₜ, então Yᵢ,ₜ = 0, desde que a observação seja válida. Dados ausentes, corrompidos, suspensos, incompatíveis ou objeto de evento corporativo sem tratamento não são automaticamente classificados como erro — recebem Y = NA até resolução metodológica.
34.Regras A/B/C/D simultâneas
Para cada nível, podem ser geradas quatro variáveis Y_A, Y_B, Y_C, Y_D, associadas respectivamente às tolerâncias 0 / 0,01 / 0,05 / 0,10 — permitindo análise de sensibilidade sem reconstruir os dados depois.
35.Exemplo numérico — tolerâncias
Suponha 3P = R$ 40,00, com Low = 39,94 e High = 40,03.
| Regra | Banda | Resultado |
|---|---|---|
| A | [40,00; 40,00] | 39,94 ≤ 40,00 ≤ 40,03 → Y_A = 1 |
| B | [39,99; 40,01] | Há interseção → Y_B = 1 |
| C | [39,95; 40,05] | Há interseção → Y_C = 1 |
| D | [39,90; 40,10] | Há interseção → Y_D = 1 |
36.Exemplo numérico — quase toque
Considere L = R$ 40,00 e máxima High = 39,93.
| Regra | Limite inferior | Resultado |
|---|---|---|
| A | 40,00 | 39,93 < 40,00 → Y_A = 0 |
| B | 39,99 | 39,93 < 39,99 → Y_B = 0 |
| C | 39,95 | 39,93 < 39,95 → Y_C = 0 |
| D | 39,90 | 39,93 ≥ 39,90 → Y_D = 1 |
O mesmo evento pode, portanto, ser erro na Regra C e acerto na Regra D — daí a importância de definir a tolerância antes de analisar a taxa de sucesso.
37.Exemplo numérico — 5P
Considere 2P = R$ 39,24. A regra de stop técnico estabelece 5P = 0,99 × 39,24 = 38,8476, arredondado a centavos: R$ 38,85.
38.Exemplo numérico — gap
Considere Ct-1 = R$ 39,50, L = R$ 40,00, Oₜ = R$ 40,30. O ativo passou de abaixo de L para abertura acima de L: GapCross = 1, mas Touch não pode ser concluído apenas pelo cruzamento do gap. Se a primeira negociação oficial foi exatamente 40,30 e nenhuma negociação em [39,90; 40,10] for registrada, então sob Regra D: Touch_D = 0.
39.Exemplo numérico — agrupamento 8P/9P
Suponha 8P = 41,20 e 9P = 41,28.
Como 0,194% < 0,25%, então Cluster_8,9 = 1.
40.Exemplo numérico completo — estrutura do pregão
Ativo: EXEMP3 · Data: 15/08/2026 · Método: AT.RFG2P-v1.0 · Horário de congelamento: 08:00 BRT
| Nível | Valor |
|---|---|
| 1P | 39,25 |
| 2P | 39,24 |
| 3P | 40,06 |
| 4P | 40,01 |
| 5P | 38,85 |
| 6P | 39,57 |
| 7P | 38,00 |
| 8P | 41,20 |
| 9P | 42,90 |
Dados posteriores: Open = 39,23 · High = 40,08 · Low = 38,64 · Close = 38,72.
- Para 3P (L=40,06): Low ≤ 40,06 ≤ High → Touch(3P) = 1 sob Regra A.
- Para 2P (L=39,24): 38,64 ≤ 39,24 ≤ 40,08 → Touch(2P) = 1.
- Para 8P (L=41,20): mesmo com ±R$0,10, 41,10 > High=40,08 → Touch_D(8P) = 0.
Este exemplo demonstra a lógica de validação. Ele não revela nem substitui as fórmulas proprietárias responsáveis pela geração de 1P–4P e 6P–9P.
41.Registro computacional mínimo
Cada linha deve conter: date, ticker, method_version, protocol_version, information_cutoff, level_id, level_raw, level_published, tolerance_rule, tolerance_value, window_start, window_end, open, high, low, close, touch_flag, touch_timestamp, gap_flag, gap_cross_flag, rejection_flag, breakout_flag, tie_flag, cluster_flag, sample_type, data_source, audit_status.
42.Pseudocódigo de validação
PARA cada ativo a
PARA cada data t
carregar somente dados disponíveis até t0
calcular 1P ... 9P
congelar níveis
preservar versão do método e timestamp
aguardar janela W
carregar dados de mercado posteriores
PARA cada nível Pi
PARA cada tolerância tau
lower = Pi - tau; upper = Pi + tau
SE intervalo negociado intersecta [lower, upper]
touch = 1
SENÃO
touch = 0
FIM
FIM
registrar eventos e dados de auditoria
FIM
FIM43.Regra contra look-ahead bias
O sistema deve validar timestamp(input) ≤ t₀. Se timestamp(input) > t₀, então lookahead_violation = 1, e a observação é automaticamente inelegível para o teste principal.
44.Regra contra alteração retrospectiva
Para cada conjunto de níveis deve ser produzido um Snapshott. Após congelamento, Hash(Snapshott) = Ht. Qualquer alteração posterior resulta em H't ≠ Ht e deve ser registrada no log de auditoria.
45.Regra de versionamento
Alteração que não modifica a essência matemática: v1.0 → v1.1. Alteração de fórmula, variável central ou lógica de geração: v1.x → v2.0. Resultados produzidos por versões diferentes devem permanecer identificáveis.
46.O que não pode ser alterado depois do teste
Depois do congelamento de um experimento, não é permitido modificar para melhorar resultados: ativos, período, níveis, fórmulas, tolerância primária, janela, critério de acerto/erro, regra de exclusão, benchmark ou hipótese principal. Análises diferentes são classificadas como exploratórias ou como novo experimento.
47.Estado atual da especificação
Formalmente definidos
- Vetor de nove níveis e função geral Pᵢ=fᵢ(Xₜ)
- Horário de congelamento
- 1P–4P e 6P–9P como suporte/resistência (função, não fórmula)
- 5P = 0,99 × 2P na configuração de compra
- Tolerâncias A/B/C/D
- Agrupamento < 0,25%
- Condição de abertura acima de 8P
- Toque, gap, empate, múltiplos níveis
- OHLC, preços ajustados
- Controle temporal e versionamento
Ainda precisam ser inseridos pelo autor do AT.RFG2P
- Fórmula exata de 1P
- Fórmula exata de 2P
- Fórmula exata de 3P
- Fórmula exata de 4P
- Fórmula exata de 6P
- Fórmula exata de 7P
- Fórmula exata de 8P
- Fórmula exata de 9P
- Definição exata do preço-base
- Conjunto integral de variáveis de entrada
- Parâmetro quantitativo definitivo de rejeição (ρ)
- Confirmação definitiva de rompimento
48.Condição para congelamento do AT.RFG2P v1.0
O selo AT.RFG2P — FORMAL SPECIFICATION v1.0 — FROZEN somente deverá ser aplicado quando todos os 12 itens pendentes da seção 47 estiverem preenchidos. Até então:
Esse controle é necessário porque uma metodologia não é integralmente reproduzível enquanto suas funções centrais permanecerem não especificadas.
49.Princípio de integridade científica
A função deste documento não é construir regras capazes de reproduzir retrospectivamente os melhores resultados históricos. A ordem obrigatória é:
E nunca: Observar → Ajustar → Declarar sucesso.
50.Declaração final
O ATB3 — Especificação Matemática Formal do AT.RFG2P v1.0 constitui o documento técnico destinado a transformar o método AT.RFG2P em um objeto de investigação científica formal, versionado, auditável e potencialmente reproduzível. Seu propósito não é pressupor a eficácia do método. Seu propósito é tornar possível testá-la.
A validade científica do AT.RFG2P deverá resultar da evidência produzida pelos dados e pelos testes previamente estabelecidos, inclusive quando os resultados forem neutros, heterogêneos ou contrários às hipóteses iniciais.