DOL
DXY
BRT
MANUAL DO PAINEL

Como funciona o Painel MoneyDol

Cada card explicado: o que mostra, como é calculado, como interpretar, e onde tem limitação.
O que este painel é: agregador de contexto macro pra DOL/WDO. Ajuda a entender O QUE ESTÁ ACONTECENDO no mercado em tempo real. O que NÃO é: um sistema de sinais que diz "compre agora a 5.62 com alvo 5.68". As estratégias automatizadas estão em fase de validação (vide /admin/strategies) e nenhuma confirmou edge estatisticamente ainda.

Índice (ordem de importância pro trader)

#1
Ticker Macro
Faixa horizontal no topo com 16 indicadores em tempo real
SUPORTE
#2
Termômetro DOL
Score agregado 0–100 dos 11 indicadores macro
CRÍTICO
#3
Bias Engine
Direção provável + confiança probabilística
CRÍTICO
#4
DOL Teórico — Preço Justo por Carrego
Fair value DOL = Spot × (1+DI)^DU/252 / (1+Cupom)^DC/360
ALTO
#5
VTC Suportes e Resistências (5/10min)
Vela 10:05 / 10:10 BRT ± 0,25% do fech D-1 = travas operacionais
ALTO
#6
Análise Calendário IA
Eventos macro próximos com leitura LLM hawkish/dovish
ALTO
#7
Análise Intermercados
Cenários canônicos DI vs DOL (Curva Mista, Steep Up...)
ALTO
#8
Curva DI · Futuros B3
Pontos da curva intraday 1M–5Y + spread DI1F32-DI1N26
ALTO
#9
Carry Trade
Pressão estrutural via cupom + DXY + VIX + CDS
MÉDIO
#10
VTC — Volatilidade pós-PTAX (Aula 77)
Referência histórica no rodapé — base PTAX1+FRP0 stress ±10pts
SUPORTE
#11
Mercado Daily
Tabela métricas diárias agregadas
MÉDIO
#12
Narrativa IA
Resumo LLM da sessão (quando habilitada)
SUPORTE

#1Ticker MacroSUPORTE

O que mostra

Faixa horizontal fina no topo absoluto do dashboard scrollando da direita pra esquerda com 16 indicadores macro em tempo real: DOLFUT, WDOFUT, Preço Justo, Preço Justíssimo, Cupom Limpo, DXY (Δ24h), VIX, OURO, FRP0, FRP1, EUR/USD, EUR/BRL, TNX, WIN, EWZ, Termômetro DOL score. Cada item mostra valor atual + variação 24h colorida (verde sobe / vermelho cai). Polling 10s.

Quando ler

Visão periférica. Use pra ter contexto macro sem precisar abrir páginas dedicadas — dá pra captar "DXY está negativo, OURO subindo, VIX calmo" numa olhada. Em mobile < 700px o ticker é ocultado pra não roubar espaço.

Limitação: Não é fonte primária pra decisão operacional — valores são pra contexto. Pra análise específica (ex: Termômetro detalhado, DI Curve, Calendário), use os cards dedicados abaixo. Respeita prefers-reduced-motion — se você desabilitou animações no SO, o ticker pausa automático.

#2Termômetro DOLCRÍTICO

O que mostra

Um score de 0 a 100 que agrega 11 indicadores macro num único número. 100 = força LONG DOL extrema (mercado todo pedindo dólar pra cima). 0 = força SHORT DOL extrema (mercado todo pedindo queda). 50 = neutro. O ponteiro do gauge na cor verde/amarelo/vermelho dá leitura visual em 1 segundo.

Como é calculado

Cada indicador é normalizado pra escala 0–100 (onde 100 = sinal máximo LONG DOL) e ponderado segundo o peso definido pela mesa de pesquisa do MoneyDol:

score = Σ (valor_normalizado_i × peso_i) / Σ pesos_disponíveis

