Sei sulla pagina 1di 52

FUNDAÇÃO UNIRG

DEPARTAMENTO DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

UM PROTÓTIPO DE SISTEMA PARA AUXÍLIO NA PROTEÇÃO DE


RISCO DE DERIVATIVOS AGROPECUÁRIOS

ANDERSON SILVA DORNELES

GURUPI-TO
FEVEREIRO DE 2008
FUNDAÇÃO UNIRG
DEPARTAMENTO DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

UM PROTÓTIPO DE SISTEMA PARA AUXÍLIO NA PROTEÇÃO DE


RISCO DE DERIVATIVOS AGROPECUÁRIOS

Monografia apresentada a Fundação – UNIRG,


como parte das exigências do Curso de Ciência
da Computação para obtenção do título de
Bacharel em Ciência da Computação.

Acadêmico: Anderson Silva Dorneles


Prof Orientador: Msc. Marcelo Lisboa Rocha

GURUPI-TO
FEVEREIRO DE 2008

2
FUNDAÇÃO UNIRG
CURSO DE CIÊNCIA DA COMPUTAÇÃO

UM PROTÓTIPO DE SISTEMA PARA AUXÍLIO NA PROTEÇÃO DE


RISCO DE DERIVATICOS AGROPECUARIOS

Acadêmico: Anderson Silva Dorneles


Orientador: Profº Marcelo Lisboa Rocha

Monografia aprovada em 13 de Fevereiro de 2008, como parte das exigências para


obtenção do título de Bacharel em Ciência da Computação.

BANCA EXAMINADORA

_____________________________________________
Profª Msc. Sofia Mara de Souza

_____________________________________________
Prof° Marcelo Lisboa Rocha

_____________________________________________
Profº Fernando Szimanski

Data da realização: 13 de Fevereiro de 2008

3
Aos meus familiares e amigos que
sempre estiveram presentes, e me
apoiando nos momentos felizes e
difíceis desta grande jornada.

DEDICO

4
“Cada pessoa é única e exclusiva e,
ao se conscientizar do seu valor e de
sua capacidade de realizações, uma
energia positiva invade seu corpo,
sua mente e seu espírito.

É! A beleza do ser humano está no


corpo bem cuidado e na mente
arejada, mas o mais belo do homem
repousa o dom de perdoar a si
mesmo e aos outros”

VERA MARINS

5
AGRADECIMENTOS

À DEUS em primeiro lugar, por ele ser a base para tudo e sem ele eu
não teria forças para concluir o curso.

Á meus pais, avós e irmãos, que sempre me apoiaram, a meu pai


principalmente, com seu auxilio financeiro, mesmo sem poder, às vezes sacrificando
certas coisas para a família, sempre me supriu com o necessário pra que eu
terminasse o curso.

À meu orientador, Marcelo Lisboa Rocha que, de forma assertiva,


conseguiu equilibrar os papéis de gestor desta obra e de amigo, acompanhando
cada etapa do seu desenvolvimento, com firmeza, sem perder a sensibilidade,
superando as expectativas de um verdadeiro mestre.

6
SUMÁRIO

LISTA DE FIGURAS
LISTA DE ABREVIAÇÕES
RESUMO
Capitulo 1
1. INTRODUÇÃO
Capitulo 2
2. REFERÊNCIAL TEÓRICO
2.1 - FORMALIZAÇÃO LEGAL DE OPERAÇÕES DE CRÉDITO
2.1.1 – Contrato
2.1.2 – Contratos Futuros
2.2 - MERCADO DE OPÇÕES
2.3 - HEDGE, HEDGER E HEDGING
2.4 - MERCADO DE DERIVATIVOS
2.4.1 - O Mercado e as transformações mundiais
2.4.2 - O mercado de derivativos
2.4.3 – Modelo de Fischer Black & Myron Scholes
2.5 – MÉDIA MÓVEL PONDERADA, MÉDIA MÓVEL EXPONENCIAL PONDERADA
E CRUZAMENTO DE MÉDIAS
2.5.1 – Média Móvel Ponderada
2.5.2 - Média Móvel Exponencial Ponderada
2.5.3 - Cruzamento de Médias
Capitulo 3
3. METODOLOGIA
7
3.1 A linguagem de programação java
3.1.1 Principais características da linguagem java
3.1.2 Maquina virtual java
3.2 API
3.2.1 A API JfreeChart
3.2.2 A API Jexcel
3.3 Netbeans 5.5
3.4 UML
Capitulo 4
4. APRESENTAÇÃO DO PROTÓTIPO DE SOFTWARE
Capitulo 5
5. AVALIAÇÃO DO PROTÓTIPO DE SOFTWARE
5.1 Média móvel curta
5.2 Média móvel longa
Capitulo 6
6. CONCLUSÃO
Capitulo 7
7. REFERÊNCIAS BIBLIOGRÁFICAS
ANEXOS

8
LISTA DE FIGURAS

Figura 1 - Exemplo WMA


Figura 2 - Tela de seleção para entrada de dados
Figura 3 - Tela de inserção do parâmetro lambida
Figura 4 - Tela de médias móveis
Figura 5 - Exemplo de data inicial de dados
Figura 6 - Tela de ajuda do usuário
Figura 7 - Tela sobre o protótipo de software
Figura 8 - Resultados do cálculo da média curta
Figura 9 - Resultados do cálculo da média longa
Figura 10 - Resultados do cálculo da média curta, longa e EWMA
Figura 11 - Dada gerados pela planilha do Excel

9
LISTA DE ABREVIAÇÕES

BM&F - Bolsa de Mercadorias e Futuros


EWMA - Exponentially Weighted Moving Average
BOVESPA - Bolsa de valores de São Paulo
WMA - Weighted Moving Average
EMA - Exponentially Moving Average
API - Application Program Interface
UML - Unified Modeling Language
TCP/IP - Transmission Control Protocol - Internet Protocol
FTP - File Transfer Protocol
JVM - Java Virtual Machine
GNU - GNU is Not Unix
GPL - General Public License
PNG - Portable Network Graphics
JPEG - Joint Photographic Experts Group
PDF - Portable Document Format
EPS - Encapsulated Postscript
SVG - Scalable Vectorial Graphics
WEB – World Wide Web
J2EE - Java 2 Enterprise Edition
XML - eXtensible Markup Language
JDK - Java Development Kit
RUP – Rational Unified Process

10
RESUMO

Um protótipo de sistema para auxílio na proteção de risco de


derivativos agropecuários. Anderson Silva Dorneles1; Marcelo Lisboa
Rocha 2 (1Aluno do Departamento de Ciência da Computação – UNIRG,
Gurupi/TO; 2Profº. MSc. Orientador, Departamento de Ciência da Computação –
UNIRG, Gurupi/TO)

O mercado de derivativos vem sendo cada vez mais uma opção de


investimento no mundo todo, principalmente os derivativos agropecuários. Com as
oscilações das bolsas, isso se tornou também um investimento de risco. Com o
advento das novas tecnologias aliada á técnicas matemáticas de calculo usados na
área de economia, tem ajudado a diminuir o risco. Com esse trabalho ultilizou-se a
técnica matemática de média móvel chamado de EWMA - Exponentially Weighted
Moving Average, que no comparativo com as demais técnicas se mostrou a melhor
no calculo de séries históricas. O trabalho também exigiu o uso de API´s da
linguagem de programação Java especificas as necessidades apresentadas, tais
como JFreeChart Jexcel. O Protótipo de software tem como finalidade principal, o
cálculo usando técnicas matemáticas de onde se geram dados e esses mesmos
dados gera um gráfico para análise.

PALAVRAS CHAVES: Derivativos, Médias móveis, EWMA - Exponentially Weighted


Moving Average, JFreechart, JExcel, e o NetBeans.

