Precificador

37
Sophos Projetos Praia de Botafogo 501, Torre Corcovado 2 andar sala 211, RJ (21) 2546 9919 (21) 2586 6001 5/11/2010 [email protected] Apresentação conceitual e técnica da solução. Serviços de precificação de Privados

description

Apresentação do serviço de precificação de intrumentos financeiros de renda fixa - recebiveis, debentures, letras, securitizados, etc

Transcript of Precificador

Page 1: Precificador

S o p h o s P r o j e t o s

P r a i a d e B o t a f o g o 5 0 1 ,

T o r r e C o r c o v a d o 2

a n d a r s a l a 2 1 1 , R J

( 2 1 ) 2 5 4 6 9 9 1 9

( 2 1 ) 2 5 8 6 6 0 0 1

5 / 1 1 / 2 0 1 0

[email protected]

Apresentação conceitual e técnica da solução.

Serviços de

precificação de

Privados

Page 2: Precificador

5/11/2010

Serviços de precificação de ativos privados

A solução

A solução apresentada objetiva a estruturação e disponibilização, em forma

de serviços, dos processos de precificação de ativos privados, tanto do

universo de títulos que compõe o mercado interbancário e de captação de

clientes como de instrumentos financeiros. Os calculos estão disponiveis para

efeito de precificação e, consequentemente, de marcação a mercado e os

métodos requeridos para o carregamento das carteiras em face às politicas

estabelecidas para o calculo do preço contábil das posições vigentes.

A solução é complementada com uma estrutura de cadastro dos ativos e de

planilha Excel, versões 2003 e 2007, para simulações, consultas e

comparações de cupons.

Atenciosamente

[email protected]

Sophos Projetos

SO

PH

OS P

RO

JET

OS

Pra

ia d

e B

ota

fog

o 5

01

, To

rre

Co

rco

va

do

2 a

nd

ar s

ala

21

1, R

J (2

1) 2

54

6 9

91

9

leo

@tr

ad

ew

ay.c

om

.br

Page 3: Precificador

3

Conteúdo

Conteúdo ............................................................................................................................... 3

Objetivos da solução .............................................................................................................. 5

Visão geral das camadas da solução .................................................................................... 7

Universo dos ativos atingidos ............................................................................................... 10

Privados cetipados ............................................................................................................ 10

Instrumentos financeiros ................................................................................................... 11

Estrutura conceitual de dados .............................................................................................. 12

Instrumentos financeiros ................................................................................................... 13

Modelo detalhado .......................................................................................................... 14

Privados cetipados ............................................................................................................ 15

As classes ............................................................................................................................ 16

Conceito geral ................................................................................................................... 17

Visão geral – classes principais ......................................................................................... 20

AttivoRF ............................................................................................................................ 20

Visão Geral .................................................................................................................... 22

Calculo de ativos “flat” da taxa para o preço ................................................................... 22

Calculo de ativos “flat” do preço para a taxa ................................................................... 23

Propriedades gerais ....................................................................................................... 24

Métodos da classe .......................................................................................................... 29

FluxoPapeis ....................................................................................................................... 30

Calculo de ativos com fluxo de caixa – a partir da taxa para o preço .............................. 31

Calculo de ativos com fluxo de caixa do preço para a taxa ............................................ 32

Modelo de calculo Duration ............................................................................................ 34

Page 4: Precificador

Métodos ......................................................................................................................... 35

Propriedades .................................................................................................................. 36

Page 5: Precificador

5

Objetivos da solução

Oferecer, em forma de serviços, os mecanismos necessários para:

1. precificação de ativos privados, para efeito de marcação a mercado;

2. os calculos dos preços de carregamento ou contabil, considerando os critérios de

tratamento de agio ou deságio;

3. calculo dos valores: nominal e par dos ativos;

4. calculo dos eventos financeiros:

a. cupom;

b. amortização;

c. premio;

d. eventos extraordinários.

5. calculo de acumulados por indexadores, considerando as datas: base e final, e as

especificidades de cada uma das classes específicas de moedas ou indexadores;

6. calculo das modalidades de taxas, com os respectivos métodos de conversões entre

elas;

7. serviços típicos de calendário, com métodos de calculos de intervalos em dias úteis,

dias corridos ou prazos ajustados a 360 dd – mes comercial.

A solução contém, em sua camada visual, as janelas de cadastramento de ativos e seus

acessórios, diretamente relacionados, que fornecem os parâmetros requeridos pelos calculos

que serão realizados, e as janelas para simulação das precificações.

Os serviços de calculo não se referenciam a um determinado ativo para efeito dos

tratamentos específicos. Estes são considerados a partir das propriedades de cada ativo e que

determinam, para a solução, o comportamento matemático específico e requerido para cada

ativo a ser precificado. Estas condições implicam numa forte relação entre o cadastro correto

dos ativos com os resultados dos calculos.

Page 6: Precificador

Os ativos são segregados, inicialmente, em dois grupos principais: ativos com pagamento

final – flat; ativos com pagamentos periódicos de juros e/ou amortização de principal. Esta

segregação esta baseada nos parâmetros diretamente relacionados a estas condições: tipo de

pagamente de juros; tipo de pagamento do principal.

Os calculos realizados são, para efeito de precificação, realizados a valor presente, partindo

dos valores nominais remanescentes e par projetados dos títulos e seus respectivos

descontos pela taxa de negociação. Alternativamente os calculos de precificação poderão ser

realizados a partir da informação do preço de negociação para o calculo da correspondente

TIR.

Os valores nominais são calculados, ou nos casos possiveis, podem ser baixados da internet.

Para efeito dos valores nominais as diretivas principais são determinadas pelo

comportamento do indexador associado ao título, sua taxa nominal quando houver, ou o

percentual de aplicação do indexador, da projeção ou não do valor nominal, para titulos

indexados a índice de inflação e das possiveis repactuações que o título, eventualmente, tiver

sofrido ou vai sofrer.

Os mecanismos de calculo, podem ser solicitados através dos serviços, as opções

disponibilizadas:

1. calculo de preço a partir de uma taxa de negociação;

