Identificação

Aluno: Wagner Tsuchiya

Professor Responsável: Carlos Eduardo Ferreira

Professor: José Coelho de Pina

Tipo de Trabalho: Estágio

Empresa

O estágio foi realizado na empresa chamada Prandini, Rabbat & Associates (PR&A) a partir de abril de 2005. A empresa, que foi fundada em 1994, é especializada em consultoria, treinamento, desenvolvimento e vendas de soluções nas diversas área de risco para empresas da área financeira. Esta monografia visa descrever de maneira objetiva o que foi aprendido por mim no estágio além de relacionar o que eu aprendi neste estágio com o conteúdo do curso de Bacharelado em Ciências da Computação.

Participei da elaboração de soluções e bibliotecas da área de risco de mercado. Mais especificamente, até escrever esta monografia, dos projetos para o Banco da Amazônia (BASA) e para a Ágora Senior Corretora de Valores.

Conceitos e Tecnologia Estudadas

O trabalho desenvolvido no estágio foi desenvolvimento no sistema operacional Microsoft Windows de programas de cálculos de indicadores de risco de mercado, mais especificamente, com a implementação de bibliotecas para cálculo de indicadores de risco, como o Beta, o Market-to-Market e o Value-at-risk .

Este trabalho está dividido em duas partes: a parte técnica, onde discuto sobre problemas enfrentados na área da computação e a parte de conceitos de mercado.


Desenvolvimento do sistema

Na parte referente ao desenvolvimento foi utilizado a plataforma Microsoft Windows e o software Microsoft Visual Studio .NET 2003. O Visual Studio é um IDE de desenvolvimento de soluções computacionais e aplicativos gerenciais no ambiente Windows. Foram utilizadas as lingüagens C# e ASP.NET. Além disso, para desenvolvimento dos sistemas fui usuário de bancos de dados Oracle 9i e também do Microsoft SQL Server 2000. Aprendi a desenvolver stored procedures no Oracle e a utilizar ferramentar auxiliares como o Case Studio, que serve para criar os diagramas de banco de dados e automaticamente gerar os scripts de criação de tabelas e restrições.

Abaixo, temos um exemplo de um diagrama de banco de dados gerado no Case Studio:

Durante os projetos tive muito contato com técnicas e metodologias de engenharia de software como UML e diagramas GANTT utilizados pela empresa até mesmo por exigência de nossos clientes. Além de, é claro, uma boa documentação dos códigos do sistema.

O método de trabalho, principalmente pelo fato da empresa não ser uma grande fábrica de software, é simples. Após o levantamento de requisitos e documentação segundo as metodologias citadas acima, os gerentes de projeto coordenavam pessoalmente os estagiários, porém esta hierarquia não era extremamente rigorosa, muitas vezes os estagiários são orientados a dividir o trabalho e delegar tarefas, fazendo com que tenhamos muitas oportunidades de aprendizado.

Além disso, uma grande vantagem é a flexibilidade de horário e também compreensão por parte dos gerentes da empresa, o que não interferiu em momento algum nos estudos. Apesar do pequeno porte da empresa algumas vezes foi observado alguns problemas de comunicação e também para o estabelecimento de padrões para codificação, o que prejudica um pouco a manutenção do sistema.

Agora irei discorrer um pouco mais detalhadamente sobre as técnicas e metodologias adotadas durante o desenvolvimento dos projetos.

UML

Na fase de documentação do projeto foram utilizados os diagramas de casos de uso, os diagramas de colaboração e os diagramas de classe. No escolpo do projeto os diagramas de casos de uso eram utilizados em conjunto com os diagramas de colaboração para documentar os fluxos do programa. Além disso, os diagramas de colaboração servem para visualizarmos melhor as interdependências entre as inúmeras partes de um sistema. Os diagramas eram elaborados de acordo com as demandas que iam surgindo de acordo com a formulação do software. Porém em grande parte estes diagramas, principalmente os de casos de uso, foram feitos por exigência dos contratantes e não foi de uma grande valia para o andamento do projeto já que raramente eram consultados, pelo menos, pelos estagiários.