Pesos:
  Bias            18%   (engine multi-fator agregado, mais "completo")
  Carry Trade     12%   (cupom + diferencial juros)
  Regime          11%   (RISK_OFF / STRESS_FISCAL → LONG DOL forte)
  DXY             11%   (USD global vs cesta — DIRETO)
  VIX             10%   (risco global — alto = LONG DOL)
  TNX             9%    (UST 10y yield — alto atrai capital pro USD)
  FRP0            8%    (cupom cambial — alto = capital entra BR = SHORT DOL)
  Tom Política    7%    (FOMC/Copom LLM hawkish/dovish)
  Ouro (XAUUSD)   6%    (INVERSO: XAU↑ = USD↓ = SHORT DOL)
  Brent           4%    (INVERSO: exportador BR)
  WIN             4%    (INVERSO: Bovespa forte = BRL forte)

Indicadores com leitura faltante (engine sem snapshot recente) saem do cálculo — o peso deles não infla a média, o denominador encolhe. Se 9 dos 11 estão disponíveis, o score é a média ponderada desses 9 e o card mostra "9/11 indicadores" no canto.

Como interpretar

Score 0–25   →  SHORT DOL forte   (consenso de queda)
Score 25–40  →  SHORT DOL leve
Score 40–60  →  NEUTRO            (sem viés agregado)
Score 60–75  →  LONG DOL leve
Score 75–100 →  LONG DOL forte    (consenso de alta)

O alvo do gauge ("TARGET 80%") é o limiar histórico onde 8 ou mais indicadores convergem na mesma direção — momento de maior confiança no sinal agregado.

Limitação: O Termômetro NÃO faz timing intraday. Quando cruza 75 ou 25, o follow-through esperado é de 30 a 60 min — tempo demais pra scalping mas curto pra swing. Backtest da estratégia “Termômetro Crossover” está em andamento (espera 30d de dados em dollar_pulse_snapshots antes de validar edge).

#3Bias EngineCRÍTICO

O que mostra

O RadarDial (gauge circular) mostra a direção mais provável do DOL (LONG_DOL / SHORT_DOL / NEUTRO) e o nível de confiança probabilística (0–100%). É calculado por um engine separado do Termômetro, com lógica multi-fator própria. As 4 linhas abaixo do gauge desdobram:

Bias direção            → COMPRAR / VENDER / NEUTRO
Força do contexto       → BAIXA / MÉDIA / ALTA (|score| do bias)
Confiança probabilística → % final do Bayes do engine
Regime atual            → RISK_ON / RISK_OFF / STRESS_FISCAL / MEAN_REVERSION / etc

Como é calculado

O BiasEngine roda no backend a cada 30 segundos. Ele combina:

  • Pontos atuais e variação intraday do DOL (Cedro live)
  • Curva DI 1Y/2Y/5Y do dia anterior vs hoje
  • DXY (TwelveData/Yahoo, 5min)
  • Carry calculado (cupom_pct snapshot)
  • Termômetro de risk-on/risk-off (VIX + EWZ + EMB combinados)
  • Regime atual classificado pelo RegimeEngine

Cada um vira fator com peso variável (depende do regime atual — em RISK_OFF o peso de VIX cresce; em STRESS_FISCAL o peso de CDS cresce). O score final é normalizado pra [-1, +1] onde +1 = LONG_DOL máximo. A confiança é inverso-proporcional à variância entre os fatores: todos concordando = alta confiança; metade comprando, metade vendendo = baixa confiança.

Como interpretar

Direção + confiança é o que importa. Direção LONG com confiança 92% é forte. Direção LONG com confiança 51% é praticamente coin-flip — ignorar. Use regimes específicos (STRESS_FISCAL, RISK_OFF) como filtro adicional: trades a favor do bias em regime de stress têm winrate maior na literatura.

Limitação: O Bias Engine pesa o seu próprio score (peso 18% no Termômetro). Se você combinar os 2 cards na mesma decisão, está dando peso duplo ao Bias. Use Termômetro pra contexto geral E Bias pra direção tática — mas não combine cegamente.

#6Análise Calendário IAALTO

O que mostra

