O documento apresenta uma solução para precificação de ativos privados que fornece serviços para:
1) precificação de ativos privados para marcação a mercado; 2) cálculo de preços de carregamento considerando critérios de ágio ou deságio; 3) cálculo de valores nominais e par de ativos. A solução estrutura os dados e as classes necessárias para os cálculos considerando ativos com pagamentos únicos e periódicos.
1. Serviços de
precificação de
Privados
leo@sophosprojetos.com
Apresentação conceitual e técnica da solução.
Sophos Projetos
Praia de Botafogo 501,
Torre Corcovado 2
andar sala 211, RJ
(21) 2546 9919
(21) 2586 6001
5/11/2010
2. Praia de Botafogo 501, Torre Corcovado 2 andar sala 211, RJ
SOPHOS PROJETOS
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.
(21) 2546 9919
Atenciosamente
leo@sophosprojetos.com
Sophos Projetos
l eo@tradeway.com.br
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
3
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.
5
6. 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:
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.
7
8. Camada visual & outros
clientes
Interface
•Planilhas
•Attivo Negócio
•Etc
Infra
Dados
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.
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.
9
10. 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.
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.
11
12. 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.
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
13
14. 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
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.
15
16. 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.
17. Papéis
•Privados financeiros
•Instrumentos
Moedas
Taxas
FluxoPapeis
Calendário
Log
Dados
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.
17
18. 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.
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.
19
20. Visão geral – classes principais
•Propriedades especiificas- info
Instrumentos
•Métodos de load - orquestração
•Métodos calculo
AtivoRF - abstrata
•Propriedades gerais
•Propriedades especificas
TitulosCetipadosFinanceiros
•Métodos de load
•Métodos
Calendário
•Métodos
Moedas
•Métodos
Taxas
•Métodos
FluxoPapeis - abstrata
•acesso a dados
Infra: AttivoDB e Log
•log de erros e trajetória em arquivos txt
•projeções de juros com base no Swap DI x Pre
Curvas
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.
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.
21
22. 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
Cetipados
Attivo Moedas
Taxas AtivoRF
abstrata
FluxoPapeis
Instrumentos abstrata
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):
23. ������������������ ������ ������������������
������������������������������������������������������������������������������������������������������������ = ������������������ ∗ (������������������������������������������������������������������������ + 1 )������������������������������ ������������������
b. para indices de inflação:
������������������������������������������������������������������������������������������������������������
= ������������������
������������������ ,������������������������������������������������
∗ (������������������������������������������������������������������������������������������������������ + 1)������������������������������������������������
c. para juros flutuantes ( DI, Selic) com percentual:
valorFuturoAtivo
= vna
∗ [ ( curva + 1)1252
vertice
∗ percentual ]
d. para juros flutuantes ( DI, Selic) com spread:
valorFuturoAtivo
= vna ∗ ∗ curva + 1)1
252
vertice
adec
∗ spread + 1)base anual ]
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):
23
24. ������������������ ������ ������������������
������������������������������������������������������������������������������������������������������������ = ������������������ ∗ (������������������������������������������������������������������������ + 1 )������������������������������ ������������������
b. para indices de inflação:
������������������������������������������������������������������������������������������������������������
= ������������������
������������������ ,������������������������������������������������
∗ (������������������������������������������������������������������������������������������������������ + 1)������������������������������������������������
c. para juros flutuantes ( DI, Selic) com percentual:
valorFuturoAtivo
= vna
∗ [ ( curva + 1)1
252
∗ percentual vertice ]
d. para juros flutuantes ( DI, Selic) com spread:
valorFuturoAtivo
= vna ∗ [ curva + 1)1 252
vertice
)
a decorrer
∗ spread + 1)base anual ]
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
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.
25
26. 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 Modelo de Base anual alternativa.
nativa
pNegociacaoModeloBaseAnualPrinc Modelo de Base anual principal.
ipal
pNegociacaoModeloPrazoAlternativ Modelo de Prazo alternativa.
a
pNegociacaoModeloPrazoPrincipal Modelo de Prazo principal.
pNegociacaoModeloTaxaAlternativa Modelo da Taxa alternativa.
pNegociacaoModeloTaxaPrincipal Modelo da Taxa principal.
pNegociacaoPrecisaoTaxaAlternativ Precisão da Taxa alternativa.
a
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 Percentual Acumulado Amortizações Pagas.
sPagas
pPercentualNominal Percentual nominal do indexador
pPrazoMinimo Prazo minimo.
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 Tipo Arredonda ou Trunca para o Fator
ultante Resultante
precisoesArredondamentoMoeda
precisoesArredondamentoPercentu Tipo Arredonda ou Trunca para o Fator do
al Percentual
precisoesArredondamentoProdutori Tipo Arredonda ou Trunca para o
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é
27
28. 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 Saldo Nominal Corrigido com Projecao.
ao
pSaldoNominalCorrigidoSemProjec Saldo do valor nominal corrigido sem
ao 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
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.
29
30. 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
Projetar
Fluxo
Montagem Descontar
dos fluxos Fluxo
Fluxo
Papeis
Convexidade XIRR
Duration
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
∗ ∗ ������������������
������������������������������������������������������������������������������������������������������������������������
������+1 ������������������������������ ������ ∗ 100
2. Restante dos títulos
������������������������������ ������ ������������ ������������������������������ ������������������������������ ������
������������������������������ + 1������������������������ ������������������������������ + %������������������������������������������������çã������ ∗ ������������������������������������������������������������������������������������
������������ = ������������������������������ ������ ������������������������������������������������ ∗ ������������������
������������������������������ 1
(������������������������ + 1 )������������������������ ������������������������������
Onde:
1. ������������������: valor nominal do ativo
a. para indexadores com vigencia ( TR, TBF, TJLP, etc):
31
32. ������ ������������������ ������ ������������������
������������������������������������������������������������������������ = ������������������ ∗ 1 ������������������������������������������������������������������������ + 1 )������������������������������ ������������������
b. para indices de inflação:
������������������������������������������������������������������������������������������������������������
������������������������������������������ ������������������������������������������������ ������
= ������������������ ∗
������������������������ −1 ������������������������������������������������ ������−1
������������������ ,������������������������������������������������
∗ (������������������������������������������������������������������������������������������������������ + 1)������������������������������������������������
c. para juros flutuantes ( DI, Selic) com percentual:
vna
= vne
atual
1
∗ DI ou Selic252
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 = ������������−
������′������ ������
33. xi 1 xi
a = 100
xi 1
f (x )
f [xi, f (xi)]
(x i )
f (xi+1)
θ
x
xi+2 xi+1 xi
Grafico de convergencia 1
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:
33
34. atual
1
percentual
vna = vne ∗ DI ou Selic252 ∗
100
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:
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.
35
36. 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