11
Capítulo 1

1 - INTRODUÇÃO

O mercado de capitais esta cada vez mais sendo uma atividade de


muito risco. Com oscilações de bolsa de valores no mundo inteiro e a interligação
entre elas, investir na bolsa comprando e/ou vendendo títulos de empresas e
produtos agropecuários tornaram-se uma estratégia de risco aos investidores.
Levando em conta todos esses riscos envolvidos, abriu-se um leque de opções para
se garantir que não haja perdas em investimentos, surgindo assim o mercado de
derivativos. Dentre os tipos de utilização que se possa fazer dos derivativos
(especulação e hedge), nesse trabalho utilizaram-se técnicas matemáticas (EWMA,
Médias Moveis Longa e Curta) para prever, através de analise de gráficos o risco
desses investimentos. O Hedge é uma forma de se utilizar os derivativos de modo
de proporcionar aos negociantes (hedgers) uma forma de garantia de preço de
seus produtos ou serviços. Com esse protótipo de sistema implementou uma
ferramenta que apartir de parâmetros de entrada tais como: dados de janelas de
tempo, valor de lambida e arquivo de entrada de dados (Um arquivo do Excel com
padrão BM&F), gera-se um gráfico, que o usuário com a devida experiência em
economia e em médias moveis irá fazer uma análise precisa de séries temporais,
quanto a tendências de queda e/ou ata no preço.Os dados de entrada serão os dois
tipos de contratos derivativos que são negociados na BM&F que são eles: Contrato
futuro e contrato de opção de venda sobre futuro. Estes dois contratos foram
escolhidos, pois são os mais negociados (líquidos) para o tipo de produto que se

12
deseja realizar o hedge. Os dados de valores (em R$) quantidade de contratos
negociados, as datas de negociação e outros dados são gerados através do sistema
de recuperação da BM&F [BM&F, online].
Neste trabalho estudaram-se algumas técnicas matemáticas de
indicações de tendências (tendência de alta e baixa) e implementou-se a melhor.
Nesse trabalho constatou-se que a melhor técnica é a de médias móveis junto com
EWMA - Exponentially Weighted Moving Average. Mais detalhes sobre o que são
mercado de capitais, Derivativos e outros assuntos relacionados às técnicas
matemáticas envolvidas serão encontrados neste trabalho.
No capitulo 2, será mostrado todo o referencial teórico estudado na
elaboração e execução do projeto do protótipo de software, tais como as médias
móveis, dados relevantes sobre mercado de capitais e derivativos. Já no capitulo 3
veremos toda a metodologia usada no projeto, tais como a linguagem de
programação Java, suas características e vantagens, as API´s (bibliotecas) usadas
no projeto, o framework Netbeans e o UML. No capitulo 4 apresentaremos o
protótipo de software, suas funcionalidades, as interfaces com suas entradas de
parâmetros. O Capitulo 5 se destina a avaliar a ferramenta, com os testes feitos, a
validação dos dados e também os resultados obtidos. O capitulo 6 é a conclusão
desse projeto e o capitulo 7 as referências usadas e anexos ao final.

13
Capítulo 2

2 - REFERENCIAL TEÓRICO

2.1 - FORMALIZAÇÃO LEGAL DE OPERAÇÕES DE CRÉDITO

2.1.1 - Contrato

De acordo com Ortolani, (2000) a palavra crédito, indica confiança, que


se deriva do latim credere. Desta forma, no que diz respeito a atividade econômico-
financeira, esta confiança é baseada na qual se desenvolve praticamente toda essa
atividade. Portanto, será necessário explanar alguns conceitos para se entender o
caráter econômico-financeiro de crédito e, por via de conseqüência compreender a
natureza jurídica do contrato utilizando operações de crédito, cujo é definido por
Ortolani, [2000] apud Martins [1988, p. 76] como “o acordo de duas ou mais pessoas
para, entre si, constituir, regular ou extinguir uma relação jurídica de natureza
patrimonial”.
“Os contratos, como os títulos de crédito, são instrumentos utilizados
para formalizar as operações de crédito, assim como instrumentos
próprios são utilizados para formalizar suas respectivas garantias”
[ORTOLANI, 2000, p. 44]

O Código Civil brasileiro cuida das várias espécies de contratos


utilizados no direito brasileiro. Entre eles, cuidaremos daqueles no que diz respeito
Do Empréstimo, em especial o MÚTUO, cujo qual é o contrato de coisas fungíveis e
o COMODATO, que se refere ao empréstimo gratuito de coisas não fungíveis, ou
seja, são fungíveis os móveis que podem, e não fungíveis os que não podem

14
substituir-se por outros da mesma espécie, qualidade e quantidade. [ORTOLANI,
2000].
Cortejando os conceitos de MÚTUO e COMODATO de acordo com
Ortolani, (2000, p. 45), temos:

“O comodato tem como objetivo coisas infungíveis, o mútuo tem


como objeto somente coisas fungíveis, entre elas, o dinheiro;
enquanto o comodato comporta a não existência de prazo, sendo
presumido o uso concedido da coisa pelo prazo necessário a sua
utilização, o mútuo e o prazo sem é contratado; no comodato o
comodatário é obrigado a conservar a coisa dada em comodato, o
mútuo, o mutuário está obrigado a restituir ao mutante o que dele
recebeu em coisas do mesmo gênero, qualidade e quantidade; o
comodatário não poderá jamais recobrar o comodante as despesas
feitas com o uso e gozo de coisa empresada, no mútuo o mutuante
poderá, mas só por cláusula expressa, fixar juros ao mútuo, cobrando-
os do mutuário”.

O termo empréstimo, podemos entender como sendo, de acordo com


Ortolani, [2000] apud Nunes, [1994, p. 381] como “operação de crédito pela qual
capitais oficiais ou privados, nacionais ou estrangeiros, são emprestados mediantes
cláusulas e condições quanto a sua aplicação, juros, prazo de vigência, épocas de
pagamento ou reembolso”. Portanto, Ortolani, [2000] destaca em linhas gerais, que
a estrutura básica de um contrato que representa a operação de crédito incluirá:
preâmbulo; o objeto; cláusulas negociais; forma de pagamento; representação da
dívida; garantias; mora e suas conseqüências; vencimento antecipado; fiscalização;
condições gerais; condições especiais; rito; foro e anexos.

2.1.2 – Contratos Futuros

Paralelamente ao desenvolvimento dos sistemas de garantias e das


Bolsas, o mercado desenvolvia outros produtos. Um deles foi o contrato futuro, que
tem como intuito auxiliar na solução do problema de risco do sistema. Desta forma,
este tipo de contrato trouxe várias vantagens no que diz respeito à negociação em
bolsa. [NETO, 1998]
De acordo com Neto, (1998) uma das vantagens principais dos
contratos futuros são a sua intercambialidade, ou seja, estes possuem uma
padronização capaz de anular direitos e deveres assumidos por uma compra de um
futuro para crescimento em determinada data, portanto, basta apenas vender um

15
contrato para a mesma date de vencimento. Desta forma, os direitos de um contrato
anularão os deveres do outro.

2.2 - MERCADO DE OPÇÕES

Desde 1979, no Brasil, o mercado de Opções foi implantado


inicialmente pela Bolsa de Valores de São Paulo - BOVESPA, com opções no que
diz respeito a compra coberta. Com o passar do tempo, mais tarde, permitiu-se o
lançamento de opções de compra a descoberto, e recentemente opções de venda.
[SANVICENTE; MELLAGI, 1996]

“O mercado de opções é o segmento em que são negociados direitos


de compra e venda ou de veda de um lote de ações, com preços e
prazos de exercício preestabelecidos”. [BOVESPA, 2007, p. 4]

Segundo a BOVESPA, [2007, p. 4] “esses direitos – as opções –