2. calculo da TIR a partir de um preço de negociação;

3. calculo do duration, para titulos com fluxo periódico, a partir de uma determinada

taxa;

4. calculo dos valores nominal e par de um determinado título em uma determinada data,

considerando:

a. curva vigente e repactuações passadas que ainda produzam efeitos;

b. curva vigente e repactuações futuras;

c. tipo de pagamento de juros;

d. tipo de pagamento de amortizações;

e. valor nominal cadastrado do papel.

5. Projeção dos valores nominais, para os ativos com esta condição, considerando:

a. Projeção dos juros para titulos indexados a taxas flutuantes;

b. Projeção de inflação para títulos com esta categoria de correção.

6. Calculo dos preços de carregamento, contabil, para posições vigentes em carteira,

considerando os critérios:

Page 7: Precificador

7

a. Amortização do ágio ou deságio embutido na taxa interna de retorno das

posições;

b. Amortização do ágio ou deságio face a comparação do preço anterior contra o

par do respectivo papel, critério atual da organização.

Estes mecanismos são oferecidos aos clientes da solução, na forma de serviços que compõe a

camada de interface, de tal maneira que alterações internas nas classe não impactam em

necessidades de alterações nos serviços e, os serviços, por sua natureza, podem ser

acionados remotamente: via internet mobile, e nos demais casos onde a organização julgar

razoavel.

Visão geral das camadas da solução

A camada de interface esta composta pelos serviços que oferecem os métodos necessários

para os calculos para quaisquer tipos de clientes, inclusive, considerando as necessidades da

organização, para acesso de clientes remotos via internet.

Page 8: Precificador

Os mecanismos de calculo e tratamentos específicos, estão encapsulados na camada interna

da solução, a camada de classes do negócio, e estão estruturadas de maneira que

necessidades de alterações não tenham um impacto extensivo por toda a composição da

funcionalidade. Com esta estruturação a complexidade dos tratamentos requeridos estão

encapsulados de forma que as informações solicitadas e a maneira com que os serviços são

acessados fiquem o mais simples possivel, não exigindo qualquer conhecimento mais

específico dos processamentos internos.

Camada visual & outros

clientes

•Planilhas

•Attivo

•Etc

Interface

Negócio

Infra

Dados

Page 9: Precificador

9

O fluxo de sequencia de instancias das classes e das execuções dos métodos ocorrem atrás (

behind the scene) do acionamento do método requerido no serviço, conforme o fluxo a

seguir.

Page 10: Precificador

Universo dos ativos atingidos

A solução abrange, no seu escopo atual, os tratamentos matematicos requeridos para os

títulos do mercado interbancário, de captação de clientes e dos instrumentos financeiros,

tipicamente relacionados às captações do mercado não financeiros, certificados e recebiveis

do mercado bancário e imobiliário, fundos de recebives, instrumentos governamentais sob

responsabilidade da secretaria do tesouro nacional e dividas internas securitizadas.

Privados cetipados

1. CDB´s;

2. CDI´s;

3. Notas;

4. LH;

5. RDB´s.

Os indexadores associados aos títulos cetipados abrangem todos os, atualmente,

aceitos pela Cetip para correção destes ativos.

Os títulos poderão ter condições de repactuações considerando dois critérios:

1. Repactuação da curva desde a emissão;

2. Repactuação da curva a partir da data de alteração.

As formas de pagamento de juros e resgate do principal podem ser nas

modalidades:

1. Liquidação de juros em ciclos periódicos;

2. Liquidação do principal em ciclos periódicos;

3. Juros e principal com pagamento no resgate

A composição de juros poderá envolver :

1. taxa pré e taxa pós (CDI, Selic), neste caso o indexador é classificado como

integrante dos juros;

2. taxa pré neste caso o indexador deverá ser, caso exista, classificado como

correção do principal. Os casos mais típicos: indices de inflação, cambiais,

taxas referenciais (TR, TBF), etc.

Page 11: Precificador

11

Instrumentos financeiros

1. Debentures;

2. Recebiveis imobiliários;

3. Recebiveis bancários;

4. Mops;

5. Divida interna securitizada;

6. Tda‟s;

7. FDIC;

8. CINE

Os indexadores associados aos títulos cetipados abrangem todos os, atualmente,

aceitos pela Cetip para correção destes ativos.

Os títulos poderão ter condições de repactuações considerando o critério de

repactuação da curva a partir da data de alteração.

As formas de pagamento de juros e resgate do principal podem ser nas

modalidades:

1. Liquidação de juros em ciclos periódicos;

2. Liquidação do principal em ciclos periódicos;

3. Juros e principal com pagamento no resgate

A composição de juros poderá envolver :

1. taxa pré e taxa pós (CDI, Selic), neste caso o indexador é classificado como

integrante dos juros;

2. taxa pré neste caso o indexador deverá ser, caso exista, classificado como

correção do principal. Os casos mais típicos: indices de inflação, cambiais,

taxas referenciais (TR, TBF), etc.

Os tratamentos matemáticos estão fortemente orientados pelos parâmetros

chave do grupo de entidades relacionadas e estes papéis.

Page 12: Precificador

Estrutura conceitual de dados

A estrutura conceitual dos dados que fornecem a sustentação requerida às funcionalidades

da solução, estão diretamente relacionadas às questões de precisões que devem ser

observadas em diversos momentos dos calculos, parametrização das projeções e precisão

dos valores nominais e par. Cada momento esta baseado em entidades diferenciadas:

1. nominal – forneçe as precisões diretamente relacionadas às atualizações do valor

nominal e a modalidade das taxas utilizadas;

2. carregamento - forneçe as precisões diretamente relacionadas às atualizações do pu

contábil e a modalidade das taxas utilizadas;

3. negociação - forneçe as precisões diretamente relacionadas aos calculos de

precificação e a modalidade das taxas utilizadas.

Esta estrutura promove as possibilidade de modalidades de taxas diferenciadas nos

tratamentos contábeis, nominal e de precificação de tal forma que caso a pratica de mercado