Análise textual gerada por LLM (DeepSeek V3) dos eventos macro AGENDADOS pras próximas 4h E publicações JÁ OCORRIDAS nas últimas 2h. Quando o engine identifica um evento high-impact próximo, mostra: nome, hora, país, importância, e tendência hawkish/dovish esperada com justificativa contextual.

Como é calculado

1. Engine puxa macro_events do PG (FOMC, Copom, NFP, CPI, IPCA, etc)
2. Filtra: |event_time - now| < 4h (futuro) OU < 2h (passado)
3. Filtra por importance >= 3 (estrelas ForexFactory ou equivalente)
4. Envia lista pro DeepSeek V3 com prompt EN strict:
   - "Classifique cada evento como hawkish/dovish PRA O USD"
   - "Forneça justificação em PT-BR de 1-2 frases"
5. Resposta cacheada 15min em Redis
6. Card mostra os 2-3 mais relevantes

Como interpretar

Quando o card mostra "Sem eventos de alto impacto na próxima janela", é exatamente isso: nenhum evento ≥3★ agendado nas próximas 4h. Mercado em "vácuo macro" — sem catalisador agendado, fluxo técnico domina. Quando mostra um evento, a análise inclui:

  • Hawkish: Fed/BC vai apertar = USD forte / BRL forte
  • Dovish: Fed/BC vai afrouxar = USD fraco / BRL fraco
  • Neutro: mercado já precificou ou expectativa dividida
Limitação: LLMs erram ~20-30% em classificações hawkish/dovish (literatura: Hansen & Kazinnik 2023, "Can ChatGPT Decipher Fedspeak?"). Use como leitura rápida, não como verdade revelada. Confronte com o consenso de research em /macro pra eventos maker-or-breaker (Copom, FOMC).

#7Análise IntermercadosALTO

O que mostra

Diagnóstico do cenário canônico atual da curva DI vs comportamento do DOL. Os cenários são padrões clássicos da mesa de macro:

Curva Mista      → DI curto e longo divergem (incerteza fiscal+monetária)
Bull Steepening  → DI longo cai mais que curto (mercado precificando corte Selic)
Bear Steepening  → DI longo sobe mais que curto (risco fiscal piorando)
Bull Flattening  → DI curto cai mais que longo (Copom dovish surprise)
Bear Flattening  → DI curto sobe mais que longo (Copom hawkish surprise)

Pra cada cenário o card mostra: movimento da curva, gatilho típico, e viés DOL/WDO esperado.

Como é calculado

O engine compara os pontos da curva DI atual (1M, 3M, 6M, 1Y, 2Y, 5Y) com snapshot de 60min atrás. Calcula:

Δ_curto  = DI_1Y(now) − DI_1Y(60min ago) em bps
Δ_longo  = DI_5Y(now) − DI_5Y(60min ago) em bps
Δ_slope  = Δ_longo − Δ_curto

Cenário matchado por sinais:
  Δ_curto > 0  AND  Δ_longo > 0  AND  Δ_slope > 0  →  Bear Steepening
  Δ_curto < 0  AND  Δ_longo < 0  AND  Δ_slope < 0  →  Bull Flattening
  |Δ_curto| < 2bps AND |Δ_longo| < 2bps           →  Sem movimento
  ... (outros padrões similares)

Como interpretar

O cenário FRACA (sem direção dominante) é o mais comum — significa mercado em consolidação. Não force trade nesses momentos. Cenários FORTE (Bull/Bear Steepening/Flattening explícitos) têm correlação histórica documentada com direção do DOL — usar como confirmação adicional, não gatilho único.

Limitação: Em dias de leilão de NTN-F (Tesouro Direto) ou rollover de DI, a curva se distorce artificialmente. O card NÃO filtra esses dias hoje — confira manualmente no calendário do Tesouro antes de operar baseado em movimento extremo da curva.

#8Curva DI · Futuros B3ALTO

O que mostra