podem ser utilizados para produzir o risco do investimento efetuado no mercado a
visa”.
De acordo com Sanvicente; Mellagi, [1996, p. 58] “no mercado de
opções, não existe negociações de ações, mas de direitos sobre elas”. Desta forma,
o presente autor ressalta que o termo opção refere-se ao direito de uma parte
comprar ou vender outra parte, estabelecendo assim, uma quantidade de ações a
um preço preestabelecido, ou até uma determinada data.
De acordo com a Bovespa, [2007] esses direitos, o titular de uma
opção de compra paga um prêmio, podendo exercê-los até a data e vencimento da
mesma ou revendê-los no mercado.
Sanvicente; Mellagi, [1996]; Bovespa, [2007] ressaltam que a compra
de opções apresenta-se como o mais simples dos diversos tipos de operação. É
portanto, um tipo de operação que envolve um grande potencial de retorno, mas
evidentemente, de alto risco. Já no que se refere a opção de venda o titular paga um
prêmio e pode exercer sua opção apenas na data do vencimento, ou pode revendê-
la no mercado durante o período de validade da opção.

2.3 - HEDGE, HEDGER E HEDGING

16
O hedge foi estabelecido pelo "The A. W. Jones Group", este sendo
fundado no dia 1º de janeiro de 1949. A partir da Segunda Guerra Mundial, os
Estados Unidos contribuíram com os países da Europa, e assim puderam aumentar
suas exportações e importações. Contudo, com a dependência do mercado externo,
houve a necessidade de se explorar de maneira segura as transações industriais e
internacionais, e logo tornou-se muito utilizado no mercado de derivativos, que se
expandiu muito desde os anos 60. [LENHARO, et al., 2000]

“O hedge é usado para gerenciar o risco proveniente de oscilação de


preços, taxas e índices. Um fundo de pensão, sabendo que irá
receber um aporte de recursos no início do mês, pode comprar
contratos futuros ou de opções de ações, garantindo hoje o preço dos
ativos que irá incorporar em sua carteira no fundo”. [NETO, 1998, p.
103]

Bastos, outro estudioso no assunto, ressalta que a finalidade do hedge


é de proteger alguém de eventuais perdas resultantes de aumento do valor de seus
bens. [BASTOS, 1990 apud LENHARES, et al., 2000]
O termo hedger, como esclarece a própria literatura, é dado a pessoa
ou empresa que realiza operações de proteção, ou eliminação do risco, ou seja, o
hedger abre a mão de possíveis ganhos futuros para não incorrer em perdas futuras
(aquele que usufrui do hedging). [NETO, 1998, LENHARES, et al., 2000]

“Quando uma pessoa ou empresa se utiliza do mercado para se


proteger de eventuais mudanças no preço de um produto, ou para
negociar o bem, é chamado de hedger. Podemos defini-lo como
detentor de contratos a termo ou a futuro. Faz isso para se garantir de
quaisquer oscilações no preço do ativo projeto do contrato. Sua
atividade econômica principal está diretamente relacionada com a
produção ou o consumo da mercadoria”. [NETO, 1998, p. 28]

De acordo com Lenhares, et al., [2000] através de suas análises,


esclarece que o hedger transfere o risco para os agentes financeiros que obtêm
lucros ou prejuízos tentando prever as tendências do mercado.
Em Finanças, uma estratégia de "hedging" consiste em realizar um
determinado investimento com o objetivo específico de reduzir ou eliminar o risco de
outro investimento ou transação, estoque ou até mesmo outra operação, ou seja, o
hedge é uma operação que reduz o risco de uma posição, entendendo com sendo
uma possibilidade de perda de dinheiro dada a uma operação em taxas, índices ou

17
preços. Desta forma, um hedge perfeito, é aquele que elimina completamente o
risco, que na prática é raro. [HULL, 1996 apud NETO, 1998; WIKIPEDIA, 2007]

“A estratégia de "hedging" pode ser concebida de forma a limitar


apenas parcialmente o risco cambial ou, através da utilização de
opções, dando ao investidor a hipótese de ganhar no caso de a
flutuação ser a seu favor”. [WIKIPEDIA, 2007]

Portanto, de acordo com o autor, este apresenta um exemplo cujo caso


é se uma empresa se comprar hoje num mercado de futuros, e esta tem de pagar
uma fatura em moeda estrangeira no prazo de 60 dias, um montante dessa moeda
equivalente ao valor da fatura, sendo assim, consegue isolar-se do risco de
ocorrerem alterações da taxa de câmbio que tornem a transação mais cara na sua
moeda.
Uma das principais diferenças entre os fundos de hedge e os fundos
mútuos é que os primeiros não são obrigados a divulgar publicamente o montante
disponível em carteira. Portanto, é praticamente impossível saber em que momento
constituiriam ameaça aos mercados e em que momento poderiam minimizá-la.
Muitos fundos de hedge trabalham com derivativos complexos, criados
sob medida para sua clientela, os quais não são negociados com freqüência e se
mantêm distantes das bolsas. Trata-se de um segmento obscuro não apenas para
quem está de fora, já que nem mesmo os fundos sabem muito bem como avaliar os
instrumentos à sua disposição.

2.4 - MERCADO DE DERIVATIVOS

2.4.1 - O Mercado e as transformações mundiais

O sistema mundial de câmbio a partir do início da década de 70 foi


marcado por grandes mudanças no que diz respeito ao contexto internacional,
tornando-se mais livre, ocasionando assim mudanças de forte caráter nas paridades
das moedas. Desta forma, como conseqüência, houve fortes oscilações no que diz
respeito a taxas de juros, aumentando assim o risco para os investidores e para as
políticas econômicas dos países. [NETO, 1998]

