Pular para o conteúdo principal

Convenções

Um cálculo no emrgex é definido por três eixos independentes e reconhecidos globalmente — não há códigos proprietários. Você escolhe a capitalização, a contagem de dias e a fórmula do cupom de forma independente, cada uma a partir de um nome que qualquer participante do mercado consegue identificar.

1. rate_type — base de capitalização / cotação

Como o rendimento capitaliza ao descontar.

rate_typeSignificadoDesconto
NOMINALtaxa nominal capitalizada frequency×/ano (YTM de mercado)(1 + y/f)^(-f·t)
EFFECTIVEtaxa efetiva anual(1 + y)^(-t)
AT_MATURITYdesconto simples de mercado monetário (T-bills / Letras)1 / (1 + y·t)
PRICE_QUANTITYrepasse de NAV de ações / fundos: valor = preço × quantidade (sem desconto; sem day_count)

2. day_count — convenção de fração de ano (FpML / ISDA)

Como o tempo é medido, nomeado conforme a taxonomia FpML / ISDA 2006 §4.16.

NomeObservações
ACT/ACT.ISDAISDA §4.16(b), dividido na fronteira do ano
ACT/ACT.ICMAISDA §4.16(c) / ICMA Rule 251; um período regular se reduz a 1/f
ACT/ACT.ISMAapelido de ICMA
ACT/ACT.AFBAFB 1994
ACT/360mercado monetário
ACT/365.FIXED
ACT/365Ldenominador ciente de anos bissextos
ACT/364
30/360US / Bond Basis
30E/360Eurobond
30E/360.ISDA+ regra de vencimento em fevereiro
30/360.GERMANapelido de 30E/360.ISDA
1/1degenerado, para completude do FpML
BUS/252Brasil B3 / ANBIMA: dias úteis / 252, usando o calendário de feriados ANBIMA embutido. Bit-exact em relação ao Tesouro Direto LTN / NTN-F
ACT/ACT.DRMHbase do governo da República Dominicana (Ministerio de Hacienda): dias reais / dias reais na janela de 12 meses que termina na data de pagamento. Verificado em relação às bases publicadas pelo emissor

3. coupon_type — como o valor do cupom é calculado

coupon_typeCupom por períodoUsado para
FIXED (padrão)coupon_rate / frequency × outstandingtítulos convencionais de taxa fixa (Treasuries, corporativos, Eurobonds)
ACCRUALcoupon_rate × yearFraction(day_count) × outstandingtítulos de mercado monetário e de mercado local cujo cupom acompanha a duração do período

Os dois coincidem sob ACT/ACT.ICMA e 30E/360 (um período regular é exatamente 1/f) e divergem sob contagens de dias reais (ACT/365, ACT/360, ACT/ACT.ISDA). Um options.coupon_type por cotação sobrepõe a configuração do instrumento para análise de cenários.

calculation_code — o identificador global

Todo instrumento expõe um calculation_code: a junção de seus dois eixos principais, <day_count>|<rate_type>. Ele é derivado da convenção, nunca uma entrada que a sobreponha.

ACT/ACT.ISDA|NOMINAL ACT/360|AT_MATURITY 30E/360|EFFECTIVE PRICE_QUANTITY

PRICE_QUANTITY não tem contagem de dias, então seu código é apenas PRICE_QUANTITY.

Matriz de combinação

Os eixos são ortogonais — qualquer rate_type combina com qualquer day_count:

rate_typeday_countcalculation_code
NOMINALACT/ACT.ICMAACT/ACT.ICMA|NOMINAL
NOMINAL30E/36030E/360|NOMINAL
EFFECTIVEACT/365.FIXEDACT/365.FIXED|EFFECTIVE
AT_MATURITYACT/360ACT/360|AT_MATURITY

Regras de validade: NOMINAL / EFFECTIVE exigem uma frequency positiva; AT_MATURITY e PRICE_QUANTITY forçam a frequency a 1; PRICE_QUANTITY não recebe day_count; toda outra combinação exige um day_count válido.

Contagens de dias desacopladas (avançado)

day_count normalmente controla três coisas ao mesmo tempo. Quando um instrumento precisa de bases diferentes por eixo, sobreponha-as individualmente — cada uma é opcional e recai sobre day_count:

CampoEixo que controla
accrual_day_countjuros acumulados (coupon corrido)
coupon_day_counto valor do cupom ACCRUAL
discount_day_counto expoente de tempo de desconto t (valor presente)

Por exemplo, os títulos ACT/ACT do governo dominicano acumulam juros sobre a base 365/366 do emissor mas descontam sobre períodos de mercado/ICMA — modelados como day_count: ACT/ACT.DRMH com discount_day_count: ACT/ACT.ICMA.

Descubra o que é suportado

curl https://calc.dev.emrgex.com/v1/admin/conventions

Retorna todos os rate_type e day_count com uma descrição, além do formato do calculation_code.