para negociação ou precificação é baseado em taxa over ano ( dias úteis ) o modelo de

carregamento poderá trabalhar com um modelo de taxa exponencial em dias corridos, face

aos atendimentos legais, e outro modelo para a atualização do valor nominal dos ativos.

Para os calculos relativos aos intrumentos financeiros as informações de cadastro e destas

novas entidades são as necessárias e suficientes para que os métodos possam ser

executados.

Para os calculos dos ativos cetipados é necessário, de forma complementar, as informações

da cada ativo que vai ser precificado a mercado ou para os seus carregamentos.

As informações de cadastro destes ativos são complementadas com as posições dos ativos

cetipados com as informações necessárias de forma que as variaveis requeridas estejam

disponiveis. Estas informações podem ser capturadas das carteiras, através de serviços ou

manualmente informadas em janela específica da camada visual.

Page 13: Precificador

13

Complementarmente a estrutura ainda forneçe as variaveis requeridas pelo serviço de

fluxo de caixa genérico para efeito de montagem dos fluxos de eventos baseados nas

parametrizações fornecidas. O universo de parametros relativos aos fluxos esta

relacionado às condições possiveis de serem tratadas pela Cetip, em seus respectivos

cadernos de fórmulas.

Instrumentos financeiros

Instrumentos financeiros são identificados, univocamente, por seus respectivos

códigos, de acordo com o padrão adotado pela Cetip. O código de cada ativo é o

necessário e suficiente para que a solução recupere todas as informações cadastrais

necessárias para alimentação dos mecanismos de calculo. Estas informações são

Page 14: Precificador

carregadas nas propriedades das classes que compõe o conjunto relativo aos

tratamentos específicos deste universo de títulos.

Em face as características especificas destes ativos, o conjunto de entidades é

relacionada a partir do código de cada instrumento.

Modelo detalhado

Page 15: Precificador

15

Privados cetipados

Títulos privados cetipados são identificados, univocamente, pelo conjunto de

informações:

1. Emissor;

2. Data de emissão;

3. Data de vencimento;

4. Taxa nominal;

5. Percentual de aplicação.

Este conjunto de dados é o necessário e suficiente para que a solução recupere todas

as informações cadastrais, de um determinado título e necessárias para alimentação

dos mecanismos de calculo.

Em face às características especificas destes ativos, o conjunto de entidades esta

relacionada ao conjunto de dados de identificação de cada título.

Page 16: Precificador

As classes

O conjunto de classes que compõe esta solução esta subdividido em 3 grandes grupos:

1. As classes diretamente relacionadas aos tratamentos matemáticos dos ativos

abrangidos por esta solução;

2. As classes relativas aos processos de cadastramentos das entidades e divididas em:

a. Info: mapeamento objeto-relacional, as colunas da entidade de base de dados

estão representadas em propriedades;

b. Bl: execução dos métodos de CRUD ( incluir, alterar, excluir e consultar) para

cada entidade de base de dados que faz parte desta solução;

3. As classes de infra estrutura e extensivamente usadas por todos os outros grupos:

a. Componente de acesso a base de dados – AttivoDB;

b. Componente de log de erros e/ou trajetória – Log;

c. Componente de calendário.

Este conjunto esta implementado em C# versão 3.5, Linq e Lâmbda para tratamentos de

listas, coleções e navegações em estruturas XML.

Toda a necessidade de acesso a base de dados é unica e exclusivamente efetuada pela classe

AttivoDB, baseada sobre a estrutura Microsoft Entreprise Library versão 4.1.

Cada componente deverá possuir, em seus parâmetros de configuração, app.config ou

web.config, as strings de conexão com a base de dados que deverá ser fornecida ao

componente de acesso.

Page 17: Precificador

17

Conceito geral

As responsabilidades pelos tratamentos matemáticos, principal objetivo desta solução

estão implementadas em um conjunto de classes, que se relacionam de forma

colaborativa ou através de heranças.

Estas classes implementam um conjunto de métodos e propriedades de tal forma que

os calculos própriamente ditos estão encapsulados, sem redundância de código, e

atuam baseados em propriedades de naturezas gerais e necessários e suficientes para

que as questões específicas em relação a cada universo de títulos esteja atendida.

Papéis

•Privados financeiros

•Instrumentos

Moedas

Taxas

FluxoPapeis

Calendário

Log

Dados

Page 18: Precificador

As funcionalidades estão disponiveis através de chamadas de serviços, que estão

reunidos em camada especifica de interfaces, ou podem ser solicitados com a instancia

dos próprios componentes.

As principais classes que compõe este conjunto:

1. attivoTaxas;

2. attivoMoedas;

3. attivoRF;

a. Instrumentos;

b. Cetipados;

4. calendario;

5. Curvas;

6. fluxoPapeis.

As classes AttivoRF e fluxoPapeis são classes abstratas e implementam os métodos

gerais de calculos e tratamentos, para títulos flat e com fluxo de caixa

respectivamente.

Os tratamentos de títulos flat são resolvidos através de colaboração entre as classes:

AttivoRF; AttivoTaxas; AttivoMoedas e Curvas.

A classe Curvas implementa os métodos e propriedades relativas as projeções de

juros, baseadas nas taxas referenciais de Swap DI x Pre.

As funcionalidades estão acessiveis:

1. através do serviço AtivosRendaFixaServiceSL, com métodos especificos para os

calculos para intrumentos financeiros e cetipados. Os nomes dos métodos

identificam os universos dos títulos – instrumentos ou cetipados;

2. instancia dos componentes: para os títulos do universo instrumentos

financeiros a classe Instrumentos e para os títulos cetipados financeiros a

classe Cetipados.

Estas classes por sua vez orquestram as instancias das classes abstratas ou mais

internas que, com as associações estabelecidas de forma colaborativa ou por herança,

vão executar os métodos necessários nas devidas sequencias. Consequentemente

para que um cliente, deste serviço, utilize estes componentes será requerido apenas a

instância relativa a classe do universo dos títulos relativos ao contexto necessário.

Page 19: Precificador

19

Os serviços relativos a calculo dos indexadores, tipicamente necessários para os