Diagrama GANTT

Utilizamos para o acompanhamento do cronograma do projeto o software Microsoft Project. Os diagramas de Gantt nada mais são do que um meio visual de acompanhar o andamento de um projeto, seus gargalos e também para prever eventuais problemas com alocação de recursos.

Abaixo um exemplo de um diagrama de GANTT:


Risco de Mercado

Risco de mercado é o risco inerente às variações de taxas e preços de mercado. Quando se tem um investimento, seja ele em qualquer produto do mercado, corre-se o risco da oscilação do seu preço além das taxas a que este produto possa, eventualmente, estar relacionado. O desenvolvimento de um bom sistema de risco de mercado busca uma medida precisa desses riscos. E também pode fazer com que o gestor de um investimento possa tomar medidas para minimizá-los.

Antes de discorrer propriamente sobre os indicadores de risco de mercado implementados durante o período de estágio, darei uma rápida contextualizada dos produtos e operações comuns do mercado financeiro.

Operações

Toda e qualquer transação financeira descrita nesta monografia será denominada uma operação.

Ativos

São considerados ativos financeiros as operações que são bens ou direitos financeiros. Ou seja, tudo que pode tornar-se dinheiro vivo, tanto no presente quanto no futuro poderá ser considerado um ativo. Por exemplo, moeda nacional, moeda estrangeira e qualquer outra operação que venha a gerar capital é um ativo.

Passivos

Em contraposição aos ativos os passivos são operações que poderão se tornar obrigações a pagar. Como exemplo, podemos considerar um empréstimo.

Carteiras

Carteiras para nós será um conjunto de operações e ativos do mercado financeiro.

Ações

Ações são títulos nominativos negociáveis que representam, para quem as possui, uma fração do capital social de uma empresa. Em outras palavras, ação é um pedacinho de uma empresa. Uma empresa quando precisa captar recursos externos pode, ao invés de obter dinheiro através de financiamentos tradicionais ou de empréstimos, segundo o jargão do mercado abrir seu capital, ou seja, abrir sua sociedade para os mais diversos investidores que passam a negociar suas ações através das bolsas de valores no caso do Brasil na BOVESPA em troca deste financiamento os investidores esperam a divisão dos lucros, a participação nas decisões da empresa e também o ganho através da oscilação do preço destes papéis o que expõe, necessariamente, o investidor à risco de mercado.

Com um ou mais pedacinhos da empresa, você se torna sócio dela. As ações podem ser:

Bovespa

Bovespa é a abreviação de Bolsa de Valores de São Paulo. Bolsa de Valores é o local onde se compram e se vendem as ações das companhias de capital aberto, além de realizar outras operações mais específicas. As bolsas são os mais importantes centros de negociação das ações, devido ao expressivo volume e maior transparência das operações realizadas. A Bovespa através dos seus sistemas informatizados permite uma maior agilidade e eficiências nas transações de compra e venda, que se baseiam nas leis da oferta e da procura, ou seja, a eficiência é necessária pois o preço das ações dependem da disponibilidade de compradores e vendedores. Mais especificamente, se eu quiser comprar a ação de uma companhia A por 10 reais, esta operação só será possível se existir uma contraparte que esteja disposta a vendê-la pelos mesmos 10 reais.

Índice

Os índices de ações têm por finalidade servir como indicador médio do comportamento do mercado acionário como um todo, ou de um segmento econômico específico do mercado (no caso dos índices restritos e setoriais). Assim, os índices são desenhados de modo a mostrar se as ações do mercado, em média, valorizaram-se ou se desvalorizaram em um dado período de tempo. Os índices de ações são calculados pelas Bolsas de Valores ou por instituições especializadas. Os índices são muitos úteis quando deseja-se comparar, por exemplo, o comportamento de uma determinada ação com o do mercado de ações como um todo.

Ibovespa