Os pontos atuais da curva de juros futura brasileira (DI1) em vários vencimentos: SHORT (DI1N26), LONG (DI1F32), e o SPREAD entre eles (negativo = curva invertida; positivo = curva normal). Gráfico mostra a curva completa de 1M a 5Y. Tabela abaixo desdobra prazos intermediários (1M / 3M / 6M / 1Y / 2Y / 5Y).

Como é calculado

O dado bruto vem do Cedro Crystal Socket (ticks dos contratos DI1*). O enginedi_curve_snapshotter roda a cada minuto pegando o último tick de cada contrato e gravando snapshot em di_curve_snapshots (jsonb com todos os pontos). O spread é simplesmente:

spread = DI1F32 − DI1N26  (em pontos percentuais)
       < 0  → curva INVERTIDA (mercado espera corte de Selic à frente)
       > 0  → curva NORMAL    (mercado espera Selic alta sustentada)

Como interpretar

Curva invertida (situação atual) significa que o mercado precifica cortes de Selic à frente — historicamente correlacionado com BRL forte (DOL fraco) no médio prazo. Curva steepenando (long subindo mais que curto) sinaliza piora fiscal ou expectativa de inflação alta — historicamente BRL fraco (DOL forte). O gráfico mostra a CURVA inteira pra você visualizar onde está a deformação.

Limitação: A curva DI tem horários de baixa liquidez (almoço B3 12h-13h, after-close 17h+ BRT). Pontos durante essas janelas podem ser ruidosos. Sempre confirme com volume do contrato antes de tirar conclusão de movimento brusco.

#9Carry TradeMÉDIO

O que mostra

Score 0–100 indicando se o carry trade está ATIVO (estrangeiros montando posição vendida em DOL pra captar diferencial de juros), UNWIND(saindo da posição = pressão compradora no DOL) ou NEUTRO. Abaixo do score: cupom_pct, DXY 24h%, VIX, CDS Brasil 5y, e um botão "Análise completa" que leva pra /carry.

Como é calculado

score = ponderar:
  cupom_pct        (alto = carry favorável pra montar)
  diferencial_real (DI Brasil − UST 10y, alto = atrai capital)
  EMB pct 24h      (ETF EM bond — proxy de risco-país)
  DXY 24h          (USD forte global = pressão contra carry)
  VIX              (risco global alto = unwind defensivo)
  CDS Brasil 5y    (risco soberano BR)

Classificação:
  score > 70  AND  cupom alto         →  ATIVO  (carry montando, pressão SHORT DOL)
  score < 30  AND  VIX/CDS subindo    →  UNWIND (carry saindo, pressão LONG DOL)
  caso contrário                      →  NEUTRO

Como interpretar

Carry ATIVO + Termômetro < 50 = combinação que historicamente precede dólar caindo (capital entrando, BRL valorizando). Carry UNWIND + Termômetro > 50 = combinação que historicamente precede dólar subindo (capital saindo). Quando carry está NEUTRO, o sinal não tem peso decisório — ignore essa dimensão.

Limitação: Carry trade reage devagar — horizonte de DIAS, não horas. Não use pra scalping. O UNWIND, especialmente, pode ser violento (eventos como TARP 2008, COVID 2020) mas começa lento. O card te dá leitura de pressão estrutural, não timing.

#4DOL Teórico — Preço Justo por CarregoALTO

O que mostra

Estimativa do preço justo do DOL futuro pelo custo de carregamento financeiro entre BRL e USD. Mostra: desvio em pontos (mercado − teórico) como big number colorido (🔴 caro / 🟢 barato / ⚪ alinhado), preço justo calculado, DOL mercado, spot PTAX médio, carrego teórico vs mercado em pontos, e parâmetros (DI, Cupom, DU, DC). Card no macro strip do topo, substituiu o VTC antigo que foi pro rodapé.

Como é calculado

Fórmula no-arbitrage (mercado brasileiro):
  DOL_teorico = Spot × (1 + DI)^(DU/252) / (1 + Cupom)^(DC/360)