calculos dos valores nominais e/ou par dos títulos podem ser instanciados diretamente

ou através de serviços para os casos onde sejam necessários. Para utilizar diretamente

o componente, ao invés de serviço, a classe a ser instanciada é AttivoMoeda, que

utiliza o padrão “factory”. Através de classificação do indexador informado, a classe

AttivoMoeda instancia a classe correspondente à classificação do indexador. Esta

classe por sua vez implementa os tratamentos específicos que cada tipo de indexador

requer para os seus calculos.

Os métodos relativos aos calculos de taxas podem ser acionados através de serviços

ou instanciando diretamente o componente. Esta classe requer a classificação das

modalidades de taxas de juros tratadas nesta classe. Estas classificações estão

implementadas em dominios na classe AttivoTipos, através de “enumerator”. Cada

classe de „enum‟ são localizadas pelos seus nomes e no caso específico desta classe os

dominios estão na sub-classe eModeloTaxa.

Page 20: Precificador

Visão geral – classes principais

AttivoRF

Classe abstrata que concentra as decisões e orquestrações requeridas para execução

dos métodos para precificação e/ou calculo dos preços de carregamento de ativos de

renda fixa, de uma forma geral.

Os principais métodos desta classe:

1. calcular o pu de negociação a partir de uma determinada taxa

2. calcular a taxa de negociação a partir de um determinado pu

3. calculos os valores nominal, par, saldo do nominal corrigido, nominal e par

projetados;

4. calculos das parcelas de juros e/ou amortização de principal, para títulos com

fluxo de caixa;

5. calcular o preço de carregamento para um determinado ativo em uma

determinada data.

•Propriedades especiificas- info

•Métodos de load - orquestraçãoInstrumentos

•Métodos calculo

•Propriedades geraisAtivoRF - abstrata

•Propriedades especificas

•Métodos de loadTitulosCetipadosFinanceiros

•MétodosCalendário

•MétodosMoedas

•MétodosTaxas

•MétodosFluxoPapeis - abstrata

•acesso a dados

•log de erros e trajetória em arquivos txtInfra: AttivoDB e Log

•projeções de juros com base no Swap DI x PreCurvas

Page 21: Precificador

21

Para efeito da execução destes métodos, esta classe requer todas as propriedades, de

naturezas gerais, para, independentemente do tipo do ativo ( privado financeiro,

instrumento ou públicos) , tomar as decisões corretas sobre as características do

título, em processo de precificação ou carregamento, e decidir sobre a correta

sequencia dos procedimentos requeridos.

As classes específicas, uma para cada universo de ativos ( Instrumentos,

CetipadosFinanceiros), são as primeiras a serem instanciadas, para um determinado

título. As propriedades referentes ao ativo, instanciado nas classes específicas, são a

base para a instancia da classe AttivoRF.

Estas propriedades são analisadas, nos métodos de calculo ( calcularPuByTaxa ou

calcular TaxaByPU). Esta analise determina a principal caraterística do ativo – “flat” (

pagamento final de juros e principal) ou “fluxoCaixa” (pagamentos periódicos de juros

e principal ).

É analisada, para todos os títulos a disponibilidade na data informada e relativamente

ao ativo instanciado, as propriedades referentes aos preços: nominal, saldo do nominal

corrigido e par. Caso não estejam disponiveis o método de calculo destes preços é

solicitado.

Para os ativos “flat” é solicitado o calculo dos preços nominal e ao par projetados para

o resgate, e em seguida acionado os métodos correspondentes da classe AttivoTaxas.

Para ativos com fluxo de caixa, são solicitados os métodos da classe FluxoPapeis que

retornarão o pu ou taxa calculada e o duration.

Os calculos dos valores nominal e par levam em consideração as possibilidades:

1. ativos com repactuações:

a. de indexador;

b. de taxa;

c. de percentual do indexador.

Page 22: Precificador

2. ativos com fluxo de amortizações de principal decorrido;

3. indexador do ativo, com as possibilidades:

a. integrante de juros;

b. correção do principal.

A classe AttivoRF colabora com as classes :AttivoMoedas e AttivoTaxas para execução

dos métodos relacionados às atualizações dos valores nominais e par.

Visão Geral

Calculo de ativos “flat” da taxa para o preço

O calculo do preço de um ativo “flat” a partir de uma determinada taxa:

𝑝𝑢 =𝑣𝑎𝑙𝑜𝑟𝐹𝑢𝑡𝑢𝑟𝑜𝐴𝑡𝑖𝑣𝑜

(𝑡𝑎𝑥𝑎 + 1 )𝑏𝑎𝑠𝑒 𝑎𝑛𝑢𝑎𝑙𝑝𝑟𝑎𝑧𝑜 𝑎 𝑑𝑒𝑐𝑜𝑟𝑟𝑒𝑟

Onde:

1. valorFuturoAtivo:

a. para indexadores com vigencia ( TR, TBF, TJLP, etc):

AtivoRF

abstrata

Cetipados

Moedas

FluxoPapeis

abstrataInstrumentos

Attivo

Taxas

Page 23: Precificador

23

𝑣𝑎𝑙𝑜𝑟𝑛𝑜𝑚𝑖𝑛𝑎𝑙𝑓𝑢𝑡𝑢𝑟𝑜 = 𝑣𝑛𝑎 ∗ (𝑖𝑛𝑑𝑒𝑥𝑉𝑖𝑔𝑒𝑛𝑡𝑒 + 1 )𝑡𝑜𝑡𝑎𝑙 𝑣𝑖𝑔 𝑣𝑖𝑔 𝑎 𝑑𝑒𝑐

b. para indices de inflação:

𝑣𝑎𝑙𝑜𝑟𝑛𝑜𝑚𝑖𝑛𝑎𝑙𝑓𝑢𝑡𝑢𝑟𝑜

= 𝑣𝑛𝑎

∗ (𝑖𝑛𝑓𝑙𝑎𝑐𝑎𝑜𝑝𝑟𝑜𝑗𝑒𝑡𝑎𝑑𝑎 + 1)𝑣𝑖𝑔𝑒𝑛𝑐𝑖𝑎𝑑𝑒𝑐 ,𝑣𝑖𝑔𝑒𝑛𝑐𝑖𝑎