O Índice Bovespa (Ibovespa) é o mais importante indicador do desempenho do mercado de ações brasileiro, pois retrata o comportamento das principais ações negociadas na BOVESPA. Ele é formado a partir de uma aplicação imaginária, em Reais, em uma quantidade teórica de ações (carteira). Sua finalidade básica é servir como indicador médio do comportamento do mercado. Para tanto, as ações que fazem parte do índice representam mais de 80% do número de negócios e do volume financeiro negociados no mercado à vista. Como as ações que fazem parte dessa carteira têm grande representatividade, podemos dizer que se a maioria delas estiver subindo, o mercado, medido pelo Índice Bovespa, está em alta, e se estiver caindo, está em baixa.

Aluguel

A operação de aluguel, consiste na transferência de títulos da carteira do investidor para satisfazer necessidades temporárias de um tomador. O tomador do aluguel estará com o ativo disponível em sua carteira, durante o período de vigência do contrato. O aluguel de ações funciona justamente como um aluguel tradicional de, por exemplo, imóveis. O tomador paga uma taxa pelo aluguel e terá as ações alugadas em sua carteira, essas ações poderão ser negociados e o ao vencimento o tomador deverá devolver a ação à contraparte.

Opções

As opções são produtos negociados tanto na BOVESPA quanto na BM&F. Uma operação de opção dá ao comprador desta opção o direito, não a obrigação, de comprar (opção de compra) ou de vender (opção de venda) um determinado ativo, no caso, chamado ativo base. As opções podem ser de dois tipos: opção americana, na qual a escolha entre o exercício da opção se dá em qualquer momento até o vencimento, ou americana, na qual o opção pelo exercício se dá somente no vencimento.

Para melhorar a compreensão vamos supor um exemplo prático. Suponha que alguém me ofereça a opção de comprar US$ 1.000,00 (mil dólares americanos) no dia 25 de dezembro de 2005 por R$2.300,00 por R$10,00, ou seja, eu pago hoje a quantia estipulada (R$10,00) para poder optar por comprar, ou não, a quantia de US$ 1.000,00 no vencimento pelo preço estipulado. Note que se eu sou comprador de uma opção de compra (chamada de CALL) eu espero que o ativo base, no vencimento da opção, venha a valer mais do que irei pagar, ganhando assim com a operação. Quem tem uma opção de venda (PUT) espera que o ativo base se desvalorize.

Suponha que no vencimento o dólar esteja cotado a R$2,20, neste caso, eu não exerceria a opção, pois sairia mais em conta comprar dólar à vista na data de vencimento, e meu prejuízo seria de R$10,00. Já se o dólar estiver cotado a R$2,50 meu lucro será de R$2.500,00 - R$2.300 - R$10,00 = R$190,00.

Esta operação é utilizada pelos especuladores para realizar hedge que é uma espécie de proteção, por exemplo, caso eu possua uma dívida em dólar, uma possível proteção seria adquirir uma opção sobre a moeda para me proteger de oscilações da moeda.

Termo

A operação de termo nada mais é do que a compra de um determinado ativo a um preço determinado para liquidação em um prazo determinado. É um contrato entre as partes vendedoras e compradoras. No momento em que a pessoa optar por um contrato a termo nenhum dinheiro é desembolsado, porém, ocorre o bloqueio de garantias. Garantias são ativos que ficam bloquados para que a pessoa possa cumprir o contrato. Resumidamente, termo é uma operação de venda de um ativo no futuro a um preço pré fixado. No final do prazo determinado o comprador é obrigado e comprar o produto e o vendedor a vendê-lo. O depósito de garantias é uma forma da bolsa certificar que os contratos serão cumpridos.

Futuro

A operação de futuro é um segmento de mercado que compreende as operações de compra e venda realizadas em pregão, de contratos autorizados pela bolsa de futuros, para liquidação em data futura pré-fixada. Ela se diferencia da operação de Termo pois ela possui o ajuste diário. O ajuste diário busca ao invés de se pagar a quantia estipulada somente no final do prazo combinado esta diferença poderá ser paga diariamente.

