© 2005, it - instituto de telecomunicações. Todos os direitos reservados.
Adriano Simões nº 53813Orientadores: Prof. Nuno Horta, Prof. Rui Neves
STOCKS: Computação Inteligente aplicada à Gestão de Acções
Dissertação – Mestrado em Engenharia Informática e de Computadores
2
Índice
STOCKS
01/07/09
• Introdução
• Estado da Arte
• Arquitectura e Implementação
• Métricas de Avaliação da Solução
• Conclusões e Calendarização
3
Problema
STOCKS
01/07/09
• Prever o comportamento de activos nos Mercado de Capitais.
• Acções, Índices, Moeda, Matérias-Primas.
• Conseguir obter lucros acima da Média.
• Decisões feitas de forma automática (pelo computador).
4
Um Pouco de História - 1720
STOCKS
01/07/09
• South Sea Company
• Esta companhia tinha o monopólio do comercio com a América do Sul (zona espanhola).
• A Bolha especulativa é visível:• 900% em meio-ano…
• O Crash também…
5
Prever o Mercado Capitais
STOCKS
01/07/09
• Análise Fundamental:
• Decisões devem ser baseadas no negócio da empresa:
• Concorrentes, estilo de Gestão, Área de Negocio, Taxas de Juro, Câmbio, estado da Economia.
• Análise Técnica:
• Decisões devem ser baseadas em: Preço e Volume. (Dados históricos).
• Com estes dados é possível capturar a evolução da oferta e da procura.
• Hipótese da Eficiência dos Mercados:
• É impossível obter rentabilidades acima da média do mercado (isto é, acima da estratégia “Buy and Hold”), porque os mercados são sistemas totalmente eficientes (o valor de um activo reflecte toda a informação conhecida).
6
Exemplo de Estratégias de Investimento
STOCKS
01/07/09
• MAC (Moving Average Crossing):
• Cruzamento de Duas Médias Moveis.
• Comprar quando Média Móvel de Curto Prazo, cruza para cima a de Longo Prazo, vender a descoberto caso contrário.
• MAD (Moving Average Derivate):
• Derivada (declive) de uma Média Móvel.
• Comprar quando derivada é positiva, vender a descoberto quando derivada é negativa.
n
t
c
t
Ptn
Ptc
ncMAC00
11),(
g
Pn
Pn
ngMAD
n
tgt
n
tt
00
11
),(
7
Périodo de Teste: Janeiro de 1990 a Dezembro 2008.
Rentabilidade:
Exemplo de Estratégias de Investimento
STOCKS
01/07/09
S&P 500 FTSE 100 DAX 30 NIKKEI 225 Rentabilidade Média
Buy and Hold 151 82 232 -77 97
MAC (50; 200) 306 8 260 118 173
MAD (50; 200) 538 112 725 91 367
8
Exemplo de Estratégias de Investimento 2
STOCKS
01/07/09
9
Estado da Arte
STOCKS
01/07/09
• Técnicas de soft-computing:• Redes Neuronais
• Algoritmos Genéticos / Computação Evolutiva
• Análise Qualitativa / Fundamental
• Outras (Segmentação, Clustering, Machine Learning, etc..)
• Mais Utilizadas e com Melhores Resultados:• Redes Neuronais
• Algoritmos Genéticos / Computação Evolutiva
10
Estado da Arte
STOCKS
01/07/09
HeurísticaAvaliação de Resultados
Dados UsadosActivos Usados
Período Rentabilidade
Redes NeuronaisComparação com Mercado
CotaçãoMadrid Stock Market
1991-1997 36% ao Ano
Bull-Flag + Algor. Genéticos + Redes Neuronais
Comparação com Mercado e T-Test
Cotação, Volume e Padrão Gráfico.
Índice: NYSEC
1981-1996 3.02% por Trade
Redes NeuronaisComparação com Mercado
Cotação e Volume + Análise Fundamental e Económica/ Politica
Índice: TOPIX (Japão)
1987-1990 25% ao Ano.
Algor. GenéticosComparação com Mercado
6 Indicadores Técnicos
Índice: TSEWSI (Taiwan)
1986-1996 40,52% ao Ano
Algor. GenéticosComparação com Mercado e Sharpe Ratio
9 Indicadores Técnicos
Acções do Egipto
2003-2005 100% ao Ano
Algor. GenéticosComparação com Mercado
1 Indicador: MACD (Optimizar parâmetros)
Índice: Dow Jones
2000-200550% da Rentabilidade Máxima
11
Estado da Arte - Aplicações
STOCKS
01/07/09
AplicaçãoHeurísticas Disponíveis
Criação de novos
Indicadores e Estratégias
Teste de Estratégias
Linhas de Sup. E Res. Automáticas
Ordens de Transacção
Criação Manual de Objectos
Gráficos
Saxo BankDetecção de
Padrões Gráficos
Não Não NãoMarket + Stop
linhas, texto e Indicadores
MetaStock ---
Sim, dispõe de uma
linguagem de programação
Sim NãoMarket + Stop
linhas, texto e Indicadores
Pro Real Time
---
Sim, dispõe de uma
linguagem de programação
Sim Sim Nãolinhas, texto e Indicadores
Trade Station ---
Sim, dispõe de uma
linguagem de programação
Sim NãoMarket +
Stoplinhas, texto e Indicadores
Optimal Trader
Redes Neuronais
Não Sim Não Nãolinhas, texto e Indicadores
12
Estado da Arte - Aplicações
STOCKS
01/07/09
Pro Real Time
13
Arquitectura
STOCKS
01/07/09
• Três Módulos Principais:
• Interface
• Interacção com o Utilizador.
• Dados Sobre as Empresas
• Download e Actualização de Dados. Calculo de Indicadores.
• Algoritmos de Optimização
• Exploração e Optimização de Estratégias de Investimento.
14
Algoritmos deOptimizaçãoDados das EmpresasArquitectura
STOCKS
01/07/09
• Três Módulos Principais:
• Interface
• Interacção com o Utilizador.
• Dados Sobre as Empresas
• Download e Actualização de Dados. Calculo de Indicadores.
• Algoritmos de Optimização
• Exploração e Optimização de Estratégias de Investimento.
Interface
15
Implementação
STOCKS
01/07/09
• Linguaguem Escolhida:
• “Object Oriented” + Performance
• C++
• Interface Gráfica:
• Preferência Interface Web (Pode ser utilizada em qualquer plataforma).
• Bom suporte para gráficos de acções.
• Flex (corre no Plugin do Adobe Flash)
16
Estado da Implementação - Interface
STOCKS
01/07/09
• Está implementada a interface através de ficheiros de configuração.
• Ex. de Ficheiro de Configuração:
#Este é o ficheiro de configuração do StockGragh
algoritmo=stocks
dirCotacoes=c:\cotacoes\emer-full\
debug=true
funcao=stocks
startDate=2003
endDate=2008
slidingwindow=1
17
Estado da Implementação – Dados das Empresas
STOCKS
01/07/09
• Está implementada o download e actualização de cotações para acções norte-americanas e todos os Indices (finance.yahoo.com).
Estão implementados inúmeros Indicadores Técnicos:
• Moving Average (Média Móvel), RSI (Relative Strength Index), MACD (Moving Average Convergence/Divergence), OBV (On Balance Volume), ROC (Rate of Change).
• Está por implementar o download e actualização de acções europeias (através do site da Euronext).
18
Estado da Implementação – Alg. Genéticos
STOCKS
01/07/09
Gerar População Inicial Aleatória Avaliar a População
Descartar Piores Indivíduos
Escolher Indivíduos para Cruzamento
Cruzamento
Mutação
Repetir até N execuções, ou
atingir condição de paragem
19
Estado da Implementação – Alg. Genéticos
STOCKS
01/07/09
• Estão implementadas as 3 operações básicas dos A.G.:
• Selecção, Cruzamento, Mutação.
• Técnica de Selecção:
• 50% piores indivíduos são descartados, os outros 50% são escolhidos para Cruzamento.
• Para escolher indivíduos para o Cruzamento é usada:
• “Roullete Wheel Selection”
20
Possível Cromossoma
STOCKS
01/07/09
Parâmetros a Optimizar
Nº DiasRSI
Nível Compra RSI
Nível Fecho RSI
N.º de Dias da Média Móvel
Diferença entre MM e Cotação Compra
Diferença entre MM e Cotação
Venda
Limites dos Parâmetros
0 a 50 0 a 50 50 a 100 2 a 150 0% a 20% 0% a 20%
21
Possível Cromossoma
Parâmetros a Optimizar
Nº DiasRSI
NívelCompra RSI
Nível Fecho RSI
N.º de Dias da Média Móvel
Diferença entre MM e Cotação
Compra
Diferença entre MM e Cotação
Venda
Limites dos Parâmetros
0 a 50 0 a 50 50 a 100 2 a 150 0% a 20% 0% a 20%
22
Operações:
STOCKS
01/07/09
Pai 28 45 60 10 12,10 3,09
Cruzamento:
Mãe 14 30 70 20 4 2
Pai 28 45 60 10 12,10 3,09
Filho 2 14 30 70 20 12,10 3,09
Mãe 14 30 70 20
Filho 1
Filho 2
Filho 1 28 45 60 10
4 2
4 2
Mutação:
Filho 2 14 30 70 20 12,10 3,097
Parâmetros a Optimizar
Nº DiasRSI
NívelCompra RSI
Nível Fecho RSI
N.º de Dias da Média Móvel
Diferença entre MM e Cotação
Compra
Diferença entre MM e Cotação
Venda
Limites dos Parâmetros
0 a 50 0 a 50 50 a 100 2 a 150 0% a 20% 0% a 20%
23
Métricas de Avaliação
STOCKS
01/07/09
• Return of Investment (ROI)
• Retorno Anual
• Sharpe Ratio
• Cálculo:
• Rácio de Retorno vs Risco.
• Sortino Ratio:
• Similar a Sharpe Ratio
• Desvio Padrão só considera Rentabilidades Negativas
• Outras:
• % de Negócios Certos, Baixo Valor de Perdas, Máximo “Drawdown”.
SR = Rentabilidade da Estratégia – R0
Desvio Padrão Estratégia
24
Conclusões
STOCKS
01/07/09
• Soluções Encontradas:
• Obtenção de dados: yahoo e euronext.
• Técnica de Optimização: Algoritmos Genéticos.
• São os que apresentam melhores resultados.
• Interface: Flex.
• Arquitectura Modular.
• Requisitos da Aplicação podem sofrer alterações.
• Podem ser experimentadas diversas Técnicas de Optimização.
25
Calendarização
01/07/09
1º Semestre:
• Leitura de Publicações / Livros Técnicos
• Indicadores Técnicos
• Desenho Arquitectura.
• Módulo de Empresas (Obtenção de Dados)
• Interface Texto
• Algoritmos Genéticos
• Escrita do Relatório
2º Semestre:
• Implementação Novos Indicadores
• Exploração de Diversos Cromossomas
• Modificações ao Algoritmo Genético
• Testes
• Escrita do Relatório
26
Questões
STOCKS
01/07/09
?