Metodologia — como a calculadora chega em cada número
Tudo aqui segue o que o mercado brasileiro e o SAP TRM fazem: curvas de Taxas Referenciais da B3, calendário de dias úteis ANBIMA, capitalização 252 para juros em reais e linear 360 para cupom cambial. A memória de cálculo de cada contrato (nas abas NDF, Swap e Opções) mostra estes passos com os números reais.
1. Datas e dias úteis
Contamos dias corridos (dc) entre a data de MtM e o vencimento e dias úteis (du) pelo calendário de feriados nacionais bancários (ANBIMA), excluindo fins de semana, feriados fixos, Consciência Negra (desde 2024) e os móveis (Carnaval, Sexta-feira Santa, Corpus Christi). A contagem é exclusiva na data-base e inclusiva no vencimento — a mesma dos vértices (DC, DU) da B3.
2. Interpolação das curvas (Manual de Curvas da B3, seção 1.4)
A B3 publica taxas para vértices fixos (1, 21, 42… dias). Para um vencimento no meio, a calculadora usa exatamente a função que o Manual define para cada curva — e mostra os vértices vizinhos, o peso e os fatores usados:
| Curva | Uso | Método | Arredondamento |
|---|---|---|---|
| PRE — DI x pré | desconto em R$ e projeção do CDI | Flat forward 252 (1.4.2) | 3ª casa |
| DIC — DI x IPCA | desconto real (perna IPCA) | Flat forward 252 (1.4.2) | 2ª casa |
| DOL — Cupom limpo | forward por paridade | Flat forward c/ convenção linear 360 (1.4.3) | 3ª casa |
| PTX / EUR / JPY — Real x moeda | forward de mercado (preço) | Interpolação de preços, geométrica em du (1.4.5) | truncado 7ª casa |
"Flat forward" quer dizer que, entre dois vértices, a taxa a termo (o juro de um dia para o outro) é constante. Interpolar o fator geometricamente é o mesmo que assumir isso — por isso o resultado bate com o que a B3 e o SAP (com a curva importada) produzem. Além do último vértice, a curva é prolongada com o forward do último segmento (1.4.6). Curvas de preço (PTX) interpolam o próprio preço geometricamente e truncam na 7ª casa.
3. NDF (termo de moeda)
N = nocional em moeda estrangeira; K = taxa a termo contratada; F = forward de mercado; "+" para posição comprada na moeda e "−" para vendida. O resultado (F − K)·N seria liquidado no vencimento; trazido a valor presente pela curva pré vira o valor justo hoje. Quando há PTAX e curva de cupom, a calculadora também mostra o forward por paridade coberta de juros como conferência.
4. Swap (fluxo a fluxo)
- Pré: fator = (1 + i)^(du/252) — conhecido desde a contratação.
- CDI: parte realizada (série diária do BCB, TDIk com 8 casas) × parte projetada pela curva pré (forward implícito) × spread (1 + s)^(du/252). Com 100% do CDI a projeção e o desconto usam a mesma curva e se cancelam: a ponta vale o saldo corrigido até o MtM.
- IPCA + cupom: índice realizado (IBGE, pro-rata dia 15 como na NTN-B, projeção ANBIMA no mês corrente) × inflação implícita [(1+pré)/(1+real)]^(du/252) da curva DI x IPCA; cupom sobre o saldo corrigido; amortização corrigida pelo índice.
- Dólar + cupom: variação cambial projetada = forward de mercado / PTAX inicial; cupom linear 360 sobre o saldo corrigido.
5. Opções de moeda (Black-76 sobre o forward = Garman–Kohlhagen)
A volatilidade implícita é informada pelo usuário (não há superfície pública). O MtM da posição é ± N · prêmio; a calculadora mostra valor intrínseco, valor do tempo e as gregas (delta a termo, gama, vega, theta por dia útil).
6. Contabilização — CPC 48 (IFRS 9) e correlatos
- Reconhecimento e mensuração: derivativos entram pelo valor justo (CPC 48, 3.1.1 e 5.1.1) e são sempre mensurados ao valor justo por meio do resultado (4.1.4 / 4.2.1), salvo hedge accounting. NDF e swap nascem com valor justo zero; opções nascem pelo prêmio.
- MtM: a variação do valor justo vai ao resultado (5.7.1) — ativo se positivo, passivo se negativo. Sem compensação entre contratos, salvo direito legal e intenção de liquidar pelo líquido (CPC 39, 42).
- Hedge de fluxo de caixa: parcela efetiva em outros resultados abrangentes (reserva de hedge no PL) e inefetiva no resultado (6.5.11); a reserva é reclassificada quando o item protegido afeta o resultado. Hedge de valor justo: derivativo e item protegido remensurados contra o resultado (6.5.8).
- Valor justo: CPC 46 — curvas observáveis da B3 = nível 2 da hierarquia. Divulgações: CPC 40.
- Fiscal (nota): ganhos e perdas por ajuste a valor justo são neutros até a realização quando controlados em subconta (Lei 12.973/2014, arts. 13 e 14); confirme o tratamento com a área tributária.
7. SAP — JBNPV
A transação JBNPV ("Inserir valores atuais líquidos") recebe, por transação financeira, o NPV na data de avaliação. A aba SAP · JBNPV monta a tabela com categoria de contrato (4 Divisas para NDF, 5 Derivativos para swaps e opções), empresa, número da transação, tipo de avaliação (001), data "a partir de", valor atual líquido e moeda — para digitação, colagem (TAB) ou carga por CSV. O passo a passo da transação está documentado no Notion (Manual de Processos de Tesouraria › JBNPV).
Fontes de dados
- Curvas: API de Taxas Referenciais da B3 (fallback: app Curvas B3 da Dexterity, com histórico próprio). A B3 mudou recentemente a consulta das Taxas Referenciais (novo portal de Taxas de Referência) e o histórico disponível para busca automática ficou limitado: datas passadas podem não estar disponíveis. Sem a curva carregada a calculadora não calcula — nem com valor parcial.
- Data de MtM: só dias úteis do calendário bancário (B3/ANBIMA) já encerrados; fim de semana, feriado e data futura são recusados com a sugestão do dia útil anterior.
- PTAX: API Olinda do Banco Central (boletim de fechamento). CDI diário: SGS 12. IPCA mensal: SGS 433.
- Qualquer curva ou cotação pode ser colada manualmente na aba Curvas — útil para reproduzir uma valorização antiga ou usar a curva do banco.