Mercado a termo

Mercado futuro

Pode ser negociado mediante

um contrato particular

Precisa ser negociado

em bolsa de futuros

Não precisa ser um

contrato padronizado

Precisa ser um

contrato padronizado

Tem uma data de entrega

fixada no contrato

É negociado com diferentes datas de entrega

Diferenças de preço são

ajustadas no vencimento

Diferenças de preço são ajustadas diariamente

BM&F

BM&F é a Bolsa de Mercados & Futuros, seu objetivo é organizar, prover o funcionamento e desenvolver mercados livres e abertos para negociação de quaisquer espécies de títulos e/ou contratos que possuam como referência ativos financeiros, índices, indicadores, taxas, mercadorias e moedas, nas modalidades a vista e de liquidação futura e também manter, entre outros, serviços de padronização, classificação, análises, cotações, estatísticas e informações sobre assuntos que interessem à BM&F e a seus sócios. Ou seja, ela é a bolsa que não é específica para ações de companhias abertas, e negocia também das mais diversas formas contratos e mercadorias como, por exemplo, os contratos de swap ou então os contratos de futuros de algodão, boi gordo, etc.


Na parte de indicadores de risco de mercado descreverei três deles: Beta, Market-to-Market (MtM) e Value-at-Risk (Var)

Série de retornos

Para entendermos melhor os índices de risco de mercado deveremos compreender um conceito simples que é uma série de retornos de um determinado ativo financeiro.

Uma série de retornos é uma seqüência de retornos históricos (rentabilidadem que pode ser negativa) de um dado ativo. É necessário definir uma janela de retornos que será o número de retornos de uma dada série (n), em seguida, buscarmos n + 1 cotações para o cálculo que deverá ser feito da seguinte maneira:

Retorno(n) = log(Preço(n) / Preço(n - 1))

Clique aqui e baixe uma planilha com os exemplos dos cálculos.

Beta

Este índice é um dos índices do Modelo de Precificação de Ativos de Capital (The Capital Asset Pricing Model (CAPM)) que parte da premissa que os investidores querem evitar riscos (averssão a riscos). Ao assumir um risco o investidor busca uma contraparte que é um retorno maior do ativo. No mercado de ações o beta foi desenvolvido para explicar o comportamento dos preços de ações em relação aos índices de mercado (por exemplo: IBOVESPA). Ou seja, quanto maior o beta mais arriscado é o investimento, e quanto menor mais seguro é em relação ao índice (IBOVESPA).

O beta é calculado da seguinte formula:

Beta = Covariância (Série de retornos do Ibovespa, Série de retornos do Ativo) / Variância (Série de retornos do Ibovespa)

O maior problema para o cálculo do beta é a necessidade de se calcular as taxas de retornos para o título e também para os índices o que exige que o banco e o sistema já esteja pré alimentado e também conte com dados suficientes para o cálculo do mesmo.

Clique aqui e baixe uma planilha com os exemplos dos cálculos.

Market-to-Market (Mtm)

O MtM serve para calcular o valor de mercado do ativo de acordo com os fatores de risco associados ao mesmo além da visualização dos seus pagamentos. Por exemplo, um determinado ativo poderá dar ao seu portador pagamentos semestrais, e seria interessante possuir uma visão abrangente deste fluxo de caixa. Além disso, podemos com o cálculo do MtM classificar os ativos de uma determinada carteira levando em conta os fatores de risco que estes ativos têm em comum, por exemplo, um contrato de aluguel e um contrato futuro de uma mesma ação deve, provavelmente possuir um risco associado ao ativo base. Além de uma ação como no exemplo o fator de risco poderá ser por exemplo o valor do dólar, ou a taxa de juros SELIC.

Value-at-Risk (VaR)

