A negociação em mercados de capitais, sempre foi uma área de bastante
interesse por parte de instituições financeiras e investidores individuais, por
possuir um grande leque de possibilidades a serem exploradas. Entretanto, os
limites da capacidade do homem em analisar estratégias de investimento para
avaliar os melhores momentos para comprar e vender ativos em tempo hábil,
aflorou a necessidade do desenvolvimento de sistemas automatizados que
operam em bolsas de valores, comprando e vendendo ativos baseado em
estratégias pré-programadas.
Cada vez mais, a utilização desse tipo de tecnologia vem ganhando os
mercados em todo o mundo, nos Estados Unidos por exemplo, cerca de 70%
das operações já são realizadas por robôs de mercado, enquanto que no brasil,
apenas 10% das operações utilizam esse tipo de tecnologia, ainda assim,
implantadas e desenvolvidas em sua grande maioria, por instituições
estrangeiras.
A abordagem proposta para essa API trata do desenvolvimento de um
algoritmo com conceitos de aprendizado de máquina, para tentar otimizar os
ganhos obtidos em mercados de valores, visando integrar setor de mercados
de capitais com a ciência da computação no sentido de ampliar as
possibilidades.
Dessa forma, a ampliação da oferta e desenvolvimento dessas
tecnologias para o mercado brasileiro são de grande importância para que as
instituições financeiras permaneçam competitivas em um cenário cada vez
mais globalizado.
Análise e desenvolvimento de algoritmo para operação em bolsa de valores baseado em redes neurais
1. Análise e desenvolvimento de algoritmo para
operação em bolsa de valores baseado em redes
neurais
Atividades práticas integradoras
Prof. Orientadores:
Bruno Pérez Ferreira / FACE
Adriano C. Machado Pereira / DCC
Rodrigo Otávio Passos Ferreira - 2009052387
Sistemas de informação - UFMG
2. Contextualização
- Análise gráfica.
- Velocidade das informações.
-Fator emocional.
- Nos EUA 70% dos negócios
são realizados por algoritmos e
no brasil nem 10%.
3. Contextualização
- Padrões de indicadores gráficos
- Grande quantidade de indicadores
e papéis com diferentes
comportamentos.
- Reconhecimento de padrões.
- Treinamento com séries de dados
históricas.
4. Objetivos
Desenvolver uma estratégia automatizada de negociação em bolsa de
valores utilizando um algoritmo baseado em redes neurais, utilizando sinais de
entrada baseados em indicadores tradicionalmente utilizados na análise
gráfica, e avaliar seu desempenho através da realização de backtests com
dados históricos da bolsa brasileira - Bovespa.
5. Estratégia proposta
A estrategia de investimento proposta é baseada em uma rede neural em que os valores da camada
de entrada, são derivados a partir de valores de dois indicadores técnicos, Indice de força relativa
(RSI) e Money Flow Index (MFI).
6. Estratégia Proposta
A forma de utilizar esses indicadores como entradas da rede neural, foi definida de forma a
considerar a diferença entre seu valor atual e o valor referência (RSI 30-70 e MFI 20-80) nos seus
últimos 3 períodos da série temporal. de forma normalizada (valores de entrada entre 0.0 e 1.0).
7. Estratégia proposta
O valor de saída da rede proposta, foi
chamado de coeficiente, e o valor deste
irá determinar se é um bom momento de
compra ou de venda.
Os valores dos coeficientes foram determi-
nados de forma computacional, dentro
do processo de treinamento da rede
avaliando quais faixas de valores resultavam
em melhores resultados.
8. Treinamento da rede
Para treinar a rede, foi utilizado um método iterativo que é um recurso da própria plataforma utilizada
para implementar e avaliar os resultados, que possibilita a iteração dos valores dos pesos de cada
entrada dentro da faixa de 0.0 a 1.0 com passo 0.01; Foi utilizado um recurso da plataforma
(Metatrader) que utiliza um algoritmo genético para acelerar a otimização dos parâmetros (pesos de
entrada da rede).
Na plataforma, foi avaliado os resultados obtidos
na simulação para toda a faixa de valores de
peso possíveis para cada um dos pesos de
entrada da rede, afim de avaliar os melhores
resultados.
9. Metodologia
Após o treinamento e definição dos melhores parâmetros da rede, foi realizado um teste pra frente
(forward) para avaliar não apenas qual seria o desempenho do algoritmo, como tentar identificar qual
o “prazo de validade” de um treinamento realizado, afim de otimizar novamente a rede para que ela
aprenda com o novo cenário construído pelo tempo.
Os testes foram realizados utilizando os dados históricos reais da Bovespa, Foi avaliado
utilizando o papel BOVA11 (ETF Bovespa) afim de avaliar os melhores tempos gráficos e perídos de
testes a serem utilizados. Foram utilizadas apenas operações de compra para a execução dos testes,
utilizando um capital fictício de R$ 100.000,00 e um valor de taxas (corretagem) de R$ 10,00 a cada
operação realizada
12. Conclusões
Os dados apresentados na execução da estratégia proposta, permitiram verificar, ainda que de uma
forma não muito aprofundada, a possibilidade de se explorar técnicas de aprendizado de máquina no
desenvolvimento de algoritmos especializados para operação no mercado de ações.
A implementação da estratégia apresentada, conseguiu na maioria dos casos obter uma performance
melhor que a variação de mercado do ativo selecionado. Dentro da análise dos dados levantados,
podemos ainda considerar alguns pontos interessantes, como por exemplo a observação de uma
melhor adequação dos treinos e execução de estratégias baseados em análise gráfica, em períodos
gráficos mais longos, permitem uma melhor associação entre melhor treino, e treino que implica no
melhor teste.
Como trabalhos futuros, sugere-se o aprimoramento da estratégia proposta incluindo filtros de
horários e datas para teste e treino, também a avaliação dos resultados em outros ativos com maior
volatilidade, mas tomando o cuidado de observar se no período selecionado não ocorreram eventos
que possam distorcer os valores dos papéis como desdobramentos e agrupamentos.