c. para juros flutuantes ( DI, Selic) com percentual:

valorFuturoAtivo

= vna

∗ [ ( curva + 1)2521

∗ percentual vertice ]

d. para juros flutuantes ( DI, Selic) com spread:

valorFuturoAtivo

= vna ∗ ∗ curva + 1)2521 vertice

∗ spread + 1)base anual adec ]

2. vna : valor nominal atualizado ou valor par para titulos indexados a juros

flutuantes;

3. curva: curva de projeção de juros correspondente ao vencimento do

titulo;

4. taxa: taxa de precificação

Calculo de ativos “flat” do preço para a taxa

O calculo da taxa de um ativo “flat” a partir de um determinado preço:

𝑡𝑎𝑥𝑎 = (𝑣𝑎𝑙𝑜𝑟𝐹𝑢𝑡𝑢𝑟𝑜𝐴𝑡𝑖𝑣𝑜

𝑝𝑟𝑒𝑐𝑜 𝑛𝑒𝑔𝑜𝑐𝑖𝑜)𝑝𝑟𝑎𝑧𝑜 𝑎 𝑑𝑒𝑐𝑜𝑟𝑟𝑒𝑟𝑏𝑎𝑠𝑒 𝑎𝑛𝑢𝑎𝑙

Onde:

1. valorFuturoAtivo:

a. para indexadores com vigencia ( TR, TBF, TJLP, etc):

Page 24: Precificador

𝑣𝑎𝑙𝑜𝑟𝑛𝑜𝑚𝑖𝑛𝑎𝑙𝑓𝑢𝑡𝑢𝑟𝑜 = 𝑣𝑛𝑎 ∗ (𝑖𝑛𝑑𝑒𝑥𝑉𝑖𝑔𝑒𝑛𝑡𝑒 + 1 )𝑡𝑜𝑡𝑎𝑙 𝑣𝑖𝑔 𝑣𝑖𝑔 𝑎 𝑑𝑒𝑐

b. para indices de inflação:

𝑣𝑎𝑙𝑜𝑟𝑛𝑜𝑚𝑖𝑛𝑎𝑙𝑓𝑢𝑡𝑢𝑟𝑜

= 𝑣𝑛𝑎

∗ (𝑖𝑛𝑓𝑙𝑎𝑐𝑎𝑜𝑝𝑟𝑜𝑗𝑒𝑡𝑎𝑑𝑎 + 1)𝑣𝑖𝑔𝑒𝑛𝑐𝑖𝑎𝑑𝑒𝑐 ,𝑣𝑖𝑔𝑒𝑛𝑐𝑖𝑎

c. para juros flutuantes ( DI, Selic) com percentual:

valorFuturoAtivo

= vna

∗ [ ( curva + 1)2521

∗ percentual vertice ]

d. para juros flutuantes ( DI, Selic) com spread:

valorFuturoAtivo

= vna ∗ [ curva + 1)2521 vertice )

∗ spread + 1)base anual a decorrer ]

2. vna : valor nominal atualizado ou valor par para titulos indexados a juros

flutuantes;

3. curva: curva de projeção de juros correspondente ao vencimento do

titulo;

4. taxa: taxa de precificação

Propriedades gerais

Propriedade Descrição

AttivoCalendart Classe responsavel pelo tratamento do

Calendario.

attivoDB Classe utilizada para o acesso ao banco de

dados.

AttivoMoedas Classe responsavel pelo tratamento de

Moedas.

AttivoTaxas Classe responsavel pelo tratamento de

Taxas.

Configuracao Propriedade com configuracoes necessarias

Page 25: Precificador

25

aos serviços & componentes.

Curvas Classe responsavel pelas Curvas de de

projeção de juros.

dataOperacao Data de operacao.

InformacoesPapel Informacoes do Papel (vazio se nao tiver

Papel). Tabela "papel" informacoes do

papel, Tabela "nominal" informacoes do

papel nominal, Tabela "negociacao"

informacoes do papel negociacao.

pApelidoPapel Apelido do papel.

PapelSelecionado Informa se tem um Papel selecionado.

pBaseAnual Base anual.

pBookDefault Book padrao – circular 3068.

pCurvasRepactuacao Curvas de Repactuacao.

pCustodia Custodia.

pDataBase Data Base.

pDataInicioAcumulado Data de início para o fator acumulado

pDataInicioRentabilidade Data Inicio Rentabilidade

pDataProximaRepactuacao Data Proxima Repactuacao.

pDatavencimento Data de Vencimento do Papel.

pDiaPagamento Dia de Pagamento.

pFatorAcumulado Fator Acumulado.

pFatorCorrecao Fator de Correção

pFatorProjecao Fator da Projeção

pFatorTaxaComProjecao Fator da Taxa com Projeção.

Page 26: Precificador

pFatorTaxaSemProjecao Fator da Taxa sem Projeção.

pFluxoPapeis Classe responsavel pelo Fluxo do Papel.

pFracao Fração – sim ou não

pMoeda Codigo do indexador vigente.

pMultiploPU Multiplo do PU.

pNegociacaoModeloBaseAnualAlter

nativa

Modelo de Base anual alternativa.

pNegociacaoModeloBaseAnualPrinc

ipal

Modelo de Base anual principal.

pNegociacaoModeloPrazoAlternativ

a

Modelo de Prazo alternativa.

pNegociacaoModeloPrazoPrincipal Modelo de Prazo principal.

pNegociacaoModeloTaxaAlternativa Modelo da Taxa alternativa.

pNegociacaoModeloTaxaPrincipal Modelo da Taxa principal.

pNegociacaoPrecisaoTaxaAlternativ

a

Precisão da Taxa alternativa.

pNegociacaoPrecisaoTaxaPrincipal Precisão da Taxa principal.

pNegociacaoProjetarIndice Informa se o Indece devera ser Projetado.

pNegociacaoTipoProjecao Tipo de Projeção