Segundo Jorion VaR é "VaR sintetiza a maior (ou pior) perda esperada dentro de determinado período de tempo e intervalo de confiança". Em outras palavras, dada uma série histórica de retornos de um ativo, é fato que estes retornos obedecem uma distribuição normal, o VaR é uma metodologia que visa calcular a perda no pior cenário possível. No mercado, além de exigências de normas legais, ele é usado para avaliar o risco de mercado de um ativo e avalia a máxima perda provável de um ativo ou uma carteira de ativos financeiros.


Atividades Realizadas

Participei de dois projetos de risco de mercado. Neles foram implementados os sistemas necessários para o cálculo dos índices descritos em Conceitos e Tecnologias Usadas. Como o projeto era um pouco grande e uma grande parte dos índices não faziam parte da biblioteca padrão da empresa o desenvolvimento foi uma tarefa muito árdua. Tanto a fase de especificação quanto o desenvolvimento. O processo foi dividido em alimentação e implementação dos cálculos. Como eu consegui ficar estagiando 40 horas durante este semetre acabei ficando mais com a parte dos cálculos complexos pois os outros estagiários ficavam menos tempo e podiam se dedicar menos ao estágio.

Inicialmente foram levantados os requisitos e especificados os cálculos pelos empregados da empresa, porém sempre com uma participação ativa nossa. Após esta especificação partimos para a implementação, o que dependia não só de nós desenvolvermos código rapidamente como também de um rápido feedback de dúvidas e também informações por parte dos nossos clientes. Nesta fase inicial a minha participação foi maior na parte de desenvolvimento de programas para a alimentação do banco de dados, afinal, sem os dados não poderíamos partir para a implementação dos cálculos. Num segundo momento passei a participar na implementação do sistema de risco em si.

Resultados e Produtos obtidos

Os projetos tiveram um resultado satisfatório tanto para o cliente quanto para a empresa. Porém em ambos os casos os prazos não foram cumpridos e também acabaram apertando os prazos dos projetos seguintes. O sistema no Banco da Amazônia está em fase final de homologação e já está no ar sendo utilizado e em fase final de manutenção também, já o sistema da Ágora senior está em sua fase final de implementação.

Conclusões

Nos dois projetos que participei percebi que existe um grande problema na especificação de prazos, pois na realidade a especificação de um prazo confiável depende de uma rigorosa análise de requisitos, porém esta ordem nem sempre é possível, já que os contratos normalmente são fechados e nem sempre temos 100% claro quais são os requisitos de um sistema. Além disso existe um trade-off incrível entre o que o realmente quer e o que é possível sem cumprido e a necessidade de fechamento de contrato pela empresa que irá prestar serviço. Isso é algo que devemos tomar cuidado ao especificarmos um projeto.

Segunda Parte da Monografia

Agora nesta segunda parte da monografia viso relacionar a experiência obtida no trabalho ao curso do Bacharelado em Ciências da Computação de forma subjetiva e pessoal.

Desafios e frustações

Os desafios encontrados pelos que entram no mercado de trabalho são muitos. Entre os mais relevantes a longo prazo é o de estabelecer uma boa colocação do profissional no mercado de trabalho e saber ponderar fatores subjetivos como interesses pessoas, perspectivas de crescimento na empresa, remuneração, dentre tantos outros fatores para a escolha do lugar ideal de cada pessoa. Além disso, a curto prazo, o desafio principal encontrado é cumprir prazos, desenvolver num ritmo constante e rápido, assimilação rápida de conceitos muitas vezes novos e também a compreensão correta das regras de negócio que nem sempre são triviais. Além disso, existem sempre alguns problemas de comunicação e de passagem de informação, que nem sempre circula de forma homogênea na equipe. Outro problema notado foi o da não padronização de código o que traz problemas estéticos e de organização.

Dentre as minhas frustações se destaca o fato do mercado de trabalho muitas vezes não valorizar técnicas tão profundamente difundidas no meio acadêmico. Além disso, é gritante a diferença entre teoria e prática, principalmente na área de engenharia de software. Além disso, achei particularmente frustante o fato de ter saido tão cru da universidade, não apenas por falta de interesse ou até mesmo falta de dedicação, mas acho que o curriculo do curso poderia ser um pouco mais abrangente.