Onde:
  Spot         = AVG das janelas PTAX BCB do dia
  DI           = SELIC Meta (b3_indicators_daily.selic_meta),
                 fallback DI 1Y de di_curve_snapshots
  Cupom anual  = derivado do FRP0 (no-arbitrage):
                 (1 + FRP0/Spot)^(360/DC) − 1
  DU           = dias úteis até vencimento DOLM26 (próximo)
  DC           = dias corridos até vencimento

Desvio em pontos = (DOL_mercado − DOL_teorico) × 1000

Classificação:
  |desvio| ≤ 2 pts        →  Alinhado ao teórico
  +2 a +7 pts             →  Levemente caro
  > +7 pts                →  Caro (prêmio sobre carrego)
  −2 a −7 pts             →  Levemente barato
  < −7 pts                →  Barato (desconto vs carrego)

Como interpretar

Não é sinal direcional automático. Mede se o futuro está coerente com o custo financeiro de carregar a posição. Futuro caro pode indicar fluxo comprador, hedge institucional, stress, rolagem ou expectativa de PTAX. Futuro barato pode ser desmontagem de hedge, pressão vendedora de fluxo estrangeiro, ou distorção temporária de liquidez. Use como filtro contextual junto com Carry, Termômetro e fluxo.

Limitação: Em dias de stress (FOMC, Copom, eventos macro fortes) o mercado pode operar muito tempo fora do valor teórico — essa fórmula assume condição normal de mercado. Cache 30s no Redis evita sobrecarregar o backend.

#5VTC Suportes e Resistências (5min / 10min)ALTO

O que mostra

Níveis técnicos operacionais derivados da vela das 10:05 BRT (timeframe 5min) e da vela das 10:10 BRT (timeframe 10min) do DOLFUT. Cada timeframe mostra 5 níveis: R2, R1, VTC (linha principal em aqua), S1, S2. Card em 2 colunas lado a lado, fica disponível só após as velas referência fecharem (~10:10 e ~10:20 BRT).

Como é calculado

VTC 5min  = (high_10:05 + low_10:05) / 2    [vela 10:05-10:09:59 BRT]
VTC 10min = (high_10:10 + low_10:10) / 2    [vela 10:10-10:19:59 BRT]

Δ trava   = 0,25% × fechamento_DOLFUT_D-1

Níveis projetados em cada timeframe:
  R2 = VTC + 2Δ      (resistência forte)
  R1 = VTC + 1Δ      (resistência próxima)
  VTC                 (pivot — banca opera daqui)
  S1 = VTC − 1Δ      (suporte próximo)
  S2 = VTC − 2Δ      (suporte forte)

Como interpretar

As linhas funcionam como travas onde o preço tende a parar ou fazer pullback. O VTC é o "preço justo intraday" daquele timeframe — fluxo de alta tende a buscar R1/R2, fluxo de baixa busca S1/S2. Use junto com book/volume: aproximação em R2 com volume caindo = exaustão; rompimento de R2 com volume forte = continuação.

Limitação: Valor fixa após a vela referência fechar (10:10 BRT pra 5min, 10:20 BRT pra 10min). Não recalibra durante o dia — é uma "âncora" estática. Em dias com gap de abertura forte ou notícia entre 9h e 10h, o VTC pode sair fora do book do resto do pregão e perder utilidade. Confirme com volume antes de operar.

#10VTC — Volatilidade pós-PTAX (Aula 77 Fraja)SUPORTE

O que mostra

Estimativa de oscilação típica esperada do DOL futuro após a 1ª PTAX do dia (publicação BCB ~10h15 BRT, baseada nas operações até esse horário). Método derivado da Aula 77 do Curso Fraja:

Base = 1ª PTAX + FRP0_pts

Oscilação típica = ±X% da Base, onde X é a volatilidade
                    histórica da janela pós-PTAX em D-N similares.

Se DOL futuro estiver muito acima de (Base × 1.005)  →  zona de SHORT
Se DOL futuro estiver muito abaixo de (Base × 0.995) →  zona de LONG

Como é calculado