pNomeEmissor Nome do Emissor.

pNominalResgate Pu nominal projetado p

pPapel Codigo do Papel.

pParData Pu ao par da data de instancia

pParDataComProjecao Pu ao par projetado para o resgate

pParProjetado

pPercentualAcumuladoAmortizacoe

sPagas

Percentual Acumulado Amortizações Pagas.

pPercentualNominal Percentual nominal do indexador

pPrazoMinimo Prazo minimo.

Page 27: Precificador

27

pProjetaIndice Se projeta curva ou inflação ou não.

pProRataProjecao ProRata da taxa de Projecao de Inflação

pProximoCupom Data do próximo cupom

pPuNegociado PU negociado.

precisoesArredondamentoFatorRes

ultante

Tipo Arredonda ou Trunca para o Fator

Resultante

precisoesArredondamentoMoeda

precisoesArredondamentoPercentu

al

Tipo Arredonda ou Trunca para o Fator do

Percentual

precisoesArredondamentoProdutori

o

Tipo Arredonda ou Trunca para o

Produtório

precisoesArredondamentoProjecao Tipo Arredonda ou Trunca para a Projeção

precisoesArredondamentoPU Tipo Arredonda ou Trunca para o PU

precisoesArredondamentoTaxa

precisoesBaseAnual

precisoesFatorPercentual Número de casas decimais do Fator do

Percentual

precisoesFatorResultante Número de casas decimais do Fator

Resultante

precisoesModeloPrazo Modelo de prazo de negociação

precisoesModeloTaxa

precisoesPrecisaoInternaMoeda Precisão interna para o calculo do

produtório

precisoesPrecisaoSaidaMoeda Pecisao Fator Resultante

precisoesPrecisaoTaxa Precisão do fator da taxa de juros pré

Page 28: Precificador

precisoesProdutorio Número de casas decimais do Produtório

precisoesProjecao Número de casas decimais da Projeção

precisoesProjetarIndice Projetar o índice para o preço nominal ou

não

precisoesPU Número de casas decimais do PU

precisoesTipoProjecao Tipo de projeção se existir

pRepactuar Se repactua ou não.

pSaldoNominalCorrigido Saldo Nominal Corrigido.

pSaldoNominalCorrigidoComProjec

ao

Saldo Nominal Corrigido com Projecao.

pSaldoNominalCorrigidoSemProjec

ao

Saldo do valor nominal corrigido sem

projeção do indexador

pSaldoNominalOriginal Saldo Nominal Original.

pSalvaPuNominal Propriedade do construtor que serve para

identificar de os cálculos de Pu Nominal

serão gravados em tabela.

pTaxaNominal Taxa de face do papel

pTaxaProjecaoInflacao Taxa de projação de Inflação

pTipoAmortizacao Tipo de amortização do Papel.

pTipoFluxoJuros Tipo de juros do Papel.

pTipoPapel Tipo de Papel.

pTipoRepactuacao Tipo de repactuação.

pTipoTaxaNegociada Tipo da Taxa negociada

pTxCarrego Taxa de carregamento.

pTxNegociacaoAlternativa Taxa de negociacao alternativa.

pTxNegociacaoPrincipal Taxa de negociacao principal.

pUltimoCupom Data do ultimo cupom pago, ou data de

emissão se não houver

pValorCurvaProjecao Valor da curva de projeção utilizado no

Page 29: Precificador

29

cálculo

pValorNominalOriginal Valor Nominal Original.

pVigenciaInflacao Vigência do período de Inflação para

projeção

Métodos da classe

Nome do método Descrição

acharDataInicioAcumulado Verifica a data inicial para o produtório do

indexador:

1. data do ultimo cupom – para ativos com

indexadores integrante de juros

2. data de inicio de rentabilidade – para

ativos com indexadores de correção do

principal

calcularFatorTaxa

calcularNominalResgate Calcula o Nominal de resgate do Papel

calcularPrazos

calcularPuByTaxaNegociacao Retorna o Pu de negociação data uma Taxa.

calcularTaxaByPuNegociacao Retorna a Taxa de negociação dato um Pu.

calcularValorNominal Método que calcula o Valor nominal do Papel.

getPapeis Recupera Papeis.

gravaPuNominal Método que deve ser implementado pelas sub

classes que irá salvar o Pu Nominal do Papel.

projetarNominal Projeta o Nominal do Papel.

Page 30: Precificador

projetarParResgate Projeta o Par de resgate do Papel.

projetarParResgateCurva Projeta o Par de resgate do Papel utilizando uma

Curva.

setPapel Instância um ativo para precificação.

FluxoPapeis

Classe abstrata que implementa os tratamentos de fluxo de caixa.

Os principais métodos desta classe:

1. calcular o pu de negociação a partir de uma determinada taxa

2. calcular a taxa de negociação a partir de um determinado pu

3. montar o fluxo de um ativo, a partir dos parâmetros fornecidos

Fluxo

Papeis

Projetar

Fluxo

Descontar

Fluxo

XIRR

Duration

Convexidade

Montagem

dos fluxos

Page 31: Precificador

31

Calculo de ativos com fluxo de caixa – a partir da taxa para o preço

O calculo do preço de um ativo com fluxo de caixa a partir de uma determinada

taxa:

1. títulos indexados a taxas flutuantes ( DI, Selic):

a. com spread

𝑝𝑢 = 𝑠𝑝𝑟𝑒𝑎𝑑 + 1𝑏𝑎𝑠𝑒 𝑎𝑛𝑢𝑎𝑙

𝑝𝑧 𝑐𝑢𝑝𝑜𝑚 𝑐𝑢𝑟𝑣𝑎𝐽𝑢𝑟𝑜 𝑠252

𝑣𝑒𝑟𝑡𝑖𝑐𝑒 + 𝑝𝑎𝑟𝑐𝑒𝑙𝑎𝐴𝑚𝑜𝑟𝑡𝑖𝑧𝑎𝑐𝑎𝑜