Lista das disciplinas mais relevantes para o estágio

Disciplina Relevância
MAE121 e MAE212 - Estatística I e II Conceitos básicos de estatísticas são muito utilizados no desenvolvimento de ferrametas financeiras.
MAC110 e MAC122 - Introdução a computação e Princípios de Desenvolvimento de Algoritmos Disciplinas básicas que ensinam conceitos fundamentais da computação.
MAC211 e MAC242 - Laboratório de Programação I e II Uma introdução ao desenvolvimento de um projeto maior e também uma breve conceitualização dos conceitos de Orientação a Objetos foram fundamentais.
MAC441 - Programação Orientada a Objetos Disciplina fundamental para se aprender os conceitos mais relevantes da Orientação a Objetos.
MAT139 - Álgebra Linear Fundamental para a realização de algumas operações para cálculo de indicadores.
MAC300 - Métodos Numéricos da Álgebra Linear Fundamental para a otimização das operações citadas anteriormente.
MAC323 - Estrutura de Dados Auxiliou o desenvolvimento do raciocínio e também o desenvolvimento de estruturas não triviais para resolução de problemas.
MAC426 - Sistemas de Bancos de Dados Conceitos importantíssimos de bancos de dados, os bancos de dados são praticamente onipresentes nas organizações, daí sua importância.
MAC332 - Engenharia de Software Apesar de, ao meu ver, ser uma disciplina onde só se aprende na prática, serviu para me preparar conhecer melhor as boas práticas de programação e de desenvolvimento de projetos. Serviu também para conhecer o enorme abismo entre a teoria e a prática em muitas empresas de software.
MAC448 - Programação para Redes de Computadores Disciplina fundamental para um melhor compreendimento do funcionamento de redes de computador. Importante para programar para web e sistemas para web são uma forte tendência atual.

Interação com Membros da Equipe

Os membros da equipe que integrei, bem como seus mentores e superiores sempre se mostrou extremamente acessível e também o relacionamento foi muito amigável e de ajuda mútua. O período de estágio, de maneira alguma prejudicou meus estudos, pois o gerente era extremamente compreensivo em relação a este aspecto, além disso foi um período de muito amadurecimento pessoal e profissional.

Diferenças entre o BCC e a forma de trabalho da empresa

Existem séries de diferenças entre o curso e a forma de trabalho da empresa. Em primeiro lugar, no curso, em nenhum momento, estabelece-se uma forma de trabalho, e sim os enunciados, no caso dos Exercícios Programas, são publicados e cabe ao aluno de alguma forma prepará-lo e entregá-lo. Já na empresa, os prazos e também existe um fluxo de dependência entre as partes de um projeto, e acontece que sempre existem pessoas que dependendo de sua parte além de sempre ter alguém coordenando o todo. Além disso, o curso por ser teórico e também acadêmico, como não poderia deixar de ser, baseia se sempre no ideal, que nunca, via de regra, pode existir. A empresa vive num mundo prático, particularmente distinto do ideal, pois os prazos e também o fato da empresa não ser especializada em desenvolvimento de software impedem a utilização de todas as técnicas aprendidas no curso.

Muitos conceitos extremamente úteis e interessantes não podem, imediatamente, serem colocados em prática. Conceitos como refatoração, diagramas UML, etc. Podem perder totalmente o sentido quando estamos correndo atrás de um prazo apertado.

Passos para o aprimoramento

Como passos para o futuro, por enquanto, estou planejando adquirir experiência na área durante o ano de 2006. Em seguida, eventualmente, iria iniciar um mestrado na área de engenharia de software, mas provavelmente na POLI, pelo fato da expertise deles na área mais de metodologias, ou então, partir para tirar alguma certificação como a oferecida pela PMI. Além disso, penso fazer alguns cursos de especialização na área de finanças e partir para a área de consultoria na área tecnológica da área de finanças.

Bibliografia

Livros

Sites da Internet