Antes da PTAX sair, o card mostra "Aguardando snapshot da abertura..." (estado atual no screenshot que você viu). Quando o BCB publica a PTAX:

  1. Engine pega a 1ª PTAX D-0 do BCB
  2. Soma o FRP0 (cupom cambial em pontos) → calcula Base
  3. Pega snapshot do DOL na hora da PTAX
  4. Compara com volatilidade histórica do mesmo horário nos últimos N pregões
  5. Marca zonas de "preço justo" baseado na Base

Como interpretar

Esse é um sinal específico do método Fraja — trader retail BR familiarizado com a metodologia vai usar diretamente. Pra quem não conhece: pense em "preço de equilíbrio teórico do DOL futuro dado a PTAX do dia". Desvios extremos tendem a reverter à Base ao longo da sessão.

Limitação: Em dias de intervenção cambial do BCB (leilões de linha/à vista), o FRP0 se descola do equilíbrio teórico — a Base perde validade preditiva. O card NÃO sabe sobre intervenções; confira sempre no calendário do BCB.

#11Mercado DailyMÉDIO

O que mostra

Tabela com métricas agregadas por sessão: abertura, máxima, mínima, fechamento, variação%, volume, e ajuste diário B3. Histórico de N dias úteis pra você comparar o dia de hoje com o padrão recente. Útil pra contextualizar volatilidade ("hoje está mais ou menos volátil que a média dos últimos 10 dias?").

Como é calculado

Os números vêm direto do candles_1m agregados em diário no backend, mais o ajuste B3 puxado do collector b3_ajustes_collector (publicação oficial B3 todo fim de pregão). A variação% é (close − open) / open × 100.

Como interpretar

Use pra detectar dias outliers: range > 2× média = sessão atípica (provavelmente news ou intervenção). Volume < 50% média = liquidez baixa (não force trade direcional). O ajuste B3 mostra o preço oficial de fechamento pra cálculos de margem/garantia.

#12Narrativa IASUPORTE

O que mostra

(Apenas PREMIUM) Resumo gerado por LLM da sessão atual ou da abertura. Texto curto em PT-BR descrevendo o que está acontecendo agregando os indicadores principais. Tipo um "analista junior te resumindo o painel" em 3 parágrafos. Quando desligada em /admin/ai, o slot fica vazio.

Como é calculado

1. Engine pega snapshot atual de:
   - Termômetro DOL score + breakdown
   - Bias direction + confidence
   - Regime atual
   - Eventos macro próximos
   - Movimento da sessão (open/now)
2. Monta prompt EN strict com instruções de tom
3. Envia pra DeepSeek V3 ou Claude (configurável em /admin/ai)
4. Resposta cacheada 5min em Redis
5. Quando user solicita "regenerar", força refresh

Como interpretar

É um resumo, não um sinal. Bom pra: pegar contexto rápido quando você acabou de chegar no mercado. Ruim pra: tomar decisão de trade. O LLM tende a ser conservador demais — vai descrever cenários como "incerto" quando o painel tem sinal claro. Use pra recap, não pra direção.

Limitação: LLM pode "alucinar" números (ex: citar PTAX errada se o contexto não foi passado completo). Sempre confronte os números mencionados na narrativa com os cards numéricos do painel antes de citar como verdade.

Pra fechar — princípios honestos

  • Nenhum card aqui é gatilho de entrada. Todos são CONTEXTO. A decisão é sua.
  • Combinação > isolado. Termômetro + Bias + Calendário alinhados dão mais confiança que qualquer um isolado.
  • Regime importa mais que indicador. Em RISK_OFF, todos os sinais funcionam diferente. Saiba o regime antes de operar.
  • Quando todos os cards estão NEUTRO/FRACO, não opere. Mercado em vácuo macro é onde retail mais perde.
  • O painel falha às vezes. Cedro pode ter gap, LLM pode alucinar, engine pode atrasar. Sempre cruze com 1 fonte externa (TradingView, news) antes de movimento grande.
MoneyDol é otimizado para telas ≥ 1280px