𝑡𝑎𝑥𝑎 + 1𝑏𝑎𝑠𝑒 𝑎𝑛𝑢𝑎𝑙𝑝𝑧 𝑐𝑢𝑝𝑜𝑚

𝑐𝑢𝑟𝑣𝑎𝐽𝑢𝑟𝑜 𝑠252𝑣𝑒𝑟𝑡𝑖𝑐𝑒

𝑐𝑢𝑟𝑣𝑎 𝑖𝑐𝑢𝑟𝑣𝑎 𝑖 − 1 𝑠𝑝𝑟𝑒𝑎𝑑𝑏𝑎𝑠𝑒 𝑎𝑛𝑢𝑎𝑙

𝑝𝑟𝑎𝑧𝑜 𝑐𝑢𝑝𝑜𝑚

𝑐𝑢𝑟𝑣𝑎 𝑖 ∗ 𝑡𝑎𝑥𝑎𝑏𝑎𝑠𝑒 𝑎𝑛𝑢𝑎𝑙𝑎 𝑑𝑒𝑐𝑜𝑟𝑟𝑒𝑟

𝑛

𝑖+1

∗ 𝑣𝑛𝑒

b. com percentual:

𝑝𝑢 =

𝑠𝑝𝑟𝑒𝑎𝑑 + 1𝑏𝑎𝑠𝑒 𝑎𝑛𝑢𝑎𝑙𝑝𝑧 𝑐𝑢𝑝𝑜𝑚

𝑝𝑒𝑟𝑐𝑒𝑛𝑡𝑢𝑎𝑙𝑁𝑜𝑚𝑖𝑛𝑎𝑙

100 + 𝑝𝑎𝑟𝑐𝑒𝑙𝑎𝐴𝑚𝑜𝑟𝑡𝑖𝑧𝑎𝑐𝑎𝑜

𝑝𝑒𝑟𝑐𝑒𝑛𝑡𝑢𝑎𝑙𝑁𝑒𝑔𝑜𝑐𝑖𝑎𝑐𝑎𝑜

100 𝑐𝑢𝑟𝑣𝑎𝐽𝑢𝑟𝑜 𝑠252𝑣𝑒𝑟𝑡𝑖𝑐𝑒

𝑐𝑢𝑟𝑣𝑎 𝑖𝑐𝑢𝑟𝑣𝑎 𝑖 − 1

𝑝𝑒𝑟𝑐𝑒𝑛𝑡𝑢𝑎𝑙𝑁𝑜𝑚𝑖𝑛𝑎𝑙100

𝑐𝑢𝑟𝑣𝑎 𝑖 ∗𝑝𝑒𝑟𝑐𝑒𝑛𝑡𝑢𝑎𝑙𝑁𝑒𝑔𝑜𝑐𝑖𝑎𝑐𝑎𝑜

100

𝑛

𝑖+1

∗ 𝑣𝑛𝑒

2. Restante dos títulos

𝑝𝑢 = 𝐶𝑢𝑝𝑜𝑚 + 1𝑏𝑎𝑠𝑒 𝑎𝑛𝑢𝑎𝑙

𝑝𝑧 𝑐𝑢𝑝𝑜𝑚+ %𝐴𝑚𝑜𝑟𝑡𝑖𝑧𝑎çã𝑜 ∗ 𝑆𝑎𝑙𝑑𝑜𝑃𝑟𝑖𝑛𝑐𝑖𝑝𝑎𝑙 𝑐𝑢𝑝𝑜𝑚 𝑛

(𝑡𝑎𝑥𝑎 + 1 )𝑏𝑎𝑠𝑒 𝑎𝑛𝑢𝑎𝑙𝑝𝑟𝑎𝑧𝑜 𝑎 𝑑𝑒𝑐𝑜𝑟𝑟𝑒𝑟

𝑐𝑢𝑝𝑜𝑚 𝑛

𝑐𝑢𝑝𝑜𝑚 1

∗ 𝑉𝑁𝐴

Onde:

1. 𝑉𝑁𝐴: valor nominal do ativo

a. para indexadores com vigencia ( TR, TBF, TJLP, etc):

Page 32: Precificador

𝑣𝑎𝑙𝑜𝑟𝑛𝑜𝑚𝑖𝑛𝑎𝑙 = 𝑣𝑛𝑒 ∗ 𝑖𝑛𝑑𝑒𝑥𝑉𝑖𝑔𝑒𝑛𝑡𝑒 + 1 𝑛1 )𝑡𝑜𝑡𝑎𝑙 𝑣𝑖𝑔

𝑣𝑖𝑔 𝑎 𝑑𝑒𝑐

b. para indices de inflação:

𝑣𝑎𝑙𝑜𝑟𝑛𝑜𝑚𝑖𝑛𝑎𝑙𝑓𝑢𝑡𝑢𝑟𝑜

= 𝑣𝑛𝑒 ∗ 𝑖𝑛𝑓𝑙𝑎𝑐𝑎𝑜 𝑛

𝑖𝑛𝑓𝑙𝑎𝑐𝑎𝑜 𝑛−1

𝑣𝑖𝑔𝑒𝑛𝑡𝑒

𝑏𝑎𝑠𝑒 −1

∗ (𝑖𝑛𝑓𝑙𝑎𝑐𝑎𝑜𝑝𝑟𝑜𝑗𝑒𝑡𝑎𝑑𝑎 + 1)𝑣𝑖𝑔𝑒𝑛𝑐𝑖𝑎𝑑𝑒𝑐 ,𝑣𝑖𝑔𝑒𝑛𝑐𝑖𝑎

c. para juros flutuantes ( DI, Selic) com percentual:

vna

= vne

∗ DI ou Selic2521

atual

ultimoCupom

∗percentual

100

d. para indices cambiais:

𝑣𝑛𝑎 = 𝑣𝑛𝑒 ∗ 𝑐𝑎𝑚𝑏𝑖𝑜𝑐𝑜𝑟𝑟𝑒𝑛𝑡𝑒

𝑐𝑎𝑚𝑏𝑖𝑜 𝑛−1

𝑣𝑖𝑔𝑒𝑛𝑡𝑒

𝑏𝑎𝑠𝑒 −1