18
“O mercado financeiro, principalmente os bancos, passaram
também por um período de fortes mudanças. As taxas de juros
tornavam-se muito mais voláteis (nervosas ou desestabilizadoras.
Podia-se notar em um mesmo continente países com taxa de juros
reais negativas e outros com taxas muito altas. O capital adquiriu
mobilidade incrível, perdendo a pátria”. [NETO, 1998, p. 12]

Conforme Neto, [1998] na década de 70 e 80, ocorreram duas crises


do petróleo, obrigando os governos e as empresas a repensarem em novas
estratégias em relação a mercados e produtos. Desta forma, através destas fortes
oscilações no preço da energia, chamou-se a atenção de que cada vez mais
estamos expostos a riscos inesperados.
A comunicação, através do desenvolvimento da tecnologia, fez com
que o mundo se tornasse um lugar menor, possibilitando um movimento
extremamente rápido no desenvolvimento, não se tornando diferente no que diz
respeito a informática, que juntamente com a comunicação, fez com que a
informação se torna-se cada vez mais veloz e eficiente, estabelecendo assim, de
forma definitiva a consolidação da globalização. [NETO, 1998]
O Brasil foi um dos beneficiários desse movimento, apresentando-se
um crescimento recorde. Desta forma, em resposta dessas mudanças, ocorreu uma
melhor conquista no mercado, mas também um abalo em sua segurança, não sendo
diferente nos demais países, ou seja, empresário viu-se obrigado a se tornar mais
competitivo e eficiente, gerando uma concorrência mundial mais acirrada.
[NETO,1998]

2.4.2 - O mercado de derivativos

Na década de 70, ocorreu uma reorganização no meio ambiente


internacional, que dura até os dias de hoje, indústrias multinacionais e clientes de
banco, começaram a demandar formas mais precisas e eficientes de financiamentos
e, proteções de investimentos, caso ocorra alterações nas paridades das moedas.
(NETO, 1998). Neste contexto, o presente autor ressalta a respeito do mundo
financeiro, que:

“tornou-se um campo propício para novos produtos e soluções. O


capital passou a fluir de forma rápida e eficiente, procurando o melhor
retorno e o menor risco”. [NETO, 1998, p. 17]

19
Segundo Neto, (1998) derivativo é um contrato definido entre duas
partes no qual se definem pagamentos futuros baseados no comportamento dos
preços de um ativo de mercado, ou seja, podemos dizer que os derivativos são
contratos firmados entre partes, com o objetivo de trocar o valo, e somente o valor,
de ativos, índices ou até mesmo commodities (agrícolas, minerais, dentre outros).
Portanto, em resumo, podemos dizer que um derivativo é um contrato, cujo valor
deriva de um outro ativo. O que se denomina de derivativos podem ser negociados
em uma série de mercados como: Mercado Futuro; Mercado a Termo; Mercado de
Opções.
Os mercados futuros e de opções são extremamente importantes no
mercado financeiro. Utilizados por hedgers, especuladores e arbitradores, sua
formação de preço deriva de mercadorias e de ativos financeiros. Foram
desenvolvidos para atender produtores e comerciantes expostos a riscos de preços,
nos períodos de escassez e superprodução do produto negociado, reduzindo o risco
de flutuação dos preços futuros da mercadoria. [NETO, 1998]
Segundo NETO, (1998) os derivativos foram criados como forma de
proteger os agentes econômicos contra os riscos das oscilações de preços. Entre os
derivativos mais populares encontram-se as opções e, sobre estas, existem diversos
modelos teóricos de precificação. Dentre estes modelos, um dos mais difundidos é o
Modelo de Fischer Black e Myron Scholes. [NETO, 1998, WIKIPEDIA, 2007].

2.4.3 – Modelo de Fischer Black & Myron Scholes

Sanvicente; Mellagi, [1996]; Neto, [1998] esclarecem que Fischer Black


& Myron Scholes em 1973, através de suas análises, propuseram um trabalho
acadêmico que propunha uma fórmula para o cálculo teórico do valor teórico de uma
opção de compra do tipo europeu, tornando-se o trabalho mais importante para o
desenvolvimento do mercado de opções, ficando conhecido como modelo de Black
& Scholes (B&S) cujo o qual desenvolveram uma fórmula, que é a seguinte:

c = SN(d1) – Xe-RFTN(d2)

20
onde c = valor da compra, e d1 e d2 são duas variáveis com distribuição
normal, com média zero e variância igual a um, sendo:

ln ( S / X ) + R F T
d1 = 12
+ 0,5 DP ( S )T 1 / 2
DP ( S )T

d2 = d1 - DP ( S )T 1/ 2

Sendo:
S = cotação da ação-objeto
X = preço em exercício
T = tempo restante até o final do prazo de vencimento
RF = taxa de juros de ativo sem risco
Var(S) = variância da taxa de retorno do ativo-objeto, ou volatilidade
e = base dos logaritmos naturais, isto é, e = 2,718

Além disso, o presente autor ressalta, que N(d1) e N(d2) são


probabilidades acumulativas até o valor de d1 ou d2, respectivamente, na distribuição
normal com média zero e variância igual a um.

2.5 – MÉDIA MÓVEL PONDERADA, MÉDIA MÓVEL EXPONENCIAL PONDERADA


E CRUZAMENTO DE MÉDIAS

As Médias Móveis apresentam-se o indicador mais antigo no arsenal


da Análise Técnica. Através de diversas análises e testes, entrou ou saiu de moda
diversas vezes; muitos autores explanaram e provaram serem as Médias Móveis o
mapa para a riqueza, ao passo que outros demonstraram inutilidade. Nos últimos
anos, através de diversas análises, autores têm se concentrado em refinamentos de
seus métodos de cálculo ou no número de períodos ideal para cada ativo.

2.5.1 – Média Móvel Ponderada

Uma média ponderada é qualquer média que tem seus fatores


multiplicados por pesos diferentes para pontos de dados diferentes. Mas em análise
técnica, uma média móvel ponderada (Weighted Moving Average – WMA) tem um

21
significado específico para os pesos que decrescem aritmeticamente. Em um WMA
de n-dias o último dia tem peso n, o segundo tem n-1, etc, até zero.

Quando calculando o WMA em sucessivos valores, pode ser notada a


diferença entre os numeradores de WMAM + 1 e WMAM é
. Se denotarmos a soma por
TotalM, então
TotalM + 1 = TotalM + pM + 1 − pM − n + 1
NumeratorM + 1 = NumeratorM + npM + 1 − TotalM

O denominador é um número triangular, e pode ser facilmente

computado como

O gráfico abaixo mostra como os pesos decaem (decrescem), do maior


peso do dia mais recente até zero. Ele pode ser comparado com os pesos da média
móvel exponencial que será visto posteriormente.

WMA para n=15


Figura 1 – Exemplo WMA

22
2.5.2 - Média Móvel Exponencial Ponderada

Uma média móvel exponencial ponderada (Exponential Weighted


Moving Average - EWMA) aplica fatores ponderantes (pesos) que decrescem
exponencialmente. Os pesos para cada dia decrescem exponencialmente, dando
muito mais importância às observações recentes, não descartando ainda
observações mais antigas inteiramente. O grau que os pesos decrescem é
expressado como uma constante α conhecido como fator de suavização (smoothing
factor), que é um número entre 0 e 1. α pode ser expresso como um percentual, logo
um fator de suavização de 10% equivale a α=0.1. Alternativamente, α pode ser
expresso em termos de N períodos de tempo, onde

Por exemplo, N=19 é equivalente a α=0.1

A observação no período t é designada Yt, e o valor do EWMA em


qualquer período t é designado St. S1 é indefinido. S2 pode ser inicializado de várias
formas diferentes, a mais comum é setar S2 como sendo Y1. Embora outras técnicas
existam, setar S2 como uma médias das primeiras 4 ou 5 observações é bastante
utilizada. A importância do efeito da inicialização de S2 na média móvel resultante
depende de α; valores pequenos de α, tornam a escolha de S2 relativamente mais
importante que para valores maiores, já que valores maiores de α descontam as
observações mais antigas mais rapidamente.
A fórmula para calcular o EWMA num período t ≥ 2 é

Esta fórmula está de acordo com Hunter [1986]; uma abordagem


alternativa por Roberts [1959] usa Yt no lugar de Yt-1.
Esta fórmula pode também ser expressa em termos de análise técnica
como se segue, mostrando como o EWMA calcula o último preço, mas somente por
uma proporção de diferença (a cada tempo).

23
Expandindo EMAt-1 cada resultado no tempo na seguinte série
ponderada, mostrando como o fator de ponderação em cada preço p1,p2,etc,
decresce exponencialmente.

Em teoria isto é uma soma infinita, mas dado que 1-α é menor que 1,
os termos vão se tornando menores, e podem ser ignorados quando pequenos o
suficiente (quando o termo 1-α está bem próximo de zero).
Os N períodos em um EMA de N-dias somente especifica o fator α. N
não é um ponto de parada para o cálculo. Os primeiros N pontos de dados em um
EMA representa aproximadamente 86% do peso total no cálculo.
A fórmula de potência acima fornece um valor de partida para um dia
particular, após o qual a fórmula para dias sucessivos mostrados primeiramente
podem ser aplicados.
A questão de quão longe ir para um valor inicial depende, no pior caso,
dos dados. Se há P valores grandes nos dados anteriores então eles terão um efeito
no evento total se seus pesos são pequenos. Se for assumido valores que não
variam muito então os pesos podem ser considerados. Os pesos omitidos por parar

pós k termos é , que é

, isto é uma fração . Do peso


total.
Por exemplo, para ter 99,9% de peso,

Termos devem ser utilizados. Já que aproxima

quando N aumenta, isto simplifica para aproximadamente


para este exemplo (99,9% para este exemplo).

24
2.5.3. Cruzamento de Médias

O cruzamento de Médias Móveis utiliza duas médias (uma de longo e


outra de curto prazo) para criar regras de compra e de Venda:
• "Compre quando a média de curto cruzar a média de longo de baixo para
cima”.
• “Venda quando a média de curto cruzar média de longo prazo de cima para
baixo”. [MALHEIROS, 2006]
Neste caso, chama-se de média curta a que apresenta uma consideração de
períodos (n1) menor que o número de períodos da média longa (n2). Assim sendo,
n2 costuma ser bem maior do que n1, em geral, pelo menos de duas a três vezes
maior.
O cruzamento de médias é um indicador utilizado para se ter uma boa
indicação da mudança de tendência em relação ao cruzamento simples de uma
média com o gráfico dos preços. Assim, quando a média rápida cruza a média lenta
de baixo para cima é um sinal de compra e vice-versa é um sinal de venda
[NOBRE, 2006].

25
Capítulo 3

3. Metodologia

O protótipo de sistema proposto requereu conhecimentos tanto na área


econômica (já descritos no referencial teórico) quanto na área de programação de
software avançados. Foram usados em conjunto com técnicas matemáticas, API´s
java (Application Program Interface). Para manipulação de arquivos Excel (Java
Excel - JExcelApi) quanto também para manipulação de gráficos (jFreeChart) e para
a documentação, UML - (Unified Modeling Language).
O protótipo de software (com base em gráficos gerados) irá auxiliar
economistas, operadores de hedge dentre outros, numa melhor tomada de decisão,
quanto a vendas e/ou compras de ações no mercado de derivativos. O objetivo do
protótipo de software não se destina a tomada de decisões, e irá atuar somente
como suporte, uma ferramenta de auxilio. A seguir será feita uma breve abordagem
sobre os componentes que foram usados neste trabalho acadêmico.

3.1. A linguagem de programação Java

Java é uma linguagem de programação orientada a objeto


desenvolvida na década de 90 pelo programador James Gosling, na empresa Sun
Microsystems. Diferentemente das linguagens convencionais, que são compiladas
para código nativo, a linguagem Java é compilada para um "bytecode" que é
executado por uma máquina virtual. A linguagem de programação Java é a

26
linguagem convencional da Plataforma Java, mas não sua única linguagem [Java e
outros, online].

3.1.1 Principais Características da Linguagem Java

A linguagem Java foi projetada tendo em vista os seguintes objetivos:

• Orientação a objeto - Baseado no modelo de Smalltalk e Simula67;


• Portabilidade - Independência de plataforma - "write once run anywhere";
• Recursos de Rede - Possui extensa biblioteca de rotinas que facilitam a
cooperação com protocolos TCP/IP, como HTTP e FTP;
• Segurança - Pode executar programas via rede com restrições de execução;

Além disso, podem-se destacar outras vantagens apresentadas pela


linguagem:

• Sintaxe similar a Linguagem C/C++.


• Facilidades de Internacionalização - Suporta nativamente caracteres Unicode;
• Simplicidade na especificação, tanto da linguagem como do "ambiente" de
execução (JVM)
• É distribuída com um vasto conjunto de bibliotecas (ou APIs);
• Possui facilidades para criação de programas distribuídos e multitarefa
(múltiplas linhas de execução num mesmo programa);
• Desalocação de memória automática por processo de coletor de lixo (garbage
collector);
• Carga Dinâmica de Código - Programas em Java são formados por uma
coleção de classes armazenadas independentemente e que podem ser
carregadas no momento de utilização [Java e outros, online].

3.1.2 Máquina Virtual Java


Programas Java não são traduzidos para a linguagem de máquina
como outras linguagens estaticamente compiladas e sim para uma representação
intermediária, chamada de bytecodes. Os bytecodes são interpretados pela máquina
virtual Java (JVM). Muitas pessoas acreditam que por causa desse processo, o
código interpretado Java tem baixo desempenho. Durante muito tempo esta foi uma

27
afirmação verdadeira. Porém novos avanços têm tornado o compilador dinâmico (a
JVM) em muitos casos, mais eficiente que o compilador estático. [Java e outros,
online].
Java hoje já possui um desempenho próximo do C++. Isto é possível
graças a otimizações como a compilação especulativa, que aproveita o tempo
ocioso do processador para pré-compilar bytecode para código nativo. Outros
mecanismos ainda mais elaborados como o HotSpot da Sun, que guarda
informações disponíveis somente em tempo de execução (ex.: número de usuários,
processamento usado, memória disponível), para otimizar o funcionamento da JVM,
possibilitando que a JVM vá "aprendendo" e melhorando seu desempenho. Isto é
uma realidade tão presente que hoje é fácil encontrar programas corporativos e de
missão crítica usando tecnologia Java. No Brasil, por exemplo, a maioria dos Bancos
utiliza a tecnologia Java para construir seus home banks, que são acessados por
milhares de usuários diariamente. Grandes sítios como o eBay utilizam Java para
garantir alto desempenho. E a cada ano Java tem se tornado mais rápido, na
medida que se evolui o compilador dinâmico.
Essa implementação no entanto tem algumas intrínsecas. A pré-
compilação exige tempo, o que faz com que programas Java demorem um tempo
significativamente maior para começarem a funcionar. Soma-se a isso o tempo de
carregamento da máquina virtual. Isso não é um grande problema para programas
que rodam em servidores e que deveriam ser inicializados apenas uma vez. No
entanto isso pode ser bastante indesejável para computadores pessoais onde o
usuário deseja que o programa rode logo depois de abri-lo.
O Java ainda possui uma outra desvantagem considerável em
programas que usam bastante processamento numérico. O padrão Java tem uma
especificação rígida de como devem funcionar os tipos numéricos. Essa
especificação não condiz com a implementação de pontos flutuantes na maioria dos
processadores o que faz com que o Java seja significativamente mais lento para
estas aplicações quando comparado a outras linguagens.
Os bytecodes produzidos pelos compiladores Java podem ser usados
num processo de engenharia reversa para a recuperação do programa-fonte
original. Esta é uma característica que atinge em menor grau todas as linguagens
compiladas. No entanto já existem hoje tecnologias que "embaralham" e até mesmo

28
criptografam os bytecodes praticamente impedindo a engenharia reversa [Java e
outros, online].
3.2 API - Application Program Interface

È um conjunto de convenções internacionais que definem como se


deve invocar determinada função de um programa desde uma aplicação. Quanto se
tenta padronizar uma plataforma, se estipulam API´s comuns, a qual todos os
colaboradores devem ser ajustar [ APIs, online].

3.2.1 A API JfreeChart

JFreeChart é uma biblioteca livre (GNU-GPL) 100% Java de gráficos


que torna fácil para desenvolvedores exibir gráficos de qualidade profissional em
suas aplicações. Ele possui suporte a uma grande variedade de tipos de gráficos e
vários formatos de saída, incluindo componentes Swing, arquivos de imagem (PNG,
JPEG), e gráficos vetoriais (PDF, EPS, SVG). JFreeChart provê uma API
consistente e bem documentada com projeto extensível, objetivando tanto
aplicações server-side quanto clientes e desktop. [JfreeChart e outros, online]

3.2.2 A API JExcelApi

Java Excel API - JExcelApi – é um Java API (GNU-GPL) para ler,


escrever, e modificar planilhas do Excel. Todo o sistema funcionara em uma
máquina virtual Java (JVM) e podendo assim processar uma planilha do Excel
conforme as características abaixo:

Algumas Características da API:

• Lê dados de planilhas Excel 95, 97, 2000, XP, e 2003;


• Lê e escreve fórmulas (Excel 97 e posterior );
• Suporta formatação de data, fonte, e números e outros;
• Suporta formação de células, cor, bordas e etc.;
• Modifica planilhas já existentes;
• Suporta a copia de gráficos em planilhas;
• Suporta a inserção e copia de imagens em planilhas;

29
Instalação:

No uso em uma ferramenta case (Netbeans, Eclipse) é necessário


adicionar a API na paleta de bibliotecas do projeto [JexcelApi, online].

3.3 Netbeans 5.5

A idéia do Netbeans se orginou em meados dos anos 90 com dois


estudantes de Praga, na República Checa. Eles iniciaram o desenvolvimento do IDE
(Integrated Development Enviroment) Xelfi, que pretendia ter funcionalidades
semelhantes aos IDE´s Deplhi, só que desenvolvido totalmente em Java. O nome
Netbeans vinha da integração que a ferramenta deveria ter para os então modernos
componentes Java Beans.
A ligação da Sun Microsystems, Inc com o Netbeans começou em
1999, quando a empresa desistiu de sua IDE Java Workshop, e procurou por novas
iniciativas. O Netbeans foi adquirido e teve seu nome, durante alguns meses,
mudado para Forte for Java. Em 2000, a Sun anunciava que o Netbeans seria uma
plataforma OpenSource.
Voltando a parte técnica, esse IDE apresenta uma tradicional interface
com o desenvolvedor, com uso de menus, barras de ferramentas e outros
componentes de interface, além de editores para aplicações visuais ou WEB / J2EE,
com suporte a XML. Sempre lembrando, que devido a sua natureza 100% Java, é
um IDE multi-plataforma.

Observando mais diretamente as qualidades do Netbeans, podemos


citar:

• Suporte a linguagens Java, C, C++;


• Depurador de Servlets;
• Web Services;
• Suporte ao framework ANT e servidor TOMCAT;
• Monitor para Monitoramento de aplicações WEB;

30
Para desenvolver usando o NetBeans é necessário ter instalado,
anteriormente em sua máquina, uma das versões do JDK (Java Development Kit)
[Netbeans 5.5, online].

3.4 UML

A UML é uma linguagem de modelagem não proprietária de terceira


geração. A UML não é uma metodologia de desenvolvimento, o que significa que ela
não diz para você o que fazer primeiro e em seguida ou como projetar seu sistema,
mas ela lhe auxilia a visualizar seu desenho e a comunicação entre objetos.

Basicamente, a UML permite que desenvolvedores visualizem os


produtos de seu trabalho em diagramas padronizados. Junto com uma notação
gráfica, a UML também especifica significados, isto é, semântica. É uma notação
independente de processos, embora o RUP (Rational Unified Process) tenha sido
especificamente desenvolvido utilizando a UML.

É importante distinguir entre um modelo UML e um diagrama (ou


conjunto de diagramas) de UML - o último é uma representação gráfica da
informação do primeiro, mas o primeiro pode existir independentemente [UML e
outros, online].

31
Capítulo 4

4. Apresentação do protótipo de software

Na implementação do protótipo, foi usado o sistema de abas para uma


melhor vizualição das janelas e melhor uso. Junto com as abas existe um sistema de
menus suspensos, muito tradicional em qualquer software conhecido. O software
precisa de dados para alimentar o protótipo de software, para padroniza os dados,
usamos como base o sistema de recuperação de arquivos da BM&F. O primeiro
passo para fazer o calculo das médias móveis e EWMA é preciso selecionar o
arquivo de entrada de dados, a interface da figura 4.1 mostra como se pode fazer
isso:

32
Figura 4.1 – Interface de seleção de arquivo para entrada de dados.

A interface é bem intuitiva, induz o usuário a usar o protótipo de melhor


forma possível. Essa é a primeira etapa para que o protótipo faça os cálculos e
retorne o resultado esperado (Gráfico).
A próxima interface é a de configuração do parâmetro lambida. Esse
parâmetro é imprescindível no calculo de EWMA. O valor a ser digitado pelo usuário,
ficará gravado em um arquivo, de nome “lambida.txt”, onde o mesmo pode ser
atualizado a qualquer momento pelo usuário. A interface exposta na Figura 4.2 exibe
como é feito:

33
Figura 4.2 – Interface de inserção e atualização do parâmetro lambida.

O sistema retornará uma mensagem de erro, caso o usuário clique em


“Gravar” sem ter digitado algum valor. Ao digitar o valor e clicar em gravar o sistema
retornará uma mensagem de sucesso com o valor a ser gravado no arquivo
“lambida.txt”. A interface mostra observações sobre o parâmetro, como exemplo,
que o mesmo deve ser um valor entre 0 e 1 e que o usuário deverá digitar (.) ponto
ao invez de (,) virgula. Um dado importante dessa mesma interface é que o usuário
não precisará criar o arquivo “lambida.txt”, pois o mesmo é criado assim que o
protótipo é iniciado e com um valor default de 0.94.
A interface 4.3 é a mais importante de todo o protótipo, ela agrega
funções tais como: Entrada de parâmetros para calculo das médias, e os botões
calcular e desenha gráfico. A interface também mostra qual é o parâmetro de
lambida vigente, sendo que o mesmo pode ser alterado na interface de
configurações. Abaixo segue a interface para melhor entender o funcionamento:

34
Figura 4.3 – Interface de médias móveis, com seus parâmetros.

Como já dito o que vemos primeiro é o valor de lambida vigente, o


sistema lê o dado a partir do arquivo “lambida.txt”. O segundo campo mostra a data
inicial dos dados, essa data esta contida na planilha do Excel padronizada pela
BM&F. O terceiro e quartos campos são os parâmetros da janela de tempo, que são
usados nas médias móveis. Na seqüência, vemos os botões “Plotar Gráfico” e
“Calcular”, logo depois de digitados os parâmetros pedidos, o usuário clicará no
botão “Calcular” e o sistema retorna duas mensagens de sucesso, um para a média
curta e outro para a média longa. Se o usuário clicar no botão “Plotar Gráfico” sem
antes ter digitado os parâmetros exigidos e também clicar no botão “Calcular”, o
sistema retornara uma mensagem de erro, informando que o usuário precisa antes
calcular as médias. O sistema também valida os dados, verificando se os campos
não estão vazios quando o usuário clica no botão “Calcular”. A Figura 4.4 mostra um
exemplo de planilha do Excel com as datas realçadas para melhor entendimento do
parâmetro “data inicial dos dados”:

35
Figura 4.4 – Exemplo de data inicial dos dados da planilha do Excel

A interface da Figura 4.5 mostra uma ajuda para o usuário entender


melhor o que é o EWMA, o que são as médias móveis como funciona o mercado de
ações, para que serve a janela de dados dentre outros:

Figura 4.5 – Interface de ajuda ao usuário com dicas importantes.


A interface apresentada na Figura 4.6, mostra sobre o protótipo de
software desenvolvido neste trabalho:

36
Figura 4.6 – Sobre o protótipo de software.

Neste capitulo foram apresentados todas as funcionalidades do


protótipo de software, bem como todos seus parâmetros de entrada de dados e
importação da planilha do Excel para o calculo. No capitulo seguinte, vamos ver os
testes que foram feitos no protótipo de software bem como os resultados e validação
dos dados.

37
Capítulo 5

5. Avaliação do protótipo de software e Resultados

O protótipo de software, antes de sua concepção, foi feitos testes em


uma planilha do Excel para comparação. Os dados gerados pelo protótipo de
software foram confrontados com dados reais obtidos em uma planilha do Excel, o
que valida o algoritmo. Diversos problemas, tais como conversão de valores inteiros
para ponto flutuante, leitura do arquivo Excel, calculo das médias e EWMA, geração
do gráfico dentre outros, todos solucionados com o passar do tempo. Porém logo
após tudo isso, o protótipo se mostrou confiável, pois o mesmo gerou os resultados
esperados, a seguir na seção 5.1, segue alguns gráficos que provam isso:

5.1 Média Móvel Curta

A média curta é calculada a partir da entrada de dados, data inicial dos


dados e janela de tempo para a média curta. Como já dito, foram feitos testes em
planilhas do Excel para validação dos dados gerados pelo protótipo de software, a
Figura 5.1 mostra o gráfico gerado pelo protótipo de software a partir da planilha e
seus dados equivalentes na planilha:

38
Figura 5.1 – Resultados do calculo da Média Curta

5.2 Média Móvel Longa

A média longa assim como a média curta, necessitam de parâmetros


de entrada assim como a média curta. A média curta e longa foi calculada com data
inicial de dados: 20/10/95, janelas de tempo de 5 para média curta e 10 para média
longa. A seguir, na Figura 5.2 apresenta o gráfico da media longa.

Figura 5.3 - Resultados do calculo da Média Longa

39
Para uma analise melhor de todos os dados, foram juntos os gráficos
das médias curta, longa e EWMA. A Figura 5.4 apresenta o gráfico com a junção de
todos os dados.

Figura 5.4 - Resultados do cálculo da Média Curta, Longa e EWMA

A seguir, na Figura 5.5 os dados da planilha que valida os dados dos


gráficos.

Figura 5.5 – Dados gerados pela planilha do Excel.


O capitulo a seguir, mostrará toda a referência bibliográfica usada no projeto.

40
Capítulo 6

6. Conclusão

Concluímos que o referencial teórico deu uma boa base para se


produzir um bom trabalho. Os testes e resultados foram satisfatórios, visto que
apresentaram dados que foram validados no desenvolvimento do protótipo de
software.
A técnica matemática EWMA apresentou um bom resultado, visto já
dito nesse trabalho que para o projeto proposto se constatou como sendo a melhor
técnica.
O protótipo de software foi feito de forma dinâmica em sua entrada de
dados e parâmetros, isso dá uma flexibilidade ao usuário fazer melhor uso do
protótipo de software.
Para aprimoramentos futuros, seguiram sugestões para
implementação de novas técnicas matemáticas de análise de séries temporais bem
como também a flexibilização da entrada de dados para um padrão que não seja só
o da BM&F (Bolsa de Mercadorias e Futuros) e também implementar uma função
para a exportação e importação dos resultados.

41
Capítulo 7

7. Referencias Bibliográficas

[BOVESPA, online] Bolsa de Valores de São Paulo. Mercado de opções. Disponível em:
<http://www.bovespa.com.br>. Acessado em: 01/08/07.

[FINANCENTER, Conheça o mercado de câmbio. Disponível em:


online] <http://financenter.terra.com.br/Index.cfm/Fuseaction/Secao/Id_Secao/4>.
Acessado em: 07/08/07.

[LENHARO e outros, LENHARO, A. C.; LOURENÇO, D. P.; DUARTE, J. A.; RODRIGUES, M.


online] C.; TASQUETI, U. O contrato de Hedge-Hedging. Disponível em:
<http://jus2.uol.com.br/doutrina/texto.asp?id=2143. Acessado em: 15/07/07

[MALHEIROS e MALHEIROS, R. Trading Systems: Sistemas Mecânicos de Operação.


Disponível em:
outros, online]
<http://www.expomoney.com.br/sp/palestras/RIVADAVILAMALHEIROS-
CMA-TRADINGSYSTEMS-SISTEMASMECANICOSDEOPERACAO.pdf.>
Acessado em: 31/10/2006.

[NETO] NETO, L. A. S. Derivativos: definições, emprego e risco. São Paulo:


Atlas, 1998, 282 p.
[NOBRE, online] NOBRE, R. Análise de tendências e indicadores. Disponível em:
<http://www.desafioinvestshop.com.br/com/cht/transcricao.asp?url=chatlog_
321.htm>. Acessado em: 31/10/2006.

[ORTOLAN] ORTOLANI, E. M. Operações de crédito no mercado financeiro. São


Paulo: Atlas, 2000, 206 p.
[SANVICENTE] SANVICENTE, A. Z.; MELLAGI, F. A. Mercado de capitais e estratégias
de investimentos. São Paulo: Atlas, 1996, 157 p.

[WIKIPEDIA] WIKIPEDIA, A ENCICLOPÉDIA LIVRE. Hedge.


Disponível em: <http://pt.wikipedia.org/wiki/Hedge>. Acessado em:
31/10/2006.

[UML e outros, online] Ferramenta CASE para Delphi - Disponivel em:


<http://www.speedcase.com.br/>

Acessado em 14/07/2007.
[UML e outros, online] OMG/UML - Disponivel em: <http://www.uml.org/>

Acessado em : 24/08/2007
[UML e outros, online] StarUML Open Source UML/MDA - Disponível em:

42
<ttp://staruml.sourceforge.net/en/>

Acessado em: 30/08/2007


[UML e outros, online] UML Jokes - Disponível em: <http://www.umljokes.com/>

Acessado em: 10/09/2007


[UML e outros, online] Visual Paradigm for UML, UML CASE Tool - Disponível em:
<http://www.visual-paradigm.com/product/vpuml/index.jsp>

Acessado em: 20/11/2007


[UML e outros, online] Gilleanes T. A. Guedes, "UML - Uma Abordagem Prática". Novatec
Editora. ISBN 85-7522-052-7.
[Java e outros, online] Java Study Group - Disponível em: <http://www.open-
std.org/JTC1/SC22/JSG/ >

Acessado em: 20/09/2007


[Java e outros, online] Why Java™ Was - Not - Standardized Twice - Disponível em:
<http://csdl2.computer.org/comp/proceedings/hicss/2001/0981/05/09815015.
pdf>

Acessado em: 20/09/2007


[Java e outros, online] What is ECMA--and why Microsoft cares - Disponível em:
<http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2832719,00.
html>

Acessado em : 20/09/2007
[Java e outros, online] Sítio do Java Community Process - Disponível em:
<http://www.jcp.org/en/home/index>

Acessado em : 20/09/2007
[Java e outros, online] K. Reinholtz, Java will be faster than C++, ACM Sigplan Notices, 35(2):
25-28 Feb 2000
[Java e outros, online] Sun disponibilizada Java sob GPLv2 - Disónível em :
<http://www.sun.com/smi/Press/sunflash/2006-11/sunflash.20061113.1.xml>

Acessado em : 20/09/2007
[APIs, online] API’s – Disponível em : http://www.mastermagazine.info/termino/3868.php

Acessado em : 06/01/2008
[Netbeans 5.5, online] Netbenas 5.5 – Disponível em :
http://www.linhadecodigo.com.br/Artigo.aspx?id=805

Acessado em : 06/01/2008
[JExcelApi, online] JexcelApi – Disponível em : <http://jexcelapi.sourceforge.net/ >

Acessado em : 06/01/2008
[BM&F, online] BM&F – Bolsa de mercadorias e Futuros – Disponível em : <
http://www3.bmf.com.br/Datarestore1/Indexseries1.asp >

Acessado em ; 05/03/2007
{JfreeChart e outros, JfreeChart – Disponível em : < http://www.jfree.org/jfreechart/>
online]
Acessado em : 08/01/2008

43
.

Anexos
I – Documentação
II – Arquivo do Excel (Modelo da BM&F)

44
Anexo I

1 - Modelagem

1.1 Escopo do projeto:

O software de analise de mercado de ações e futuros é uma ferramenta que irá


auxiliar na tomada de decisão (compra e/ou venda) de ações e derivativos no
mercado de capitais, O software analisa os dados usando a técnica matemática
chamada EWMA – Exponentially Weighted Moving Average, que atribui pesos
diferentes aos dados demonstrados. O sistema é totalmente dinâmico, pois o
usuário poderá fazer simulações com janelas de tempo (médias móveis) e valores
de lambida diversos, ficando a critério do mesmo, usar o parâmetro que quiser. O
software também esta programado a fazer leitura de dados de qualquer arquivo do
Excel que estiver no padrão do arquivo do software de recuperação de informações
da BMF – Bolsa de mercadorias e Futuros [BM&F, online].

1.2 Identificação dos Atores e Tarefas

1.3 Atores

Economistas, Corretores de ações e pessoas interessadas em mercados de ações.

1.4 Tarefa

Economistas, Corretores de ações e pessoas interessadas em mercados de ações


irão alimentar o sistema com dados (valores) das ações e o sistema lhe fará o
calculo retornando um gráfico para análise.

1.5 Especificações dos Cenários

45
Cenário 1: Pesquisar arquivo
Contexto: Sou um usuário e quero passar planilha do Excel (arquivo) no
qual o sistema usará no calculo.
Objetivo: Passar para o sistema qual o arquivo será usado no calculo das
médias móveis, alimentando o sistema para o cálculo.
Ação: Clicar em pesquisar arquivo

Cenário 2: Parâmetro lambida


Contexto: Sou um usuário e quero passar o parâmetro lambida ao
sistema.
Objetivo: Passar o parâmetro lambida que será usado no calculo do
EWMA, alimentando o sistema para o cálculo
Ação: Digitar o valor de lambida

Cenário 3: Parâmetro de data inicial dos dados


Contexto: Sou um usuário e quero passar o parâmetro de data inicial dos
dados para o calculo.
Objetivo: Passa o parâmetro de data inicial na planilha do Excel (arquivo)
para as janelas de tempo que é usado no calculo das médias
móveis longa e curta alimentando o sistema para o cálculo.
Ação: Digitar a data inicial dos dados

Cenário 4: Parâmetros das janelas de tempo


Contexto: Sou um usuário e quero passar os parâmetros das janelas de
tempo ao sistema.
Objetivo: Passar parâmetros das janelas de tempo, que são usado para o
calculo das médias móveis longa e curta
Ação: Digitar os valores paras as janelas de tempo

Cenário 5: Calcular médias móveis e EWMA


Contexto: Sou um usuário e quero calcular as médias móveis longa e
curta e o EWMA.
Objetivo: Já passados todos os parâmetros ao sistema, o mesmo
calculará as médias móveis longa e curta e o EWMA
Ação: Clicar no botão “Calcular”

Cenário 6: Plotar gráfico


Contexto: Sou um usuário e quero plotar o gráfico das médias móveis
longa e curta e também do EWMA
Objetivo: Já feitos todos os cálculos das médias moveis longa e curta,
bem como também do EWMA, o sistema plota o gráfico.
Ação: Clicar no botão “Plotar Gráfico”

1.6 Especificação dos casos de uso

Use case: Pesquisar arquivo

46
Cenários: 1
Descrição: 1. O usuário clica em pesquisar arquivo.
2. O sistema abre uma janela de pesquisa de arquivos.
3. O sistema verifica se o arquivo é uma planilha do Excel, se não
for o sistema retorna um erro avisando ao usuário para selecionar
um arquivo do válido (planilha do Excel).
4. Se o arquivo for um arquivo válido (planilha do Excel) o sistema
retorna uma mensagem de sucesso no carregamento do arquivo.

Use case: Parâmetro lambida


Cenários: 2
Descrição: 1. O usuário digita o parâmetro lambida.
2. O usuário clica no botão “Gravar”
3. O sistema verifica se o usuário clicou em “Gravar” com o
campo vazio, se sim, retorna um erro de campo vazio.
4. O sistema faz a verificação do parâmetro, pois o mesmo deve
obrigatoriamente ser um valor entre 0 e 1.
5. Após as verificações, o sistema gravará o valor em um arquivo
chamado lambida.txt que fica no diretório raiz (c: \) e retornara
uma mensagem mostrando o valor gravado e uma mensagem de
sucesso.

Use case: Parâmetro de data inicial dos dados


Cenários: 3
Descrição: 1. O usuário digita a data inicial dos dados, uma data no formato:
dd/mm/aa.
2. O sistema faz uma verificação de campo vazio.
3. O sistema faz a verificação do formato da data se é valido
4. Se a data for inválida, retorna uma mensagem de data inválida
ao usuário logo após o caso de uso “Calcular médias móveis” for
acionado.
5. Se a data estiver correta o sistema não retorna nada e fica
aguardando o evento seguinte que é o caso de uso “Calcular
médias móveis”.

Use case: Parâmetros das janelas de tempo


Cenários: 4
Descrição: 1. O usuário digita os valores dos parâmetros das janelas de
tempo para média longa e média curta, os valores deverão ser
números inteiros.
2. O sistema faz a verificação dos valores, se são inteiros.
3. Se os valores não forem inteiros, o sistema retorna uma
mensagem de erro ao usuário logo após o caso de uso “Calcular
médias móveis” for acionado.
4. Se os parâmetros estiveram corretos o sistema não retorna
nada e fica aguardando o evento seguinte que é o caso de uso
“Calcular médias móveis”

47
Use case: Calcular médias móveis e EWMA
Cenários: 5
Descrição: 1. O usuário clica no botão “Calcular”.
2. O sistema já fez todas as verificações, conforme descritas nos
caso de uso anteriores.
3. O sistema retorna uma mensagem ao usuário dizendo que o
cálculo das médias móveis curta, longa e EWMA foram feitos com
sucesso.

Use case: Plotar gráfico


Cenários: 6
Descrição: 1. O usuário clica no botão “Plotar gráfico”.
2. O sistema faz a verificação se o usuário já fez o calculo das
médias móveis e EWMA.
3. Se o usuário clicou no botão “Plotar gráfico” sem ter feito o
calculo das medias móveis e EWMA, o sistema retorna uma
mensagem de erro ao usuario.
4. Se o usuário fez o calculo das médias móveis e EWMA, o
sistema lhe retornará um gráfico mostrando as médias móveis
curta, longa, EWMA e os dados originais da planilha do Excel
(arquivo) para comparações e analise.

1.7 Diagramas de caso de uso

Caso de Uso 1 : Pesquisar arquivo

48
Pré-condições: O arquivo da planilha do
Usuário
Excel (arquivo) já existe
Do sistema

Pesquisar
arquivo

“Arquivo inválido”

Caso de Uso 2 : Parâmetro lambida

Pré-condições: O arquivo lambida.txt


Usuário
(arquivo) já existe
Do sistema

Parâmetro
Lambida

“Valor inválido” “Campo vazio”

Caso de Uso 3 : Parâmetro de data inicial dos dados

49
Pré-condições: A data inicial dos dados já
Usuário
é conhecida e é válida na planilha do Excel
Do sistema (arquivo)

Parâmetro
data inicial

“Data inválida” “Campo vazio”

Caso de Uso 4 : Parâmetros das janelas de tempo

Usuário
Do sistema

Parâmetro
janela de
tempo

“Dados
“Campo vazio”
inválidos”

Caso de Uso 5 : Calcular médias móveis e EWMA

50
Usuário Pos-condições: As verificações dos casos
Do sistema de uso 1, 2, 3, 4 serão feitos agora

Calcular
médias
móveis e
EWMA

Caso de Uso 6 : Plotar gráfico

Usuário Pré-condições: O caso de uso 5 já deverá


Do sistema ter sido executado pelo sistema

Calcular
médias
móveis e
EWMA

“Calcule as Plotar
médias primeiro” gráfico

51
Anexo 2
Arquivo do Excel (Modelo da BM&F)

52

Potrebbero piacerti anche