PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO
ANDERSON NASCIMENTO MIRANDA
SimCombEn: Combinando Predições para
Séries Financeiras Similares a fim de Prever
a Direção do Movimento dos Preços de
Ações
Dissertação apresentada como requisito parcial para a obtenção do grau de Mestre em Ciência da Computação
Orientador: Profa. Dra. Ana L. C. Bazzan Co-orientador: Prof. Dr. Bruno C. da Silva
Porto Alegre 2018
Miranda, Anderson Nascimento
SimCombEn: Combinando Predições para Séries Financei-ras Similares a fim de Prever a Direção do Movimento dos Pre-ços de Ações / Anderson Nascimento Miranda. – Porto Alegre: PPGC da UFRGS, 2018.
118 f.: il.
Dissertação (mestrado) – Universidade Federal do Rio Grande do Sul. Programa de Pós-Graduação em Computação, Porto Ale-gre, BR–RS, 2018. Orientador: Ana L. C. Bazzan; Co-orientador: Bruno C. da Silva.
1. Aprendizado de máquina. 2. Métodos de ensemble. 3. Co-mitês de especialistas. 4. Mercado de ações. I. Bazzan, Ana L. C.. II. Silva, Bruno C. da. III. Título.
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Reitor: Prof. Rui Vicente Oppermann
Vice-Reitora: Profa. Jane Fraga Tutikian
Pró-Reitor de Pós-Graduação: Prof. Celso Giannetti Loureiro Chaves Diretora do Instituto de Informática: Profa. Carla Maria Dal Sasso Freitas Coordenador do PPGC: Prof. João Luiz Dihl Comba
só a imaginação é mais importante que o conhecimento.” — ALBERTEINSTEIN
Primeiramente, agradeço a Deus pela oportunidade de estar aqui.
Agradeço à minha esposa, mãe de meus filhos, e que sempre me deu apoio ao longo deste estudo. Muitos planos foram deixados para mais tarde em prol deste trabalho e dos benefícios futuros.
Agradeço a meus pais, por terem proporcionado o meu estudo dos primeiros anos de vida até os primeiros da vida adulta. O interesse pelos estudos começa pelo apoio dos pais.
Agradeço aos meus amigos, que me apoiaram quando precisei, e que (quase) sem-pre entenderam as minhas ausências em diversos encontros.
Agradeço ao professor Paulo M. Engel pela orientação durante o primeiro ano deste mestrado.
E finalmente, agradeço à professora Ana L. C. Bazzan e ao professor Bruno C. da Silva, por terem acreditado no meu trabalho e assumido os riscos de um trabalho já em andamento. A contribuição deles foi decisiva para a finalização deste trabalho.
Prever os movimentos dos preços do mercado de ações é uma atividade essencial para os investidores desse mercado, e mesmo pequenas evoluções nos métodos utilizados podem resultar em ganhos financeiros consideráveis. Aprendizado de máquina é uma abordagem que tem sido muito utilizada para ajudar nessa tarefa. Apesar dos avanços alcançados e publicados em diversos estudos, muito ainda pode ser evoluído, dado que os resultados publicados frequentemente estão distantes dos valores ótimos para as métricas de avalia-ção utilizadas. É bastante comum se encontrar modelos de prediavalia-ção que funcionam muito bem em determinadas ações e em determinado período de tempo, mas que apresentam desempenho insatisfatório em outras ações e/ou outros períodos. Uma abordagem muito utilizada para resolver problemas com essa diversidade de modelos preditores é a utiliza-ção de métodos de ensemble, ou comitês de especialistas, os quais se beneficiam de tal diversidade. Apesar disso, propostas aplicando métodos de ensemble ainda são raras na área. Este trabalho propõe um método para predizer o movimento dos preços das ações ao final do próximo dia, mais precisamente se o preço estará mais do que 1% acima do preço atual, mais do que 1% abaixo do preço atual, ou entre esses limiares, sendo portanto um problema de classificação envolvendo 3 classes. Os preços e volumes de negociação históricos serão utilizados como dados de entrada. O método proposto, chamado Sim-CombEn, consiste em combinar as predições de modelos de classificação especialistas na predição de diferentes ações que exibem comportamento passado recente muito si-milar à ação alvo da predição. Tais modelos especialistas são independentes e treinados com dados apenas de suas séries financeiras, como é geralmente realizado nos trabalhos publicados na área. Para a avaliação dos resultados foram conduzidos experimentos de comparação do método proposto com outros muito utilizados na literatura, utilizando di-versas métricas apropriadas para avaliação em problemas de classificação com múltiplas classes. Os resultados demonstram que o método proposto supera os concorrentes em todas as métricas avaliadas.
Palavras-chave: Aprendizado de máquina. Métodos de ensemble. Comitês de especia-listas. Mercado de ações.
Direction of the Stock Price Movement
ABSTRACT
Predicting stock market price movements is an essential activity for investors in this mar-ket, and even small improvements in the methods used can result in considerable financial gains. Machine learning is an approach that has long been used to solve this problem. De-spite the advances made and published in several studies, much can still be made, since the published results are often far from the optimal values for the evaluation metrics used. It is usual to find prediction models that work very well in certain stocks, and in a certain period of time, but which perform poorly in other stocks and/or other periods. A widely used approach for solving problems using this diversity of predictor models is the ap-plication of ensemble methods, or expert committees, which benefit from such diversity. Despite this, proposals applying ensemble methods are still rare in the area. This work proposes a method to predict the movement of stock prices for the next day, more pre-cisely if the price will be more than 1% above the current price, more than 1% below the current price, or between those thresholds. Therefore, this is a classification problem with 3 classes. Historical prices and volumes will be used as input data. The proposed method, called SimCombEn, consists in combining the predictions of expert classification models in the prediction of different stocks which exhibit recent past price behavior very simi-lar to the prediction target stock. Such expert models are independent and trained with data only from their financial series, as is usually done in published works in the area. For the evaluation of the results, experiments were carried out comparing the proposed method with others widely used in the literature, using several appropriate metrics for evaluation in classification problems with multiple classes. The results demonstrate that the proposed method surpasses the competitors in all metrics evaluated.
Keywords: Machine learning, ensemble methods, expert committees, Stock markets pre-diction .
BH Estratégia Buy and Hold de investimento BM&F Bolsa de Mercadorias e Futuros do Brasil HKSE Hong Kong Stock Exchange
HIS Hong Kong Stock Market Index HME Hipótese dos Mercados Eficientes IFR Índice de Força Relativa
JPX Japan Exchange Group LSE London Stock Exchange NASDAQNasdaq Stock Market Index NYSE New York Stock Exchange
SP500 Standard & Poor’s 500 stock index SSE Shanghai Stock Market Index SZSE Shenzhen Stock Market Index TAIEX Taiwan Stock Market Index
Figura 2.1 Forças da oferta (curvas S, do inglês Supply) e da demanda (curvas D,
do inglês Demand)...22
Figura 2.2 Representação gráfica de um topo duplo ...31
Figura 2.3 Candlestick e seus preços representados ...32
Figura 2.4 Gráfico de velas para os preços das ações da Petrobrás (PETR4). ...33
Figura 2.5 Gráfico dos preços diários de fechamento para o índice SP500...34
Figura 3.1 Exemplo de projeção para um espaço vetorial onde as classes são line-armente separáveis. ...37
Figura 3.2 Exemplo de hiperplano ótimo de separação. ...38
Figura 3.3 Exemplo de uma rede MLP e feedforward. ...40
Figura 3.4 Ensemble de classificadores e a abordagem de dividir para conquistar...42
Figura 3.5 Generalização via stacking...43
Figura 3.6 Curvas ROC e respectivos valores AUC para um problema com 3 classes ..51
Figura 3.7 Exemplo de um sistema de operação...52
Figura 5.1 Gráficos dos preços de fechamento e respectivas separações dos perío-dos utilizaperío-dos para validação e para teste para 4 séries de exemplo. ...69
Figura 6.1 Gráfico exibindo a fração média de dias, para cada abordagem estu-dada, em que as séries do conjunto apresentam comportamento diferente do exibido pela série alvo...79
Figura 6.2 Método SimCombEn...80
Figura 7.1 Avaliação do impacto de diferentes valores para os parâmetros N, S e T. ....88
Figura 7.2 Desempenho de classificação quanto ao método base utilizado nos mo-delos especialistas. ...89
Figura 7.3 Representação das janelas para o conjunto de testes do índice Dow Jo-nes (DJI)...92
Figura 7.4 Resultados da predição segundo a métrica Kappa...93
Figura 7.5 Resultados da predição segundo a métrica AUC. ...94
Figura 7.6 Resultados da predição segundo a métrica F1Macro. ...94
Figura 7.7 Resultados da predição segundo a métrica F1Micro. ...95
Figura 7.8 Resultados da predição segundo a métrica F1Weighted...95
Figura 7.9 Resultados da predição segundo a métrica GeoMean. ...96
Figura 7.10 Número de séries em que o método proposto domina os demais, se-gundo a métrica Kappa. ...99
Figura 7.11 Número de séries em que o método proposto domina os demais, se-gundo a métrica AUC...100
Figura 7.12 Número de séries em que o método proposto domina os demais, se-gundo a métrica F1Macro. ...100
Figura 7.13 Número de séries em que o método proposto domina os demais, se-gundo a métrica F1Micro...100
Figura 7.14 Número de séries em que o método proposto domina os demais, se-gundo a métrica F1Weighted. ...101
Figura 7.15 Número de séries em que o método proposto domina os demais, se-gundo a métrica GeoMean. ...101
Figura 7.16 Posição média de cada método no ranking de métodos avaliados se-gundo a métrica Kappa. ...102
Figura 7.18 Posição média de cada método no ranking de métodos avaliados se-gundo a métrica F1Macro. ...103 Figura 7.19 Posição média de cada método no ranking de métodos avaliados
se-gundo a métrica F1Micro...103 Figura 7.20 Posição média de cada método no ranking de métodos avaliados
se-gundo a métrica F1Weighted. ...104 Figura 7.21 Posição média de cada método no ranking de métodos avaliados
Tabela 2.1 Alguns indicadores muito utilizados na análise técnica ...30
Tabela 3.1 Exemplo de dados de treinamento para um problema de previsão apli-cado ao merapli-cado financeiro. ...36
Tabela 3.2 Representação de uma matriz de confusão...46
Tabela 3.3 Matriz de confusão para um problema hipotético. ...46
Tabela 3.4 Matriz de confusão exemplo...49
Tabela 3.5 Interpretação do índice Kappa quanto à acurácia observada...49
Tabela 4.1 Resumo dos principais trabalhos relacionados...62
Tabela 5.1 Setores da economia e quantidade de séries utilizadas ...66
Tabela 5.2 Métodos baselines para comparação ...69
Tabela 5.3 Parâmetros ajustáveis para as ANNs. ...70
Tabela 5.4 Parâmetros ajustáveis para as SVMs. ...71
Tabela 5.5 Parâmetros ajustáveis para as Árvores de Decisão (DTs). ...71
Tabela 5.6 Parâmetros ajustáveis para as Florestas Aleatórias (RFs). ...71
Tabela 5.7 Parâmetros ajustáveis do método Rech...73
Tabela 6.1 Experimento de similaridade. Distância de Hamming (distH) média na janela passada e futura. SIM diz respeito à utilização de uma medida de similaridade para seleção do conjunto. RDN diz respeito à seleção aleatória desse conjunto...78
Tabela 6.2 SimCombEn - Parâmetros de entrada e saída para o treinamento...82
Tabela 6.3 SimCombEn - Parâmetros de entrada e saída para a predição ...84
Tabela 7.1 Avaliação do impacto de diferentes valores para os parâmetros N, S e T. ....88
Tabela 7.2 Desempenho de classificação quanto ao método base utilizado nos mo-delos especialistas. ...89
Tabela 7.3 Avaliação da atribuição de pesos pela similaridade entre as séries. ...90
Tabela 7.4 Atribuição de pesos pelo desempenho recente do modelo base. ...91
Tabela 7.5 Comparação de diferentes versões do método proposto e métodos alter-nativos. Resultados ordenados pelo coeficiente de Kappa. ...93
Tabela 7.6 Resultado da execução dos testes de significância estatística (T-test e Wilcoxon-test) para o método DT e respectiva versão do método proposto. ...98
Tabela 7.7 Resultado da execução dos testes de significância estatística (T-test e Wilcoxon-test) para o método Rech e respectiva versão do método proposto. ...98
Tabela 7.8 Resultado da execução dos testes de significância estatística (T-test e Wilcoxon-test) para o método SVM e respectiva versão do método proposto. ...98
Tabela 7.9 Resultado da execução dos testes de significância estatística (T-test e Wilcoxon-test) para o método RF e respectiva versão do método proposto...98
Tabela 7.10 Resultado da execução dos testes de significância estatística (T-test e Wilcoxon-test) para o método ANN e respectiva versão do método proposto. ...99
Tabela 7.11 Resultado da execução dos testes de significância estatística (T-test e Wilcoxon-test) para o método TRIVIAL e respectiva versão do método proposto.99 Tabela 7.12 Melhores resultados obtidos segundo a métrica Kappa, e respectivos método e série responsáveis pelos resultados. ...105
Tabela A.4 Setor financeiro...118 Tabela A.5 Setor de saúde ...118 Tabela A.6 Setor de tecnologia ...118
1 INTRODUÇÃO ...14 2 MERCADO FINANCEIRO...19 2.1 Mercado de ações ...19 2.1.1 Bolsa de valores ...20 2.1.2 Índices de ações ...20 2.1.3 Forças do mercado ...21 2.1.4 Operações no mercado...22
2.1.5 Dados gerados pelas operações...23
2.1.6 Horizontes de investimento...24
2.1.7 Previsibilidade do mercado de ações ...25
2.2 Escolas para análise do mercado ...27
2.2.1 A análise fundamentalista ...27
2.2.2 A análise técnica ...28
2.2.2.1 Premissas da análise técnica ...28
2.2.2.2 Indicadores técnicos...29
2.2.2.3 Análise gráfica ...30
2.3 Séries Temporais Financeiras ...31
2.4 Considerações Finais ...33
3 FUNDAMENTAÇÃO TEÓRICA COMPUTACIONAL ...35
3.1 Aprendizado de Máquina ...35
3.2 Previsão de Séries Financeiras com Aprendizado Supervisionado ...35
3.2.1 Máquina de Vetores de Suporte (SVM) ...37
3.2.2 Redes Neurais Artificiais (ANN) ...39
3.2.3 Árvores de Decisão ...40
3.2.4 Comitês de Especialistas ou Ensembles...41
3.2.5 Florestas Aleatórias...44 3.3 Métricas de Avaliação ...45 3.3.1 Matriz de Confusão...45 3.3.2 Acurácia ...46 3.3.3 Precisão e Cobertura ...47 3.3.4 Medida F1 ...47 3.3.5 Coeficiente de Kappa ...48 3.3.6 Curva ROC...49
3.3.7 Métricas Baseadas em Custos dos Erros...51
3.3.8 Lucro ...52 3.4 Considerações Finais ...53 4 TRABALHOS RELACIONADOS ...54 4.1 Metodologia de seleção ...54 4.2 Trabalhos selecionados ...54 4.3 Considerações Finais ...62 5 METODOLOGIA ...65
5.1 Definição dos Dados de Treinamento ...65
5.2 Fluxo de Treinamento dos Classificadores...67
5.3 Procedimentos para Avaliação de Desempenho ...68
5.4 Modelos de Comparação ...69
5.4.1 Redes Neurais Artificiais ...70
5.4.2 Máquinas de Vetores de Suporte...70
5.4.6 Método Trivial ...73
5.5 Métricas para avaliação dos resultados ...74
5.5.1 Coeficiente de Kappa ...74
5.5.2 AUC da Curva ROC...74
5.5.3 Medidas F1...75
5.5.4 Média Geométrica...75
5.6 Considerações Finais ...76
6 MÉTODO PROPOSTO...77
6.1 Análise preliminar da similaridade entre movimentos de diferentes ações...77
6.2 Método Proposto ...80
6.2.1 Treinamento do Método Proposto...81
6.2.1.1 Medição de Similaridade ...81
6.2.1.2 Cálculos dos pesos ...82
6.3 Predição Realizada pelo Método Proposto ...84
6.4 Considerações Finais ...85
7 EXPERIMENTOS ...86
7.1 Experimentos para avaliação de parâmetros e decisões arquiteturais do método proposto...86
7.1.1 Avaliação dos parâmetros de configuração ...87
7.1.2 Avaliação quanto ao método base utilizado ...88
7.1.3 Avaliação dos diferentes métodos para atribuição de pesos aos especialistas ...90
7.2 Avaliação do método proposto em dados de teste ...91
8 CONCLUSÃO ...106
REFERÊNCIAS...109
APÊNDICE A — SÉRIES FINANCEIRAS UTILIZADAS NOS EXPERIMEN-TOS...116
1 INTRODUÇÃO
O mercado de ações é hoje uma opção consolidada de investimento na maioria dos países com economia desenvolvida, e que oferece oportunidades de retornos elevados, os quais são acompanhados de riscos também elevados. Esses retornos raramente são en-contrados em outras formas de investimento mais conservadoras, despertando, portanto, o interesse tanto de investidores individuais quanto de grandes grupos de investimento. De fato, o mercado financeiro é um ambiente classificado como parcialmente observável, sequencial, estocástico, dinâmico, contínuo e multiagente (de acordo com a taxonomia utilizada em RUSSELL S.; NORVIG (2013)), o que significa que trata-se de um ambi-ente muito complexo. No entanto, são exatamambi-ente essas características que tornam o seu estudo desafiador e interessante. O mercado financeiro pode ser definido como um ambi-ente de negociação de valores mobiliários, moedas estrangeiras e mercadorias como ouro e contratos de produtos agrícolas (NETO, 2015). Trata-se, portanto, do local de negocia-ção do próprio dinheiro em suas diversas formas. No mercado de ações, que é um tipo de mercado financeiro, ocorre a negociação de ações (que são um tipo de ativo financeiro). A negociação ocorre nas bolsas de valores e geralmente funciona apenas algumas horas por dia e 5 dias por semana. No entanto, devido aos diversos fusos horários do mundo, sempre existe alguma bolsa de valores aberta durante as 24 horas dos dias de semana, possibilitando que os operadores do mercado atuem em diversos mercados, o que é um atrativo adicional para os operadores.
O desenvolvimento de métodos para prever os movimentos do mercado de ações é um tópico explorado em diversas áreas do conhecimento, tais como Finanças, Estatística e Ciência da Computação. Operadores profissionais tipicamente utilizam análise técnica e/ou análise fundamentalista para analisarem o mercado (MURPHY, 1999), geralmente analisando gráficos de preços, volume de negócios, de indicadores macro-econômicos e de indicadores técnicos. Mais detalhes sobre esses tipos de análise serão apresentados na Seção 2.2. No entanto, com a velocidade com que informações do mercado são di-vulgadas atualmente, juntamente com o crescente volume dessas informações, é cada vez mais importante que as decisões de investimento sejam tomadas rapidamente, possibili-tando operações mais lucrativas. É justamente nesse ponto que a análise auxiliada por computador, com o uso de algoritmos e soluções envolvendo aprendizado de máquina, pode ajudar, possibilitando avaliações mais precisas, rápidas e envolvendo mais dados. A automatização das operações de compra e venda de ações é naturalmente um passo
im-portante para dar agilidade às transações, e torna-se muito mais útil quando a análise do mercado também ocorre de maneira automatizada via computador.
Muitos operadores do mercado têm utilizado modelos estatísticos clássicos de auto-regressão de médias móveis para a análise das séries temporais financeiras e sua previsão, tais como ARMA (BOX et al., 2015), ARIMA e ARCH (ENGLE, 1982). En-tretanto esses modelos assumem que as séries temporais são geradas por um processo linear e formam seus modelos baseados nessa premissa. Tal premissa não é verdadeira para mercados financeiros que são reconhecidamente complexos, ruidosos e não linea-res (CHOUDHURY et al., 2014).
Recentemente, especialmente nas últimas duas décadas, complexos modelos apli-cando aprendizado de máquina têm sido propostos para a previsão do mercado finan-ceiro (ATSALAKIS; VALAVANIS, 2009; CAVALCANTE et al., 2016). A análise dos trabalhos pesquisados, e apresentados no Capítulo 4, mostra que as técnicas de aprendi-zado de máquina são consideradas competitivas para a previsão do mercado financeiro em geral e de ações em específico, auxiliando os investidores na busca por lucros maiores e/ou riscos menores nas operações. De fato, as soluções envolvendo aprendizado de máquina têm sido utilizadas aplicando as mais diferentes técnicas e abordagens aos mais variados tipos de mercado financeiros. Algumas abordagens avaliadas são as redes neurais (em in-glês artificial neural network (ANN)), máquinas de vetores de suporte (em inin-glês support vector machine(SVM)), florestas aleatórias (em inglês Random Forest (RF)), ensembles, etc (CAVALCANTE et al., 2016). Tais abordagens serão discutidas no Capítulo 3.
Apesar dos avanços apresentados, alguns autores argumentam que nem todos os estudos na área são de fato publicados, o que pode ser atribuído a diferentes causas, tais como resultados que com frequência são estatisticamente pouco significativos, ou mesmo por existirem opções mais rentáveis financeiramente, como por exemplo vender a solu-ção para uma empresa de investimentos (TIMMERMANN; GRANGER, 2004). Outra possível causa seria a falta de interesse de órgãos e empresas financiadoras das pesquisas em divulgar os resultados, já que isso acabaria com a possível vantagem competitiva e estratégica no mercado. Essas particularidades acabam por contribuir para a ideia de que os mercados financeiros são imprevisíveis. A previsibilidade do mercado, de fato, é um ponto de divergência entre diversas publicações na área, com alguns estudos defendendo a previsibilidade e outros afirmando que os mercados financeiros são imprevisíveis e que, portanto, seria impossível lucrar consistentemente acima da média do mercado (RE-CHENTHIN, 2014). Analisando os estudos publicados na literatura fica evidente que
ainda existe muito a ser melhorado, visto que os resultados apresentados frequentemente estão distantes do máximo valor possível para as métricas utilizadas, ou são avaliados ape-nas em dados de poucas ações. Por exemplo, Rechenthin (2014) apresenta um trabalho recente, aplicando técnicas que exploram a diversidade nos dados, de algoritmos e de téc-nicas de pré-processamento, mas que exibe resultados relativamente pouco significativos e distantes do melhor valor possível para a métrica que foi utilizada no trabalho. Resul-tados semelhantes são apresenResul-tados pela maioria dos trabalhos analisados. Como trata-se de um problema complexo, realmente não é esperado que os resultados sempre atinjam os valores máximos possíveis para as métricas de avaliação utilizadas, assim como tam-bém não seria esperado que ficassem muito próximos de valores pouco significativos. Por outro lado, justamente por tratar-se de um problema complexo, mesmo pequenos avan-ços podem significar ganhos financeiros consideráveis, e isso serve de incentivo para o surgimento de novas pesquisas nessa área.
O objetivo deste trabalho é propor um método para prever o movimento direcional dos preços das ações, mais especificamente prever se o preço ao final do próximo dia de operação subirá mais do que 1% do valor do preço atual, cairá mais do que 1% do valor do preço atual, ou estará entre esses limiares. Trata-se, portanto, de um problema de classificação com 3 classes.
É de conhecimento dos investidores e operadores do mercado de ações que os pre-ços das ações de diferentes empresas se movimentam com certo grau de similaridade, com empresas de um mesmo setor ou parceiras economicamente tendendo a exibir comporta-mentos mais fortemente associados, frequentemente subindo ou caindo juntas (AGHA-BOZORGI; TEH, 2014). No entanto, embora ações de duas ou mais empresas possam apresentar comportamentos muito parecidos, o nível de similaridade não é constante ao longo do tempo, o que pode ser atribuído a diversas questões relacionadas à dinâmica do mercado. Assim, as ações de duas empresas diferentes podem apresentar comporta-mentos muito similares em alguns meses do ano e menos similares em outros meses, por exemplo. Além disso, similaridade é uma medida dependente do que se está medindo. Por exemplo, para o objetivo deste trabalho as ações de duas empresas podem ser con-sideradas de comportamentos similares se sobem por 30 dias consecutivos, mesmo que a primeira suba em torno de 1% e a segunda em torno de 2% em cada dia. Assim, os dados originais podem ser razoavelmente diferentes, mas o comportamento que importa para o problema a ser resolvido é similar. Esse comportamento pode ser explorado com o uso de métodos ensemble para combinar as previsões de diferentes ações similares e
melhorar os resultados das previsões de forma geral. Embora o uso de ensemble seja possível nesse contexto, soluções aplicando esse tipo de abordagem ainda são raras na área, segundo (BALLINGS et al., 2015).
A proposta deste trabalho é um método para previsão do comportamento futuro dos preços de determinada ação (ação alvo da previsão) com o uso de um ensemble de classificadores especialistas na previsão dos preços de ações com comportamento similar. Segundo Polikar (2006) um especialista (em inglês expert), no contexto de métodos en-semble, é um agente (ou modelo classificador) especializado em determinado assunto ou problema, e que é consultado por um agente que combina a opinião desse especialista com as de outros especialistas (na mesma área ou áreas relacionadas) a fim de obter a solução final para determinado problema. É importante que esses especialistas (ou modelos base) sejam construídos de forma diversificada. Essa diversidade pode ser gerada pela utiliza-ção de dados com diferentes origens e formas, seleutiliza-ção de atributos dos dados, diferentes algoritmos e/ou diferentes abordagens para a previsão de cada especialista (POLIKAR, 2006; DŽEROSKI; ŽENKO, 2004). Utilizar a combinação de modelos preditores espe-cialistas na previsão de diferentes ações gera essa diversidade naturalmente, desde que esses modelos sejam treinados com dados de diferentes origens, como por exemplo ape-nas dados dos preços de suas respectivas ações, que (conforme explicado anteriormente) exibem a diversidade desejada. O método proposto consiste, portanto, em combinar as previsões realizadas para as ações que possuem comportamento mais similar à série alvo da previsão, as quais são selecionadas dinamicamente pelo método para melhor refletir a situação momentânea do mercado. Para medir a similaridade entre as ações testamos duas abordagens: a distância euclidiana e a distância de Hamming (HAMMING, 1950) aplicadas a vetores representando o comportamento passado recente das ações. Apenas as previsões realizadas pelos classificadores especialistas nas ações mais similares à ação alvo são combinadas para a obtenção da previsão final para cada ação alvo. O número de ações a serem combinadas é um parâmetro para o método proposto e alguns valores foram testados. Outros parâmetros necessários para o método proposto também foram avaliados, conforme será apresentado nos capítulos 6 e 7.
Os resultados obtidos são comparados com os obtidos por métodos genéricos de classificação e com métodos propostos para o problema específico sendo tratado neste tra-balho. Os resultados obtidos pelo método proposto superaram os obtidos pelos métodos de comparação, conforme será apresentado no Capítulo 7. Acreditamos que a abordagem proposta apresenta melhores resultados pois atenua o impacto do ruído existente nesse
mercado e que pode estar desigualmente distribuído nas diferentes ações em cada mo-mento específico. Portanto, o método proposto explora a aptidão de cada especialista em prever a sua série e também a correlação imperfeita existente entre as diversas ações.
O restante deste trabalho está dividido da seguinte maneira: o Capítulo 2 apre-senta alguns conceitos do mercado de ações, suas particularidades, funcionamento, ter-mos técnicos e dificuldades inerentes para a sua previsão; o Capítulo 3 apresenta diver-sos conceitos teóricos da área de inteligência computacional que são necessários para o entendimento satisfatório desse trabalho, bem como os algoritmos de aprendizado de má-quina e as métricas utilizadas neste trabalho; o Capítulo 4 apresenta diversos trabalhos relacionados com o proposto aqui; o Capítulo 5 apresenta a metodologia utilizada para os experimentos realizados; o Capítulo 6 apresenta o método proposto neste trabalho; o Capítulo 7 apresenta os resultados e suas avaliações; o Capítulo 8 traz as conclusões do estudo realizado e propostas para trabalhos futuros.
2 MERCADO FINANCEIRO
Este capítulo tem como objetivo apresentar conceitos relacionados ao mercado fi-nanceiro, especialmente os relacionados ao mercado de ações, que são importantes para o completo entendimento deste trabalho. Neste capítulo também serão apresentadas al-gumas questões relacionadas com a previsibilidade do mercado de ações e métodos de análise mais utilizados pelos operadores do mercado.
2.1 Mercado de ações
Mercado financeiro é uma denominação genérica que se dá aos mercados que ne-gociam o próprio dinheiro em suas diversas formas, e pode ser subdividido em mercados mais específicos. Dentre estes mercados está o mercado de ações, o qual será apresentado nesta seção.
Ações representam partes do capital formador de uma empresa. Quando uma empresa abre capital ela está passando ao mercado de ações algumas ações que repre-sentam determinado percentual do valor total da empresa. Em troca, a empresa recebe capital necessário para financiar as suas atividades, com custos muito menores do que os oferecidos pelas formas comuns de financiamento (bancos e financiadoras). O detentor das ações passa a ter direito, dependendo do tipo da ação, a participação na divisão dos lucros da empresa, proporcionalmente ao número de ações que possuir. Assim, após a empresa passar as ações ao mercado, ela deixa de ter controle sobre quem compra ou vende essas ações, e consequentemente sobre o preço de negociação delas. Os investido-res podem obter lucros originados pelas operações de compra e venda das ações, como também decorrentes da divisão do lucro financeiro da empresa na forma de dividendos. O desempenho do preço das ações depende de diferentes fatores, com origens tanto internas quanto externas ao ambiente da empresa. Entre os fatores com origens internas podemos citar a troca de diretorias, redirecionamento estratégico, e desenvolvimento de novos pro-dutos. Já entre os fatores externos, podemos citar a mudança das políticas econômicas dos governos, estratégias de concorrentes, política cambial, comportamento dos investidores, preço das commodities, guerras, etc. Essas relações acabam por formar um ambiente complexo, ruidoso, não linear, parcialmente observável e não-estacionário, o que acaba por dificultar a previsão do comportamento dos preços das ações.
2.1.1 Bolsa de valores
As operações de compra e venda de ações acontecem sob a organização das bolsas de valores, que são empresas cujo negócio é justamente viabilizar o encontro de compra-dores e vendecompra-dores de ações, garantindo a segurança e agilidade do processo. As bolsas de valores existem em diversos países do mundo, especialmente nos que possuem eco-nomia desenvolvida. É nesses ambientes que os operadores financeiros executam suas ordens de compra e venda, pagando taxas para que as corretoras e as bolsas de valores viabilizem as operações. Atualmente, essa negociação ocorre completamente de forma digital e online, algo que substituiu as negociações presenciais que ocorriam até poucas décadas atrás, quando compradores e vendedores se encontravam fisicamente nas bolsas de valores para realizarem negócios. Em 2015 havia apenas dezoito bolsas no mundo com valor de mercado acima de US$1 trilhão, ou seja, cuja soma do valor de todas as empresas listadas superava esse valor (STOCKEXCHANGES, 2018). A maioria dessas grandes bolsas se encontram na América do Norte, Europa e Ásia, e movimentam aproxi-madamente 90% do volume diário do mercado de ações global. Entre as maiores bolsas de valores do mundo podemos citar a NYSE e a NASDAQ nos EUA, a JPX no Japão, a SSE na China, a LSE no Reino Unido e a HKSE em Hong Kong. No Brasil, a BM&F Bo-vespa centraliza os negócios do mercado de ações, mercadorias e de contratos futuros. Os dados que serão utilizados neste trabalho são do mercado de ações norte americano, visto que é o maior mercado de ações do mundo e portanto com maturidade e disponibilidade de dados suficientes para este trabalho.
2.1.2 Índices de ações
O acompanhamento dos preços de determinada ação reflete o contexto de uma única empresa, embora refletindo a interação de diversos agentes do mercado. No entanto, frequentemente o investidor deseja saber como está o desempenho geral de um grupo de ações, e é justamente para esse fim que existem os índices de ações. Um índice de ações representa o desempenho médio dos preços de um grupo de ações em determinado período. Esses grupos podem representar determinados setores industriais, ações mais negociadas em determinada bolsa ou país, maiores empresas ou qualquer outra categoria de interesse. Cada índice é criado a partir de um regulamento que especifica como seus componentes serão selecionados. Índices de ações não podem ser comprados e vendidos
como as ações, mas existem ativos financeiros derivados dos índices de ações que podem ser operados. Portanto a previsão de índices de ações é tão importante quando a previsão das próprias ações subjacentes; na verdade o movimento dos índices está relacionado com o movimento realizado pelas ações que o compõem. Como os índices representam uma média do desempenho das ações que o compõem, geralmente possuem comportamento mais suave do que o exibido pelas ações isoladamente, o que pode facilitar a sua previsão por alguns métodos específicos.
2.1.3 Forças do mercado
O mercado de ações é um ambiente onde as forças econômicas da oferta (provida pelos vendedores) e da demanda (provida pelos compradores), representadas na figura de agentes/operadores financeiros institucionais e/ou individuais, estão constantemente agindo em busca do equilíbrio do sistema de preços. A oferta e a demanda são con-ceitos muito conhecidos na Economia e em particular no mercado financeiro, pois são responsáveis pelo alinhamento entre os desejos de quem quer comprar e os de quem quer vender determinado ativo financeiro (MURPHY, 1999). A Figura 2.1 apresenta os efei-tos das variações da demanda e da oferta, bem como uma representação do ponto de equilíbrio entre elas. A Figura 2.1(a) representa o sistema em equilíbrio momentâneo, onde os compradores e os vendedores entram em acordo sobre o preço, possibilitando que uma transação ocorra. Esse ponto de equilíbrio é justamente o ponto de intersec-ção entre as curvas de demanda (curvas D) e de oferta (curvas S). No caso do mercado de ações isso significa que a quantidade Q* de determinada ação pode ser negociada ao preço P*. A Figura 2.1(b) exibe um aumento da demanda de D1 (quantidade Q1) para D2 (quantidade Q2), que, por não haver aumento correspondente na oferta, acaba causando um aumento no preço de equilíbrio de P1para P2. Já a Figura 2.1(c) exibe um aumento da oferta de S1(quantidade Q1) para S2 (quantidade Q2), que, por não haver aumento corres-pondente na demanda, acaba causando uma diminuição no preço de equilíbrio de P1para P2. Aumento da demanda significa mais compradores no mercado e aumento na oferta significa mais vendedores. O que um operador busca é justamente identificar qual das forças irá dominar no futuro e então executar as operações necessárias para obter lucro; por exemplo, comprando ações antes da demanda aumentar ou da oferta diminuir.
No mercado de ações, essas forças se manifestam na forma de ordens de com-pra e venda que chegam ao sistema das bolsas de valores diretamente dos sistemas das
Figura 2.1: Forças da oferta (curvas S, do inglês Supply) e da demanda (curvas D, do inglês Demand).
(a) Preços em equilíbrio no preço P e quantidade Q.
(b) Aumento na demanda, au-menta o preço.
(c) Aumento na oferta, diminui o preço.
Fonte: Larsen (2010)
corretoras de valores cadastradas para realizarem operações em nome de seus clientes. Essas ordens são originadas pelos diversos operadores/investidores que possuem contas nas corretoras, e, ao chegarem no sistema das bolsas de valores, são colocadas em uma lista de ordens de compra e em uma lista com ordens de venda. Quando existir um preço de venda e um preço de compra que possibilitem um negócio, ambas são retiradas das listas e o negócio é executado, ou seja, o vendedor recebe o valor da venda e o comprador recebe as ações. Ordens de venda são executadas pelo valor mínimo informado na ordem de venda, e ordens de compra são executadas pelo valor máximo informado na ordem. As ordens podem ser executadas parcialmente, o que ocorre quando apenas uma fração das ações da ordem são compradas ou vendidas; o restante da ordem, nesse caso, conti-nua ativa, aguardando que o negócio seja completado futuramente. Portanto, o mercado é um sistema complexo que está sob constante atuação de diferentes agentes em busca do equilíbrio do sistema.
2.1.4 Operações no mercado
As operações no mercado de ações podem ser iniciadas tanto na ponta compradora (em inglês Long Position), quando o operador compra uma ação planejando sua venda após uma alta futura nos preços; quanto na ponta vendedora, quando o operador realiza uma venda, sem possuir a ação mas planejando comprá-la no futuro quando os preços caírem, em uma operação conhecida como venda a descoberto (em inglês Short Position). Assim, o investidor pode lucrar tanto nos movimentos de alta como nos movimentos de queda dos preços, dependendo se iniciou a operação comprando ou vendendo ações.
Além das operações no mercado a vista de ações, existe a possibilidade de as ope-rações serem realizadas no mercado de derivativos e de futuros, especialmente com as opções de compra e venda no mercado de ações e com contratos derivados dos índices de ações. Nesses mercados o operador não negocia a ação em si, mas o direito e a obrigação de negociá-la no futuro. A possibilidade de ganhos nessas operações é alavancada, signi-ficando que com pouco capital investido pode-se realizar altos lucros, embora com riscos consideravelmente maiores em relação ao mercado à vista. Quando um investidor compra uma opção (investidor tomador) ele paga um valor, o prêmio, ao investidor que lança a opção (investidor lançador). Com isso, o tomador tem o direito de comprar ou vender de-terminada ação, dependendo se a opção negociada foi de compra ou de venda. Por outro lado o lançador tem o dever de comprar ou vender a ação, caso o tomador resolva exercer sua opção ao final do período de vigência da opção. Portanto, caso o investidor por algum motivo acredite que determinada ação tem alta probabilidade de subir consideravelmente nos próximos dias, provavelmente seria mais lucrativo comprar opções de compra da ação, visto que as opções se valorizam mais rapidamente que as ações subjacentes.
2.1.5 Dados gerados pelas operações
Cada operação de compra e venda de ações está associada a uma data, ao preço, à quantidade de ações, e a quem comprou e quem vendeu as ações da operação. Essas in-formações são muito utilizadas para a geração de gráficos históricos dos preços e também como dados de entrada para soluções de previsão dos preços futuros. No entanto, para facilitar a visualização e a interpretação por humanos, essas negociações individuais são geralmente agrupadas em janelas de tempo representativas para o operador, como horas ou dias. Outra justificativa para esse agrupamento é facilitar o armazenamento e transmissão dos dados para futuras análises, visto que o número de negócios que ocorre diariamente é enorme. As janelas de tempo mais utilizadas pelos investidores para acompanhar e anali-sar o mercado são as intra-diárias (intervalos de medição de minutos e horas), as diárias e as semanais. Assim, para uma janela semanal as negociações são agrupadas para cada semana do período, e para uma janela diária o agrupamento ocorre para cada dia. Cada janela de tempo se resume em cinco atributos descritores: o preço de abertura, o preço mínimo, o preço máximo, o preço de fechamento e o volume total negociado no período da janela. O preço de abertura é o valor da primeira negociação na janela; o preço mínimo e o máximo representam o menor e o maior valor negociado na janela, respectivamente; o
preço de fechamento é o valor da última negociação na janela, e considerado por muitos como o mais importante de todos, pois representa o consenso dos operadores ao final do período (ELDER, 2004). O volume total operado na janela, ou seja, a soma de todos os valores das operações da janela, se junta aos quatro valores anteriores formando a repre-sentação padrão das cotações das ações. O conjunto sequencial dessas estruturas acaba por formar uma série temporal a qual é geralmente disponibilizada para download pelas bolsas de valores e outras fontes de dados financeiros.
2.1.6 Horizontes de investimento
Segundo Box, Jenkins and Reinsel (2007), as operações realizadas pelos investi-dores podem ser classificadas de acordo com o horizonte do investimento em:
1. Position trade: operações que duram semanas ou meses; 2. Swing trade: operações que duram de 2 a 5 dias em média;
3. Intraday: operações que iniciam e terminam dentro do mesmo dia de operação; 4. Momentum: operações que iniciam e terminam dentro de segundos, minutos ou
horas; portanto, podendo ocorrer diversas vezes em um mesmo dia de operação. Cada horizonte de investimento possui suas particularidades, sendo frequente-mente atribuído maior risco às operações mais curtas (intraday e momentum), as quais podem acumular grandes prejuízos muito rapidamente. Construir soluções para analisar e automatizar operações para esses horizontes de investimento é objeto de estudo de uma área específica conhecida como algorithmic trading (algotrading) (BOEHMER; FONG; WU, 2014).
Geralmente, as operações de horizontes mais longos (Position e Swing) utilizam dados agrupados em janelas maiores, como a diária e a semanal, enquanto que as janelas de minutos são geralmente utilizadas nas operações de horizontes curtos como o intraday. A maioria dos estudos publicados na área envolvem janelas maiores, especialmente para operações diárias, provavelmente devido a maior disponibilidade de dados nessas jane-las. Alguns estudos sugerem que a previsibilidade do mercado é maior para horizontes de investimento curtos, e enfraquece à medida que esse horizonte aumenta, tornando-se insignificante após aproximadamente 30 minutos (RECHENTHIN, 2014). Apesar disso, a grande maioria dos estudos publicados utiliza janelas de tempo mais longas, igualmente apresentando resultados promissores (CAVALCANTE et al., 2016; BALLINGS et al.,
2015; ATSALAKIS; VALAVANIS, 2009).
2.1.7 Previsibilidade do mercado de ações
Nessa seção iremos apresentar alguns argumentos a favor e contra a possibilidade de se prever o movimento futuro dos preços das ações com base apenas nos preços exibi-dos no passado.
A Hipótese dos Mercados Eficientes (HME), publicada no final dos anos 60, afirma que os mercados financeiros realizam movimentos imprevisíveis para se ajustar aos fa-tos dinâmicos do mercado, algo conhecido como passeio aleatória (do inglês Random Walk) (FAMA, 1965; FAMA, 1991). Fama (1965) caracterizou um mercado eficiente como aquele cujos preços sempre refletem totalmente as informações publicamente dis-poníveis. A HME, no entanto, não exige que o preço sempre reflita ao valor real (ou justo) do ativo financeiro, mas requer que os preços de mercado não sejam tendencio-sos, ou seja, que esses desvios sejam aleatórios. Assim, a teoria defende que nenhum investidor é capaz de consistentemente superar os ganhos médios do mercado utilizando qualquer estratégia de investimentos, a não ser pela sorte. A HME, portanto, defende que é impossível se prever o comportamento futuro de uma ação apenas com os dados dos preços no passado. Alguns defensores da HME e da imprevisibilidade do mercado alegam que apesar da média prevalecer em toda atividade envolvendo um grande número de eventos, exemplos extremos são prováveis de ocorrer, como seria o caso dos poucos investidores de sucesso no mercado financeiro em meio ao grande número de investidores que tentam a sorte nesse mercado. Alguns trabalhos afirmam que mercados emergentes, por terem um menor número de negócios, são menos suscetíveis a HME, sugerindo a possibilidade de previsão, em algum nível, do comportamento futuro dos preços nesses mercados (LO; MACKINLAY, 1988).
Numerosos estudos publicados a partir da década de 1980, especialmente relacio-nados às finanças comportamentais (SHILLER, 2003) e à análise técnica (ELDER, 1993; MURPHY, 1999; ELDER, 2004), têm demonstrado que dados históricos podem ajudar na previsão dos movimentos futuros do mercado financeiro. Nesse sentido, Rechenthin (2014) realizou experimentos que comprovam a existência de relações estatisticamente significantes entre movimentos subsequentes dos preços de diversas ações estudadas. A teoria das finanças comportamentais (SHILLER, 2003) afirma que os preços estão em constante evolução com movimentos em torno do que seria o preço justo. Tais
movi-mentos são resultantes das forças do mercado atuando de forma emocional, causando, em muitos casos, uma reação exagerada dos agentes do mercado (em inglês Overreaction), o que pode ser explorado por operadores atentos. Essas reações exageradas refletiriam comportamentos de origem psicológica, cognitiva e social da natureza humana, que se manifestam especialmente em momentos de grande volatilidade do mercado (SHILLER, 2003), e que se repetem ao longo do tempo. Segundo Elder (2004) dois sentimentos são os principais responsáveis pelas melhores oportunidades de lucro e também pelas maio-res perdas dos investidomaio-res: o medo e a ganância. Enquanto que o medo frequentemente impede que o operador realize a compra de um ativo financeiro que caiu muito abaixo de seu preço razoável (e que portanto está subvalorizado), muitas vezes devido a com-portamentos irracionais de manada social, a ganância impede que o investidor realize a venda de ativos que subiram muito acima do preço razoável (e que estão supervaloriza-dos), também devido a comportamentos não racionais. Dessa forma, esses sentimentos impedem que os agentes executem uma das regras mais básicas para obtenção de lucro em negociações: comprar na baixa e vender na alta dos preços (ou vender na alta para, no futuro, recomprar na baixa e fechar a operação do tipo Long Short). Assim, é espe-rado que os opeespe-radores tomem as mesmas decisões tomadas no passado quando os preços exibiam o mesmo comportamento atual, visto que suas decisões são muito influenciadas por questões relacionadas ao comportamento humano. Os defensores da predicabilidade do mercado acreditam que esses são exemplos de comportamentos repetíveis característi-cos na natureza humana, e que se refletem nos dados das operações formando padrões de preços que podem ser aprendidos para a previsão futura dos preços.
Apesar de diversos estudos apontarem para a previsibilidade do mercado, eles ge-ralmente afirmam que o mercado apresenta previsibilidade variável, com modelos que apresentam altas taxas de acerto em determinado período passando a apresentar altas ta-xas de erro em períodos imediatamente subsequentes, e podendo novamente serem úteis em novos períodos posteriores. Esse comportamento é conhecido na área de aprendizado de máquina, especialmente em problemas de séries temporais e fluxo de dados (do inglês data stream), sendo originado por um fenômeno chamado de mudança de conceito (em inglês concept drift) (HOENS; POLIKAR; CHAWLA, 2012). Mudanças de conceito po-dem ocorrer devido a alterações nas classes do problema, na distribuição dessas classes ou na relação entre dados de entrada e as classes, e todas essas causas acabam impactando de alguma forma o desempenho de modelos treinados com os conceitos que se tornaram inúteis ou desatualizados. Essas alterações dos conceitos do problema são típicas de
pro-blemas envolvendo fluxo de dados, sendo que para dados financeiros elas têm origem em diversos fatores, entre os quais a própria atuação dos agentes do mercado tem importân-cia relevante, pois a medida que agentes utilizam determinado padrão em suas previsões o padrão acaba perdendo utilidade (TIMMERMANN, 2008), passando a ser conhecido de todo o mercado e deixando de gerar vantagem estratégica. No entanto, essas alterações de conceito podem não ocorrer ao mesmo tempo em todas as ações; logo, espera-se que em determinados momentos algumas ações possuam maior previsibilidade do que outras, ou mesmo que em alguns períodos a previsibilidade geral das ações seja maior do que em outros. Assim, o desempenho de um modelo (modelo individual) de previsão para determinada ação pode variar bastante no tempo, mas esse desempenho pode ser melho-rado se as previsões para ações que exibem preços com comportamentos similares forem utilizadas para validar (fortalecendo ou enfraquecendo) a previsão realizada pelo modelo individual.
2.2 Escolas para análise do mercado
Operadores profissionais tipicamente utilizam a análise técnica e/ou a análise fun-damentalista para analisarem e preverem os preços do mercado (MURPHY, 1999). Os operadores que utilizam análise técnica são conhecidos com analistas técnicos e os que utilizam análise fundamentalista de analistas fundamentalistas. A seguir apresentaremos essas escolas de análise do mercado, dando foco especial na aplicação ao mercado de ações. Será dada maior atenção à análise técnica, pois é com ela que geralmente são ge-rados os dados de entrada para predições por soluções automatizadas via computador, o que é o caso deste trabalho.
2.2.1 A análise fundamentalista
Os analistas fundamentalistas acreditam que como uma ação representa um per-centual de determinada empresa, o movimento do preço da ação está relacionado com os fundamentos econômicos daquela empresa e da sua área de atuação. Portanto, o es-tudo desses fundamentos seria suficiente para a previsão da direção futura dos preços. A análise fundamentalista utiliza dados de resultados financeiros divulgados periodicamente pelas empresas juntamente com indicadores macroeconômicos divulgados também
peri-odicamente por diversos agentes econômicos, tais como a taxa de desemprego, índice de inflação e taxa de câmbio. A periodicidade de divulgação desses dados é bastante vari-ada, sendo comum dados com publicações semanais, mensais e trimestrais. Esse pode ser considerado um dos principais motivos para que sua utilização seja mais frequente em investimentos de longo prazo, ou seja, investimentos com duração de meses ou anos, onde algumas semanas de atraso na execução de uma operação são de certa forma tolerá-veis. Frequentemente a análise fundamentalista é utilizada como uma espécie de filtro de seleção para ações que serão posteriormente operadas com maior frequência utilizando a análise técnica, selecionando-se apenas ações com um nível mínimo de qualidade em seus fundamentos.
2.2.2 A análise técnica
Os analistas técnicos acreditam que todas as informações disponíveis para o mer-cado já estão refletidas no preço e no volume de operação das ações, inclusive as rela-cionadas aos fundamentos econômicos da empresa, e que portanto o estudo do compor-tamento desses dados no passado é suficiente para prever o futuro dos preços. Portanto, a análise técnica assume que existem padrões de comportamento que se repetem e que podem ser identificados e utilizados para prever o futuro dos preços. Estima-se que em torno de 80% a 90% dos operadores do mercado acreditam e utilizam análise técnica, especialmente para horizontes de previsão de algumas poucas semanas (MENKHOFF, 2010; TAYLOR; ALLEN, 1992). Os dados das operações (preço e volume) são disponi-bilizadas com frequências muito maiores (inclusive em tempo real) do que as dos dados utilizados pela análise fundamentalista, e provavelmente por isso essa é a abordagem pre-ferida dos operadores de curto prazo, ou seja, que realizam operações com duração de minutos a horas, ou poucos dias.
2.2.2.1 Premissas da análise técnica
Segundo Murphy (1999) a análise técnica está baseada nas seguintes premissas: 1. Os preços refletem toda a informação do mercado;
2. Os preços se movem em tendências; 3. O passado se repete.
A primeira premissa afirma que os dados disponibilizados publicamente pelo mer-cado, tais como preços e volume, já incorporam toda informação existente, ou seja, toda informação que os agentes do mercado possuem e utilizam para realizar as operações de compra e venda. Isso é resultado da ação dos mais diversos agentes financeiros, cada um com suas crenças, análises e predições a respeito do futuro do mercado, com suas perspectivas fundamentalistas, econômicas, políticas, psicológicas, sociais e comporta-mentais, sendo portanto a análise dos preços suficiente para a previsão dos mercados.
Já a segunda premissa, também muito importante, afirma que os preços se movem em tendências, portanto não de maneira aleatória, como afirma a HME. É conhecido entre os analistas técnicos um corolário da segunda premissa que afirma que uma tendência tem maior probabilidade de continuar do que de ser revertida, o que é a base de inúmeras estratégias de operação que buscam identificar e seguir as tendências em vigência.
Por fim, a terceira premissa afirma que padrões de comportamento que ocorreram no passado tendem a se repetir no futuro, pois resultam principalmente da ação da psico-logia comportamental humana, que é praticamente a mesma há muitos séculos e tende a não mudar frequentemente.
Com base nessas suposições, os analistas técnicos utilizam as informações das negociações (preço e volume) para realizarem suas previsões.
2.2.2.2 Indicadores técnicos
Os dados de preço e volume são utilizados no cálculo de indicadores técnicos, os quais são muito utilizados pelos analistas técnicos na previsão do movimento dos preços. Indicadores técnicos são fórmulas baseadas nos dados de preço e volume das ações, e que foram criadas ao longo do tempo por diferentes investidores/operadores a fim de represen-tar quantitativamente alguns conceitos/padrões importantes na análise técnica. O número de indicadores técnicos existentes é enorme e existem indicadores para diferentes finalida-des, tais como indicadores de tendências, indicadores de força de movimento, osciladores e médias móveis; cada indicador possui objetivos e regras de interpretação próprios. A Tabela 2.1 exibe uma lista com alguns indicadores técnicos muito conhecidos e utilizados pelos operadores. A biblioteca de software para análise técnica TA-Lib (TALIB, 1999) disponibiliza o cálculo para diversos indicadores técnicos e para diversas linguagens de programação. Por exemplo, o cálculo do indicador ROC (do inglês Rate Of Change) é bastante simples, mas muito utilizado pelos analistas técnicos:
Tabela 2.1: Alguns indicadores muito utilizados na análise técnica Fonte: AUTOR
Código Ta-lib Nome
ROC Rate of Change
SMA Simple Moving Average
RSI Relative Strength Index CMO Chande Momentum Oscillator AROON Aroon Iindicator
BBANDS Bollinger Bands
CCI Commodity Channel Index
MACD Moving Average Convergence/Divergence WILLR Williams %R Relative Strength Index STOCH Stochastic Momentum Oscillator
ROC = (preco/precoN diasAnteriores) − 1 (2.1) ROC é basicamente a razão entre o preço atual e o preço de N dias atrás, onde N é um parâmetro de entrada para o indicador e seu propósito é indicar como os preços se movimentaram no período. Já o indicador RSI (em inglês Relative Strength Index) possui cálculo mais complexo e se propõe a medir a força relativa entre compradores e vendedores em determinado período. O valor de RSI varia de 0 a 100. Valores abaixo de 20 geralmente são interpretados com indicativo de sobre venda, ou seja, os preços estão abaixo do que seria o preço justo. Valores acima de 80 geralmente são interpretados com indicativo de sobre compra, ou seja, os preços estão acima do que seria o preço justo.
2.2.2.3 Análise gráfica
Os analistas técnicos também realizam suas análises com base no uso de gráficos dos preços e gráficos dos indicadores ao longo do tempo. O uso de gráficos permite a identificação visual de diversos padrões como os topos e fundos duplos, topos e fundos triplos, triângulos, bandeiras, etc; todos apresentados em Murphy (1999). Esses padrões visuais são muito conhecidos entre os analistas técnicos adeptos da análise via gráficos, ou análise gráfica. Um topo tuplo, por exemplo, é representado por um gráfico que exibe uma figura onde os preços atingem praticamente o mesmo valor máximo em dois mo-mentos consecutivos. A Figura 2.2 exibe a configuração gráfica de um topo duplo. A interpretação de um topo duplo é no sentido de que os compradores não conseguiram levar os preços para acima do preço dos topos por dois momentos consecutivos, o que
pode indicar que existe uma força vendedora forte no mercado que pode provocar queda nos preços. Cada figura gráfica possui sua interpretação para o momento do mercado e consequente indicação para comportamento futuro esperado.
Figura 2.2: Representação gráfica de um topo duplo
Fonte: (SEGREDO, 2018)
Entre os gráficos mais utilizados por analistas gráficos estão o de barras e o de ve-las (do inglês candlesticks) (NILSON, 1991). A Figura 2.3 exibe a representação gráfica de um candlestick e os preços representados por ele. Um candlestick apresenta os quatro preços de uma janela de tempo (ver Seção 2.1.4) na forma de sombras superiores (preço máximo), inferiores (preço mínimo) e cores do corpo específicas para períodos de alta (preço de fechamento maior que o preço de abertura) e baixa (preço de abertura maior que o preço de fechamento). Segundo Nilson (1991) os candlesticks, ou conjuntos de candlesticksconsecutivos, apresentam certos padrões que, se corretamente identificados, podem ser utilizados para prever os preços futuros. De fato, muito operadores profissi-onais utilizam de alguma forma os padrões de candlesticks em suas análises (LARSEN, 2010). A Figura 2.4 exibe um gráfico exemplo de candlesticks da empresa brasileira Pe-trobrás (PETR4 na bolsa brasileira), juntamente com o volume e alguns indicadores téc-nicos muito utilizados por operadores do mercado (MACD, Estocástico, OBVol e IFR)1.
2.3 Séries Temporais Financeiras
Segundo (MORETTIN P. A. ; TOLOI, 2006) uma série temporal é um conjunto de valores obtidos através de observações ordenadas no tempo. As informações de preços
1A completa definição das fórmulas de cálculo para diversos indicadores pode ser encontrada
Figura 2.3: Candlestick e seus preços representados
Fonte: (BUSSOLA, 2018)
e volumes obedecem essa definição, de forma que podem ser consideradas um tipo de série temporal. No caso das ações, a variável da série observada no tempo pode ser o preço de fechamento, o preço de abertura ou o volume, por exemplo. As séries temporais financeiras apresentam algumas características também encontradas em outros tipos de séries temporais, tais como:
1. Tendências: Enquanto algumas séries temporais podem ser consideradas estacio-nárias, já que seus valores flutuam em torno de uma média constante, as séries financeiras geralmente apresentam uma tendência de alta no longo prazo, embora possam apresentar períodos menores de alta e baixa, que se alternam e que podem durar por períodos de tempo variáveis.
2. Sazonalidade: Alguns fatores que influenciam as séries financeiras são dependentes do ciclo de tempo, como por exemplo o dia da semana, o mês do ano, ano de eleições e meses com datas comemorativas que tradicionalmente envolvem compras de determinados produtos, etc.
3. Não-linearidade: Séries financeiras são complexas, possuem ciclos em diversas gra-nularidades de tempo e apresentam comportamento com componente estocástico, sendo portanto impossível de serem modeladas com uma função linear.
A Figura 2.5 apresenta o gráfico dos preços de fechamento diários do índice SP500, para um período arbitrário. Nela podemos verificar uma consistente tendência de alta nos valores para o índice de ações SP500 (do mercado norte-americano) ao longo do ano de 2016, embora alguns movimentos de queda (ou correção da tendência principal de alta) do movimento principal ocorreram ao longo do ano (especialmente nos meses de
Figura 2.4: Gráfico de velas para os preços das ações da Petrobrás (PETR4).
Fonte: (GRAFBOLSA, 2017)
junho e novembro).
2.4 Considerações Finais
Como apresentado ao longo do capítulo, indicadores técnicos e padrões gráficos são muito utilizados pelos operadores nas análises do mercado; muitas vezes pelo uso
Figura 2.5: Gráfico dos preços diários de fechamento para o índice SP500.
Fonte: (YAHOOFINANCE, 2017)
de análises gráficas visuais. No entanto, devido a velocidade e a quantidade com que dados financeiros são gerados atualmente, tem sido cada vez mais frequente a utilização de agentes operadores financeiros automatizados, o que é objeto de estudo de uma área conhecida como algotrading (BOEHMER; FONG; WU, 2014). Com a ajuda de com-putadores, essas soluções automatizadas são capazes de avaliar rapidamente um grande número dados na tentativa de prever o movimento dos preços do mercado. Geralmente, os dados dos preços e volume são utilizados em conjunto com valores que representam indi-cadores técnicos, padrões gráficos e padrões de candlesticks para formarem os atributos dos dados de entrada para diversos métodos de previsão.
A previsão dos preços das ações é uma tarefa desafiadora, mas que, no entanto, pode ser facilitada pelo uso de métodos de aprendizado de máquina. A seguir, no Ca-pítulo 3, veremos alguns dos métodos de aprendizado de máquina mais utilizados nas predições do mercado financeiro.
3 FUNDAMENTAÇÃO TEÓRICA COMPUTACIONAL
Nesse capítulo apresentaremos alguns algoritmos de aprendizado de máquina que serão utilizados em nossos experimentos, e que são relevantes para o entendimento do método que iremos propor.
3.1 Aprendizado de Máquina
Aprendizado de máquina (em inglês Machine Learning) é uma área de estudo, dentro da inteligência artificial, que busca prover aos computadores a habilidade de apren-der sem serem explicitamente programados, evoluindo com a exposição a novos da-dos (SAMUEL, 1959). De acordo com a forma como o aprendizado ocorre ele pode ser classificado em três tipos (HAYKIN, 2008):
• aprendizado supervisionado: Quando existe um professor para o processo de apren-dizado, o qual informa dados de entradas e respectivos dados de saída. O aprendi-zado consiste em encontrar uma função que mapeie as entradas para as saídas, sem interação com o ambiente.
• aprendizado não supervisionado: Neste processo não existe um professor e o apren-dizado é baseado apenas nos dados de entrada. É geralmente utilizado em proble-mas de agrupamento de dados em grupos similares, ou seja, útil na busca de padrões nos dados.
• aprendizado por reforço: Nesse processo também não existe um professor que gera dados de treinamento com entradas e saídas. Existe, no entanto, a figura de um crítico que fornece retorno quanto às ações tomadas pelo aprendiz no espaço do problema. É o tipo de aprendizado utilizado, por exemplo, para que um robô hu-manoide aprenda a caminhar sozinho.
3.2 Previsão de Séries Financeiras com Aprendizado Supervisionado
A maioria das soluções que aplicam aprendizado de máquina na previsão do mer-cado de ações utilizam algum algoritmo de aprendizado supervisionado. Nesse tipo de aprendizado, o algoritmo recebe um conjunto de instâncias (ou dados) de treinamento, onde cada instância é composta pelos atributos de entrada (Xi) e pelo atributo de saída
(y). O aprendizado busca encontrar uma função de mapeamento das instâncias de entrada X para os valores de saída y:
y = f (X)
O comportamento das séries temporais podem ser previstas com a ajuda de algorit-mos de aprendizado supervisionado. Para isso, é necessário representar a série temporal de maneira consistente com um problema de aprendizado supervisionado: na forma de entradas X e saídas y. Brownlee (2016) sugere a utilização de uma abordagem de janelas deslizantes para a transformação de dados de séries temporais em dados preparados para serem utilizados no aprendizado supervisionado. Para cada posição da série temporal, os últimos N períodos da série podem ser utilizados para se obter os atributos Xi de en-trada, e o valor do próximo período da série pode ser utilizado para a variável de saída y. Os indicadores técnicos, para caso de séries financeiras, conforme discutido no Capí-tulo 2, já utilizam dados dos últimos períodos da série para o cálculo dos seus valores, de forma que eles podem compor os atributos de entrada para problemas de previsão de séries financeiras.
Tabela 3.1: Exemplo de dados de treinamento para um problema de previsão aplicado ao mercado financeiro.
Fonte: AUTOR
Date RDP-5 RDP-15 P_EMA15 MACD y
2001-04-23 0.13 0.52 0.19 -0.11 -1 2001-04-30 0.16 0.32 0.14 -0.08 -1 2001-05-07 0.10 0.16 0.014 -0.07 +1 2001-05-14 0.04 0.14 0.03 -0.06 -1 2001-05-21 -0.09 0.19 0.01 -0.06 -1 2001-05-28 -0.20 0.09 -0.06 -0.06 +1 2001-06-04 -0.17 0.13 -0.04 -0.06 +1
A Tabela 3.1 exibe um exemplo de conjunto de dados que pode ser utilizado para treinar algum método de aprendizado de máquina aplicado ao mercado de ações, gerados na forma de atributos de entrada X(RDP-5, RDP15, P_EMA15, MACD) e atributo alvo Y(+1 ou -1). Trata-se de dados com periodicidade semanal, onde a coluna Date não deve ser considerada como um atributo de entrada para o aprendizado, mas apenas como um indicador de origem dos dados. Os atributos que efetivamente devem ser utilizados para a predição são (atributos de entrada): RDP-5, RDP-15, P_EMA15 e MACD. Os atributos RDP-5e RDP-15 indicam o quanto o preço de fechamento do dia é maior (valores posi-tivos) ou menor (valores negaposi-tivos) comparados ao preço de fechamento de 5 e 15 dias atrás, respectivamente. O atributo P_EMA15 representa a relação entre preço de
fecha-mento atual e o valor da média móvel exponencial dos preços de fechafecha-mento dos últimos 15 dias. Já o atributo MACD representa o valor calculado para o indicador técnico MACD na data. O atributo y representa a classe, já que trata-se de classificação binária onde as classes são: +1 para alta (próximo preço de fechamento será maior que o atual) e -1 para baixa (próximo preço de fechamento será menor que o atual).
Essa forma para construção de dados de treinamento a partir de séries temporais financeiras possibilita a utilização de um grande número de algoritmos de aprendizado de máquina muito utilizados em diversos problemas complexos de previsão. Nas próximas seções serão apresentados brevemente alguns dos algoritmos mais conhecidos e utilizados nas soluções que propõem a aplicação de aprendizado de máquina ao mercado de ações.
3.2.1 Máquina de Vetores de Suporte (SVM)
As máquinas de vetores de suporte (SVM, do inglês support vector machine) usam modelos lineares (em um espaço de dimensionalidade mais alta que a do espaço original dos dados) para implementar a separação de classes não linearmente separáveis no espaço de vetores de entrada. Para que isso seja possível, é realizado um mapeamento dos vetores do espaço vetorial de entrada para um espaço vetorial de dimensionalidade maior, onde as classes podem ser mais facilmente separadas (VAPNIK, 1995). A Figura 3.1 exibe a projeção de um problema de classificação de um espaço vetorial de entrada onde as classes não são linearmente separáveis para um espaço vetorial onde as classes se tornam linearmente separáveis.
Figura 3.1: Exemplo de projeção para um espaço vetorial onde as classes são linearmente separáveis.
Fonte: (STATSOFT, 2018)
Nesse novo espaço vetorial o algoritmo busca maximizar a margem de separação das classes, o que é conhecido como princípio da minimização do risco estrutural (SRM, do inglês structural risk minimization), em oposição ao princípio da minimização do risco empírico (ERM, do inglês empirical risk minimization), o qual é aplicado nas redes
neu-rais. ERM busca a minimização do erro sobre os dados de treinamento, ou seja, é mais suscetível a problemas de sobre-ajuste aos dados de treinamento, o que ocorre quando esses dados são decorados e o modelo apresenta baixa generalização para novos dados. SRM, por outro lado, busca a minimização de um limite superior para o erro de genera-lização, maximizando a separação entre as classes. A Figura 3.2 exibe o hiperplano que separa otimamente as classes de um problema de classificação binária. Existem 4 vetores de suporte nesse problema hipotético, dois de cada classe, que são os únicos necessários para a definição do hiperplano de separação ótima.
Figura 3.2: Exemplo de hiperplano ótimo de separação.
Fonte: (LEARNING, 2018b)
As SVMs são conhecidas por funcionarem muito bem em dados com alta dimen-sionalidade, mas são, no entanto, bastante sensíveis aos parâmetros de configuração do algoritmo, o que torna recomendável a utilização de algum método para otimização au-tomática desses parâmetros. O tempo de treinamento de uma SVM é de ordem cúbica em relação ao dados de entrada, o que torna esse algoritmo, na sua forma original, pouco apropriado para problemas com grande quantidade de dados de treinamento.
Soluções aplicando SVMs em problemas relacionados com o mercado financeiro são bastante frequentes, sendo muitas vezes apontado como um dos métodos de maior sucesso, juntamente com redes neurais e métodos ensemble (HUANG; NAKAMORI; WANG, 2005; BALLINGS et al., 2015; HUANG, 2012; LEE, 2009; GERLEIN et al., 2016; PATEL et al., 2015). Mais detalhes da aplicação deste método serão apresentados no capítulo de trabalho relacionados (Capítulo 4).