2. curva: curva de projeção de juros correspondente ao vencimento do

titulo;

a. baseado nos contratos DI x Pre

3. taxa: taxa de precificação

4. spread: taxa nominal (bookbuilding)

5. percentual nominal : percentual (bookbuilding)

6. percentual : percentual de precificação

Calculo de ativos com fluxo de caixa do preço para a taxa

Para convergencia de modelos não lineares o método implementa o algoritmo

de Newton&Raphson:

𝑥𝑛+1 = 𝑥𝑛− 𝑓𝑥𝑛

𝑓′𝑥𝑛

Page 33: Precificador

33

0101

1

i

ii

ax

xx =

Onde:

1. 𝑉𝑁𝐴: valor nominal do ativo

a. para indexadores com vigencia ( TR, TBF, TJLP, etc):

𝑣𝑎𝑙𝑜𝑟𝑛𝑜𝑚𝑖𝑛𝑎𝑙 = 𝑣𝑛𝑒 ∗ 𝑖𝑛𝑑𝑒𝑥𝑉𝑖𝑔𝑒𝑛𝑡𝑒 + 1 𝑛1 )𝑡𝑜𝑡𝑎𝑙 𝑣𝑖𝑔

𝑣𝑖𝑔 𝑎 𝑑𝑒𝑐

b. para indices de inflação:

𝑣𝑎𝑙𝑜𝑟𝑛𝑜𝑚𝑖𝑛𝑎𝑙𝑓𝑢𝑡𝑢𝑟𝑜

= 𝑣𝑛𝑒 ∗ 𝑖𝑛𝑓𝑙𝑎𝑐𝑎𝑜 𝑛

𝑖𝑛𝑓𝑙𝑎𝑐𝑎𝑜 𝑛−1

𝑣𝑖𝑔𝑒𝑛𝑡𝑒

𝑏𝑎𝑠𝑒 −1

∗ (𝑖𝑛𝑓𝑙𝑎𝑐𝑎𝑜𝑝𝑟𝑜𝑗𝑒𝑡𝑎𝑑𝑎 + 1)𝑣𝑖𝑔𝑒𝑛𝑐𝑖𝑎𝑑𝑒𝑐 ,𝑣𝑖𝑔𝑒𝑛𝑐𝑖 𝑎

c. para juros flutuantes ( DI, Selic) com percentual:

f (x)

f

(xi)

f (xi+1)

xi+2 xi+1 xi x

θ

[xi, f (xi)]

Grafico de convergencia 1

Page 34: Precificador

vna = vne ∗ DI ou Selic2521 ∗

percentual

100

atual

ultimoCupom

d. para indices cambiais:

𝑣𝑛𝑎 = 𝑣𝑛𝑒 ∗ 𝑐𝑎𝑚𝑏𝑖𝑜𝑐𝑜𝑟𝑟𝑒𝑛𝑡𝑒

𝑐𝑎𝑚𝑏𝑖𝑜 𝑛−1

𝑣𝑖𝑔𝑒𝑛𝑡𝑒

𝑏𝑎𝑠𝑒 −1

2. curva: curva de projeção de juros correspondente ao vencimento do

titulo;

a. baseado nos contratos DI x Pre

3. taxa: taxa de precificação

4. spread: taxa nominal (bookbuilding)

5. percentual nominal : percentual (bookbuilding)

6. percentual : percentual de precificação

Modelo de calculo Duration

O método implementado esta baseado no algoritmo de Macaulay:

Page 35: Precificador

35

Métodos

Método Descrição

calcularDuration Calcula a duration do papel.

calcularPuByTaxaNegociacao Retorna o Pu de negociação data uma Taxa.

calcularTaxaByPuNegociacao Retorna a Taxa de negociação dato um Pu.

convergirFluxo Converge o fluxo pelo algoritmo de Newton&Raphson.

DeletaFluxoCaixa Limpa os registros da tabela FluxoCaixa

Descontar Descontar, retorna o Pu de negociação dada uma Taxa

descontarFluxo Desconta o fluxo para uma taxa.

GetFluxoRest Recupera o fluxo do papel do Rest.

InserirFluxoVetorCapitais Inclui o fluxo na tabela FluxoVetorCapitais e chama a

procedure que Projeta o fluxo de Capitais.

InsertFluxoCaixa Insere o fluxo atual na tabela FluxoCaixa.

LimpaDataSetFluxo Limpa todas as tabelas do DataSet de fluxo.

LoadFluxoCaixa Carrega a tabela FluxoCaixa para o DataSet.

montarFluxo Monta o fluxo de juros e a amortizacao de um papel.

montarFluxoAmortizacao Monta o fluxo de amortizacao de um papel.

montarFluxoJuros Monta o fluxo de juros de um papel.

procProjetaFluxo Chama a procedure que vai projetar o fluxo na tabela

FluxoCaixa.

Page 36: Precificador

Projetar Projetar os capitais do fluxo

recuperaFluxoVetorCapitais Recupera o vetor de capitais da base de dados

TotalizaColuna Faz o somatorio da coluna de saldo do DataSet.

Propriedades

Método Descrição

AjusteDiaUtil Se o fluxo possui ajuste por dia util.

AttivoCalendart Classe responsavel pelo tratamento do Calendario.

AutoSaveFluxoDB True grava automaticamente o fluxo no Banco de Dados se o

mesmo nao existir. Por default 'true'.

Curvas

DataOperacao Data de operacao.

Duration Valor do duration encontrado

Fluxo Fluxo atual do papel.

FluxoCaixa Recupera o fluxo de caixa do papel.

guid Guid da instancia e identificador do vetor de eventos.

HasFluxo Verifica se existem objetos da classe de fluxo. Se existir é

marcada a propriedade com true – representando a

característica de ativo com fluxo.

HasFluxoProjetado Verifica se o fluxo esta projetado ou nao. Atravez de um

somatorio na coluna 'FluxoCapital': total > 0 retorna true, caso

contrario false.

pValorCurvaProjecao Valor da curva de projeção utilizado no cálculo

Page 37: Precificador

37