Algotrading

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 86

UNIVERSIDADE FEDERAL DE SANTA CATARINA

UTILIZAÇÃO DE ALGOTRADING NO MERCADO DE


CRIPTOMOEDAS

DANIEL ANTONIO TELL

FLORIANÓPOLIS – SC
2022/2
UNIVERSIDADE FEDERAL DE SANTA CATARINA
DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA
CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO

UTILIZAÇÃO DE ALGOTRADING NO MERCADO DE


CRIPTOMOEDAS

DANIEL ANTONIO TELL

Trabalho de conclusão de curso submetido à


Universidade Federal de Santa Catarina como parte
dos requisitos para obtenção do grau de Bacharel em
Sistemas de Informação.

Orientador: Prof. Alex Sandro Roschildt Pinto, Dr.


Universidade Federal de Santa Catarina
[email protected]

FLORIANÓPOLIS – SC
2022/2
DANIEL ANTONIO TELL

UTILIZAÇÃO DE ALGOTRADING NO MERCADO DE


CRIPTOMOEDAS

Trabalho de conclusão de curso apresentado como parte dos requisitos


para obtenção do grau de Bacharel em Sistemas de Informação.

Orientador(a): Alex Sandro Roschildt Pinto

Banca examinadora

_________________________________
Frank Augusto Siqueira
Universidade Federal de Santa Catarina

_________________________________
Prof. Jean Everson Martina, Dr
Universidade Federal de Santa Catarina
AGRADECIMENTOS

A minha mãe Zelia e meu irmão Bruno, por todo apoio, compreensão, e
principalmente incentivo durante minha vida.
Aos outros membros de nossas famílias que nos deram força para
chegar onde chegamos.
Aos nossos amigos que se mostraram ótimos companheiros mesmo nos
momentos mais difíceis e sempre apoiaram nossas idéias.
Ao orientador Alex Sandro, que sempre meu ajudou quando necessário
e deu rumo a esse trabalho.
Resumo

Este trabalho tem a motivação em demonstrar a aplicação, por meio da


análise, de algoritmos que de forma automatizada possam tomar decisões de
investimento sobre criptomoedas, conhecidas também como moedas digitais.
Esses algoritmos podem atuar nos mercados buscando a obtenção de sinais
de movimentos no mercado de criptomoedas podendo gerar alertas para o
investidor. O estudo compreende as análises gráfica de dados coletados de
uma corretora real de criptomoedas, a fim de prever tendências nos preços dos
ativos digitais e criar estratégias para tomada de decisão de negociação
desses ativos. As estratégias de algotrading conseguiram uma lucratividade
bem maior que estratégias clássicas de negociação de ativos.

Palavras-chave: Moeda Digital, Criptomoeda, Robôs, Algotrading,


análise técnica.
Abstract

This work is motivated to demonstrate the application, through analysis,


of algorithms that can automatically make investment decisions about
cryptocurrencies. These algorithms can act in the markets seeking to obtain
movement signals in the cryptocurrency market and can generate alerts for the
investor. The study comprises the graphical analysis of data collected from a
real cryptocurrency exchange, in order to predict trends in the prices of digital
assets and create strategies for decision-making in trading these assets.
Algotrading strategies have achieved far greater profitability than classic asset
trading strategies.

Keywords: Digital Currency, Cryptocurrency, Robots, Algotrading,


technical analysis.
Lista de Figuras

Figura 1 - Classificação das criptomoedas......................................................................16


Figura 2 - Classificação das criptomoedas 2...................................................................17
Figura 3 - Tipos de médias móveis..................................................................................23
Figura 4 - Cruzamento média x média............................................................................23
Figura 5 - Sobrecompra e sobrevenda - RSI....................................................................25
Figura 6 - Visão Geral do Sistema Implementado..........................................................30
Figura 7 - Diagrama de Classes do Sistema....................................................................31
Figura 8 - Formulário AlgotradingPy no Jupyter Notebook...........................................33
Figura 9 - Comportamento da estratégia de trade (CMM 13/21) no par BTC/USD.......36
Figura 10 - Comportamento da estratégia de trade (CMM 8/13) no par BTC/USD.......36
Figura 11 - Comportamento da estratégia de trade (MME9) no par BTC/USD.............37
Figura 12 - Comportamento da estratégia de trade (RSI) no par BTC/USD...................37
Figura 13 - Comportamento da estratégia de trade (CMM 13/21) no par ETH/USD.....38
Figura 14 - Comportamento da estratégia de trade (CMM 8/13) no par ETH/USD.......39
Figura 15: Comportamento da estratégia de trade (MME9) no par ETH/USD...............39
Figura 16 - Comportamento da estratégia de trade (RSI) no par ETH/USD...................40
Figura 17 - Comportamento da estratégia de trade (CMM 13/21) no par SOL/USD.....41
Figura 18 - Comportamento da estratégia de trade (CMM 8/13) no par SOL/USD.......41
Figura 19 - Comportamento da estratégia de trade (MME9) no par SOL/USD..............42
Figura 20 - Comportamento da estratégia de trade (RSI) no par SOL/USD...................42
Figura 21 - Comportamento da estratégia de trade (CMM 13/21) no par XRP/USD.....43
Figura 22 - Comportamento da Estratégia de trade (CMM 8/13) no par XRP/USD......44
Figura 23 - Comportamento da estratégia de trade (MME9) no par XRP/USD.............44
Figura 24 - Comportamento da estratégia de trade (RSI) no par XRP/USD...................45
Figura 25 - Comportamento da estratégia de trade (CMM 13/21) no par LTC/USD.....46
Figura 26 - Comportamento da estratégia de trade (CMM 8/13) no par LTC/USD.......46
Figura 27 - Comportamento da estratégia de trade (MME9) no par LTC/USD..............47
Figura 28 - Comportamento da estratégia de trade (RSI) no par LTC/USD...................47
Figura 29 - Comportamento da estratégia de trade (CMM 13/21) no par BCH/USD.....48
Figura 30 - Comportamento da estratégia de trade (CMM 8/13) no par BCH/USD.......49
Figura 31 - Comportamento da estratégia de trade (MME9) no par BCH/USD.............49
Figura 32 - Comportamento da estratégia de trade (RSI) no par BCH/USD..................50
Figura 33 - Comportamento da estratégia de trade (CMM 13/21) no par TRX/USD.....51
Figura 34 - Comportamento da estratégia de trade (CMM 8/13) no par TRX/USD.......51
Figura 35 - Comportamento da estratégia de trade (MME9) no par TRX/USD.............52
Figura 36 - Comportamento da estratégia de trade (RSI) no par TRX/USD..................52
Figura 37 - Comportamento da estratégia de trade (CMM 13/21) no par EOS/USD.....53
Figura 38 - Comportamento da estratégia de trade (CMM 8/13) no par EOS/USD.......54
Figura 39 - Comportamento da estratégia de trade (MME9) no par EOS/USD..............54
Figura 40 - Comportamento da estratégia de trade (RSI) no par EOS/USD...................55
Figura 41 - Comportamento da estratégia de trade (CMM 13/21) no par NEO/USD.....56
Figura 42 - Comportamento da estratégia de trade (CMM 8/13) no par NEO/USD.......56
Figura 43 - Comportamento da estratégia de trade (MME9) no par NEO/USD.............57
Figura 44 - Comportamento da estratégia de trade (RSI) no par NEO/USD..................57
Figura 45 - Comportamento da estratégia de trade (CMM 13/21) no par XMR/USD....58
Figura 46 - Comportamento da estratégia de trade (CMM 8/13) no par XMR/USD......59
Figura 47 - Comportamento da estratégia de trade (MME9) no par XMR/USD............59
Figura 48 - Comportamento da estratégia de trade (RSI) no par XMR/USD.................60
Lista de Tabelas

Tabela 1 - Resultados dos Setups de Trade no Par BTC/USD........................................35


Tabela 2 - Resultados dos Setups de Trade no Par ETH/USD........................................38
Tabela 3 - Resultados dos Setups de Trade no Par SOL/USD........................................40
Tabela 4 - Resultados dos Setups de Trade no Par XRP/USD........................................43
Tabela 5 - Resultados dos Setups de Trade no Par LTC/USD........................................45
Tabela 6 - Resultados dos Setups de Trade no Par BCH/USD.......................................48
Tabela 7 - Resultados dos Setups de Trade no Par TRX/USD........................................50
Tabela 8 - Resultados dos Setups de Trade no Par EOS/USD........................................53
Tabela 9 - Resultados dos Setups de Trade no Par NEO/USD.......................................55
Tabela 10 - Resultados dos Setups de Trade no Par XMR/USD.....................................58
Sumário
1. INTRODUÇÃO...........................................................................................................11
1.1 Motivação..................................................................................................................11
1.2 OBJETIVOS..............................................................................................................11
1.2.1 Objetivo Geral........................................................................................................11
1.2.2 Objetivos Específicos.............................................................................................12
1.3 Justificativa................................................................................................................12
1.4 Organização dos Capítulos........................................................................................13
1.5. Metodologia..............................................................................................................13
2. FUNDAMENTAÇÃO TEÓRICA..............................................................................13
2.1. Criptomoedas e suas Tecnologias.............................................................................13
2.1.1 Blockchain..............................................................................................................17
2.1.2 Smart Contract........................................................................................................18
2.1.3 Tangle.....................................................................................................................18
2.2. Algotrading...............................................................................................................19
2.3 Análises Fundamentalistas........................................................................................19
2.4. Análise técnica de ações...........................................................................................20
2.4.1 Indicadores Técnicos..............................................................................................21
2.4.2 Médias Móveis.......................................................................................................21
2.4.3 Relative Strength Index..........................................................................................24
3. TRABALHOS RELACIONADOS.............................................................................25
4. SISTEMA....................................................................................................................29
4.1 Estrutura do Sistema..................................................................................................29
4.2 Instalação...................................................................................................................31
4.3 Importação dos Dados...............................................................................................32
4.4 Executar Backtest......................................................................................................32
4.5 Disponibilização do código-fonte..............................................................................33
5. RESULTADOS...........................................................................................................33
5.1 Setup da Simulação...................................................................................................34
5.2 Resultados Obtidos....................................................................................................35
6. CONCLUSÃO E TRABALHOS FUTUROS.............................................................61
Referências......................................................................................................................62
APÊNDICE A – Código Fonte........................................................................................67
APÊNDICE B – Artigo SBC...........................................................................................68
1. INTRODUÇÃO
1.1 Motivação
A busca por investimentos com uma alta taxa de obtenção de ganhos
financeiros é um assunto que desperta o interesse de muitos indivíduos da
sociedade. Onde aplicar, quanto aplicar, a possível existência de riscos, o
prazo ideal são dúvidas que cercam os novos investidores. Investidores esses
que agora estão voltando seus olhos para o mercado de moedas digitais, ou
também conhecidas por Criptomoedas, que surgiram alguns anos atrás
chamando pouca ou nenhuma atenção, mas hoje fazem parte de tópicos de
discussão em grande parte dos assuntos relacionados a investimentos e
finanças.
Entretanto, existem problemas acerca de informações mais detalhadas,
como análises técnicas ou gráficas, das flutuações de preços desses ativos no
mercado que o investidor deve se atentar neste tipo de mercado.
A utilização de robôs para atuarem no mercado de financeiro já ocorre
há algum tempo e com relativo sucesso, permitindo que um investidor com
pouco conhecimento consiga operar e ainda obter ganhos. Mas tem o
problema econômico, pois esses robôs são muito caros para o investidor de
pequeno porte, isso faz com que esses softwares sirvam apenas para grandes
investidores ou corretoras. Será que é possível, claro que com algumas
adaptações, desenvolver uma ferramenta utilizando esse tipo de artifício para
que se possa obter resultados positivos de ganhos financeiros nos novos
mercados de criptomoedas?

1.2 OBJETIVOS

1.2.1 Objetivo Geral

O objetivo deste trabalho é desenvolver uma ferramenta que possa


realizar análises técnicas de moedas digitais além de ser capaz de realizar
backtesting e simulação da estratégia nos dados históricos, a fim obter um
melhor resultado financeiro.

11
Os dados históricos das cotações das criptomoedas podem ser
encontrados de forma simples e gratuita na Internet, então bastaria ao usuário
fazer essa carga de dados na ferramenta.

1.2.2 Objetivos Específicos

Para realizar o desenvolvimento do software proposto serão necessários


os seguintes passos:

 Estudo sobre Bitcoins e as outras criptomoedas;


 Estudo sobre o mercado de criptomoedas;
 Estudo sobre metodologias de séries temporais;
 Escolha de metodologias de series temporais disponíveis na
linguagem Python;
Feita a implementação da ferramenta para análise de investimentos serão
realizados os estudos e as demonstrações descritas a seguir:
 Verificação dos acertos da ferramenta observando dados
históricos passados;
 Demonstrar os resultados obtidos com o desenvolvimento da
ferramenta.

1.3 Justificativa

As pessoas, físicas ou jurídicas, buscaram sempre uma maneira de


entender o mercado de ativos e suas tendências para buscar resultados
melhores no futuro.
Antigamente, os cálculos eram todos feitos de forma manual, fazendo
com que se perca muito tempo e às vezes até os resultados poderiam sair bem
diferentes por pequenos erros cometidos.
Com o surgimento de computadores softwares e plataformas para esse
fim especifico começaram a ser desenvolvidas, no entanto eles acabavam se
tornando bastante restritos para o grande público. Foi então que surgiu essa
ideia de desenvolver uma ferramenta que pudesse fazer análises técnicas e
disponibilizar o mesmo para todas as pessoas.

12
Assim sendo, basta ao usuário fazer a carga de dados no sistema para
que ele gere gráficos com indicadores, e informe as tendências de mercado
utilizando métodos estatísticos comprovados pela comunidade mundial.

1.4 Organização dos Capítulos

Primeiramente será justificada a escolha dos recursos tecnológicos


utilizados para a implementação do aplicativo.
O capítulo 2 apresenta a fundamentação teórica, com as definições e
conceitos fundamentalistas, técnicos com um breve histórico das metodologias
de séries temporais que serão utilizadas no trabalho e suas utilizações.
E por último serão mostrados os resultados obtidos através da utilização
das funcionalidades de análise técnica da ferramenta.

1.5. Metodologia

Com o intuito de alcançar os objetivos propostos, este trabalho adotou o


método de pesquisa exploratória, através da aplicação prática de técnicas
existentes em outros trabalhos correlatos e o desenvolvimento deste trabalho
será baseada no XP (Extreme Programming), que busca de maneira ágil
realizar um desenvolvimento sem tantas documentações quanto as
encontradas em projetos que seguem outros padrões. A justificativa de se usar
esta metodologia é simplesmente pelo fato de que não se trata de um projeto
de grandes proporções e muito menos será desenvolvido por uma equipe com
muitos membros.

2. FUNDAMENTAÇÃO TEÓRICA

2.1. Criptomoedas e suas Tecnologias

As criptomoedas são moedas virtuais, conversíveis e descentralizadas, e


que se caracterizam, adicionalmente, por serem protegidas por criptografia. A
criptografia começou a ser utilizada para o uso na construção de moedas
digitais no final dos anos 80, porém, as pioneiras não obtiveram sucesso pois

13
eram centralizadas - normalmente lastreados por uma moeda nacional ou um
metal precioso, como o ouro - e, como resultado, eram fáceis de ser atacadas
tanto por governos como por hackers (ANTONOPOULOS, 2014).

A primeira e mais importante dessas moedas é o Bitcoin, lançado, em


2009, por um programador de nome (mais provavelmente um codinome)
Satoshi Nakamoto, ou grupo de programadores. Os Bitcoins podem ser
comprados, vendidos ou trocados por outras moedas em casas de cambio
especializadas. De certo modo, o Bitcoin é o dinheiro perfeito para a Internet,
pois é rápido, seguro e sem fronteiras (ANTONOPOULOS, 2014).

Existem também centenas de outras espécies de criptomoedas, que


seguem aproximadamente a mesma lógica, diferenciando-as apenas pelas
tecnologias utilizadas, e às quais se atribui, genericamente, o nome de altcoins.
Como exemplos, entre outras, a Ethereum, a XRP, o Bitcoin Cash, a Litecoin, a
EOS, a TRON, a Monero, a IOTA, a Dash, a NEO, a Zcash e Bitcoin Gold. A
grande maioria das altcoins são derivadas do código-fonte do Bitcoin, mais
conhecidas como “forks” (em português, bifurcações), baseando-se no modelo
do Blockchain e, em alguns casos, implementadas do zero sem utilizar nenhum
código-fonte do Bitcoin.
A terminologia de blockchain pode ser confusa. Mas, na verdade, é
bastante simples: as coins são uma moeda, os tokens de utilidade oferecem o
direito de usar um produto ou serviço, e os tokens de segurança representam
um produto de investimento. A figura 1 apresenta uma tabela de classificação
de tokens e abaixo estão os onze parâmetros utilizados para descrever seus
atributos segundo Oliveira (2018).

 Classe: essa é uma distinção importante que empresta uma


categorização confortável aos tokens com utilidade anexada,
distinguindo assim o dinheiro digital (Cryptocurrencies), de ações digitais
com direito a participação ou dividendos (Tokenised Security) e dos
ativos criptográficos restantes (Utility Tokens).

14
 Objetivo: um token existe porque representa exclusivamente um ativo
(Asset-Backed), confere ao seu titular uma permissão de acesso da
mesma forma que um cartão de acesso (Usage Token) ou é usado
como recipiente de valor para recompensar um determinado
comportamento (Work Token).
 Função: os tokens podem conceder um direito ao seu titular (Right),
representar uma unidade de troca de valor em um sistema interno
(Value Exchange), representar uma taxa por fins de pagamento por uso
ou acesso a uma plataforma (Toll), incorporam uma ferramenta para
enriquecer a experiência do usuário e recompensam o comportamento
do usuário (Function), constituem um método de pagamento de fato
(Currency) ou incorporam o direito de conferir participação nos lucros ao
detentor do token (Earnings).
 Representação: os tokens podem representar ativos digitais puros,
como direitos de voto ou identidades digitais (Digital), estar vinculados a
objetos físicos como em propriedades inteligentes ou objetos inteligentes
(Physical), ser vinculados a objetos de realidade virtual (Virtual) ou
representar direitos legais concedidos por lei ou acordados entre as
partes (Legal).
 Fornecimento: descreve se um fornecimento de token é fixo e
distribuído de uma só vez (Fixed) ou se comporta de acordo com um
cronograma específico (Schedule-based).
 Sistema de incentivos: os meio de incentivos na qual os tokens
exercem influência sobre a rede e seu detentor.
 Transações: os tokens que podem ser gastos em uma plataforma são
considerados Spendable, enquanto os demais são Non-Spendable.
 Propriedade: na maioria dos casos, a propriedade dos tokens pode
mudar de mãos (Tradable), embora haja casos em que isso não é
possível (Non-Tradable).
 Fungibilidade: um ativo fungível é intercambiável com outro ativo da
mesma categoria.

15
 Camada: um atributo técnico que se refere à distinção de onde os
tokens são baseados.
 Cadeia: a cadeia na qual o protocolo se baseia e que também afeta o
design do token.

Figura 1 - Classificação das criptomoedas

Fonte: OLIVEIRA (2018)

Uma outra classificação com o intuito de exemplificar e facilitar a visualização


dos tipos de criptomoedas, feita com base na classificação anterior, pode ser
vista na figura 2.

16
Figura 2 - Classificação das criptomoedas 2

Fonte: O autor (2022).

2.1.1 Blockchain

Desenvolvida por um programador de nome Satoshi Nakamoto, mais


provavelmente um codinome ou um grupo de programadores. É uma espécie
de livro-razão distribuído, disponível a todos os usuários de uma rede, com o
histórico de todas as transações já realizadas. Essa solução resolve o
problema de gasto duplo (transações gastando a mesma quantia de Bitcoin
mais de uma vez na mineração) ao se utilizar a criptomoeda Bitcoin.
O principal processo de obtenção de criptomoedas não oriunda de uma
transação financeira é através da Mineração. Esse processo consiste em
adquirir digitalmente a posse de um certo número de criptomoedas a partir de
um esforço computacional despendido pelo hardware de uma pessoa
(Minerador) que realiza esse processo (NAKAMOTO, 2008). A Blockchain foi
criada em janeiro de 2009, tendo como algoritmo de Hashing o SHA-256 e
Block Time de 10 minutos, possui o limite de mineração de aproximadamente
21 milhões unidades de bitcoin.

17
2.1.2 Smart Contract

O Ethereum, por sua vez, foi concebido para ser uma rede ponto-a-
ponto de máquinas virtuais e foi criado como uma plataforma para criar e
executar contratos inteligentes ou aplicações descentralizadas sobre
blockchain. Esta rede não é gratuita e para utilizá-la, o usuário do Ethereum
necessita adquirir sua criptomoeda, o Ether (WOOD, 2014).
O blockchain de Ethereum surge como uma interessante e promissora
alternativa às limitações de Bitcoin, tais como longo intervalo de confirmação
entre blocos e centralização da mineração em torno de poucos usuários.
Entretanto, ele apresenta um elevado nível de complexidade e isto poderá
trazer dificuldades à sua segurança e à sua ampla adoção. Percebe-se a
necessidade de alternativas que reúnam o enorme potencial de Ethereum com
a simplicidade da arquitetura do Bitcoin.
Foi criada em julho de 2015, tem como algoritmo de Hashing o Ethash e
de acordo com a Investopedia é muito mais rápido adquirir moedas de éter do
que bitcoin, pois seu Block Time é em torno de 15 segundos apenas e
atualmente há muito mais unidades de éter em circulação do que o bitcoin.

2.1.3 Tangle

Tangle ou “emaranhado” naturalmente sucede ao blockchain como seu


próximo passo evolutivo e oferece recursos necessários para estabelecer um
sistema de micropagamento de máquina para máquina (POPOV, 2017).
É um protocolo de consenso e usa o Gráfico Acíclico Dirigido (DAG)
para organizar blocos, em vez de cadeia, onde DAG é um gráfico direcionado
finito sem ciclos direcionados. No Tangle, uma transação deve aprovar (ou
apontar para) duas transações anteriores. Finalmente, um dos registros
conflitantes pode vencer a competição de aprovação e ser aceito.
Diferentemente da cópia única na estrutura da cadeia, o Tangle não descarta
transações conflitantes e as mantém em diferentes ramificações do DAG. A
estrutura do DAG pode alcançar uma melhor capacidade.

18
2.2. Algotrading
Esse tipo de algoritmo vem chamando muito a atenção de especialistas
em mercado de ações pelo mundo todo. Sua velocidade surpreendentemente
elevada é o que determina a obtenção de lucro. Eles definem variáveis como
quantidade, preço e a hora ideal para se realizar cada transação, fragmentando
o tamanho das ações para dessa forma reduzir o impacto no mercado. Esses
processos ocorrem de forma automatizada, onde se é dispensada a atuação ou
análise do ser humano para o processo de deliberação (ALDRIDGE, 2010).
Para outros especialistas como, por exemplo, Hanson e Hendershott
(2011) há uma expressiva diminuição nos custos de transação devido a
realização do processo por parte do robô de forma extremamente rápida,
previamente programada e sua vida útil ser notavelmente superior ao do ser
humano. Essa característica não humanal, como enfatizada por Hanson em
seu texto, ainda contribui para a redução dos custos de capitais para as
empresas atuantes no mercado, resultando assim numa diminuição do impacto
de cada operação nos preços das ações comercializadas, devido à expressiva
divisão das transações em ordens de menor tamanho.

2.3 Análises Fundamentalistas


O foco da ferramenta a ser desenvolvida não é essa forma de análise,
mas mesmo assim ela merece algum destaque. Nela o investidor se baseia nos
números propriamente ditos das empresas, como lucro líquido e endividamento
em relação ao preço atual da ação (Stock Market Strategy).

Dessa forma podem ser encontradas verdadeiras barganhas para


investimentos a longo prazo. Essa é uma forma de análise voltada mais para
investidores mais conservadores e que não tem tanto tempo para acompanhar
o mercado de perto.

O precursor da análise fundamentalista foi Benjamin Graham lá pelas


décadas de 20 nos Estados Unidos. Um dos seus mais brilhantes alunos na
Universidade de Colúmbia foi o mega-investidor Warren Buffet, fundador da
Berkshire Hathaway Inc.

19
Os fundamentos do Value Investing segundo Benjamin Graham se
baseiam nos 10 fundamentos a seguir (Graham, Zweig, 2003):
 Tamanho das empresas, que não podem ser muito pequenas. Tem que
ter algo em torno de $100 milhões em vendas por ano;
 Posição financeira forte;
 Bom histórico de dividendos, no mínimo 20 anos;
 Nenhum prejuízo nos últimos 10 anos;
 Pelo menos 10 anos de crescimentos constantes;
 Relação preço da ação e ativos líquidos inferior a 1.5 vezes;
 Preço da ação inferior a 15 vezes o lucro dos últimos 3 anos;
 O produto do Preço/Lucro pelo Preço/Valor Patrimonial por ação deve
ser inferior a 22,5;
 Lucro/preço parecido com certificados emitidos por bancos;
 Diversificar o portfólio para não depender de apenas uma barganha.
Apesar de ter várias vantagens, o maior problema desse tipo de analise
é que o investidor perde varias oportunidades de se desfazer de uma ação a
um preço mais alto para depois a recomprar por um preço mais baixo. Agindo
assim, ele ganharia dessa forma algum lucro e manteria a mesma ação com
fundamentos em carteira (Gunther, 2004).

2.4. Análise técnica de ações


A análise técnica de ações surgiu por volta do ano 1700, quando famílias
japonesas passaram a acompanhar a variação do preço do arroz, com o intuito
de formular tendências para tais oscilações. Esse método ficou conhecido
como Candlesticks.

O comportamento da massa de investidores gera tendências


consistentes; o mercado não é aleatório e mostra situações de grande
previsibilidade. O movimento dos preços reflete a percepção positiva ou
negativa dos investidores em relação ao mercado (MATSURA, 2007).

20
2.4.1 Indicadores Técnicos

A utilização de indicadores técnicos na compreensão da movimentação


dos preços dos ativos negociados na bolsa de valores é de suma importância.
Os indicadores podem ajudar na identificação das tendências e de seus pontos
de reversão.
Um problema que pode acontecer, ao se utilizar alguns indicadores
técnicos, é de que, muitas vezes, eles se contradizem uns aos outros, pois
alguns deles funcionam melhor em mercados sem tendência (osciladores) e,
outros, em mercados com tendência (rastreadores) (Noronha, 1995).
Os rastreadores de tendências funcionam melhor, quando os mercados
estão em alta ou em baixa, mas oferecem sinais precários e perigosos, quando
os mercados estão na horizontal. Como exemplos, pode-se citar: Médias
Móveis, Moving Average Convergence-Divergence (MACD), Histograma
MACD, Sistema Direcional, On-Balance Volume (OBV),
Acumulação/Distribuição e outros (Noronha, 1995).

Por sua vez, os osciladores captam pontos de inflexão nos mercados


horizontais, mas emitem sinais prematuros e inseguros, quando os mercados
começam a seguir determinada tendência. Entre os osciladores temos o
Estocástico, Taxa de Mudança, Índice de Força Relativa (IFR), Elder-ray, Force
Index e outros.

2.4.2 Médias Móveis

Os tipos mais comuns de médias móveis são: Simples (ou também


conhecida como Aritmética), Exponencial, Ponderada, Dupla e Tripla
Exponencial, entre outras. Iremos focar apenas nas duas primeiras que são as
que estão disponíveis na ferramenta. A principal vantagem da média móvel é o
alisamento dos ruídos do gráfico de preços, facilitando assim a determinação
da tendência.
A média móvel simples é uma média aritmética, ou seja, a soma dos
preços é dividida pela quantidade de preços. A média móvel ponderada dá
maior peso aos preços mais recentes e menores aos preços mais antigos. A

21
média móvel exponencial atribui um peso que cresce exponencialmente do
preço mais antigo ao mais recente (MATSURA, 2007).

A seguir podemos ver as fórmulas utilizadas para calculá-las e um


gráfico utilizando média aritmética e exponencial pode ser visto na figura 3
(Investopedia, 2019).

Média móvel Simples


P 1+ P2+...+ P N
MMA =
N

onde:
PN = Preço por período
N = Número de dias no período

Média Móvel Exponencial


EMA=Preço h × k + MMA o × (1 − k )

onde:
h = Hoje

2
k=
N +1

MMA = Média Móvel Aritmética do fechamento do preço


para o número de dias no período
o = Ontem

22
Figura 3 - Tipos de médias móveis

Fonte: O autor (2022).

Figura 4 - Cruzamento média x média

Fonte: O autor (2022).

Esse seguidor de tendência pode ser usado de forma isolada ou em


conjunto. Na primeira escolhemos um tipo e um tempo de análise para fazer
considerações se a tendência é de alta ou de baixa. Quando se opta trabalhar
com ele de forma em conjunto, usa-se duas ou mais médias e tenta-se

23
trabalhar em cima dos cruzamentos das mesmas para identificar pontos de
entrada e saída do ativo. A figura 4 ilustra os cruzamentos de uma média curta
de 10 períodos com uma média longa de 50 períodos em intervalos de 30
minutos.

2.4.3 Relative Strength Index

Também é conhecido como IFR (Índice de Força Relativa) no Brasil. Foi


desenvolvido em 1978 por Welles Wilder. O que se mede é a força relativa dos
compradores (fechamentos em Alta) em relação aos vendedores (fechamento
em Baixa). Podemos ver a sua fórmula abaixo. FR é a razão entre a média dos
dias que esteve em alta no período e a média dos dias em baixa.

IFR=100− ( 1+100FR )
Médiadas variações dos fechamentos em ALTA
FR=
Média das variações dos fechamentos em BAIXA

Fonte: MATSURA, E. (2007, p. 81).

A fórmula sempre retornará um valor entre 0 e 100, então a análise se


faz em cima desse número. Diz que o ativo está sobrecomprado caso ele
esteja acima de 70, isto é, muitas pessoas o compraram e indica que talvez
haja uma reversão de tendência e o preço caia. Enquanto isso, ele vai estar
sobrevendido caso o valor esteja abaixo de 30, ou seja, há uma tendência que
haverá uma subida nas cotações dos ativos. Esses valores também podem ser
alterados para 80 e 20, respectivamente, para dar uma maior confiança aos
resultados (MATSURA, 2007). A seguir podemos ver um gráfico com o IFR em
ação.

24
Figura 5 - Sobrecompra e sobrevenda - RSI

Fonte: O autor (2022).

3. TRABALHOS RELACIONADOS

Nesta sessão serão apresentados os trabalhos relacionados. Foram


selecionadas técnicas e abordagens que utilizam algotrading para negociação
automática ou para indicação de investimentos.

No artigo de [Patel, J .2015] é abordado o problema em tentar prever a


direção do movimento das ações e o índice de preços das ações nas bolsas de
valores. Comparam quatro modelos de previsão, Rede Neural Artificial (ANN),
Máquina de Vetor de Suporte (SVM), floresta aleatória (random forest) e Bayes
ingênuo (naive) com duas abordagens para os dados de entrada. A primeira
abordagem envolve o cálculo de dez parâmetros técnicos usando dados de
negociação de ações (preços de abertura, mínima, máxima e fechamento),
enquanto a segunda abordagem se concentra em representar esses
parâmetros técnicos como dados determinísticos de tendência.

Ao final os modelos são avaliados e a precisão de cada um dos modelos


de previsão para cada uma das duas abordagens de entrada é avaliada. Essa
avaliação da precisão de cada modelo foi realizada com o uso de 10 anos de

25
dados históricos de 2003 a 2012 de duas ações. Os experimentos mostraram
que floresta aleatória foi superior e obteve 83,56% de precisão, já o modelo de
Bayes ingênuo foi o modelo com pior desempenho, 73,3% de precisão apenas.
Observaram que o desempenho de todos os modelos é aprimorado
significativamente quando são aprendidos por meio de dados determinísticos
de tendências.

O trabalho proposto por (Atsalakis; Valavanis, 2009), apresenta técnicas


de previsão para o mercado de ações utilizando a abordagem de computação
soft. Foram examinados mais de 100 artigos publicados que enfocam técnicas
neurais e neuro-fuzzy derivadas e aplicadas às previsões das bolsas de
valores. Foi observado que as redes neurais e os modelos neuro-fuzzy são
adequados para a previsão do mercado de ações e que os experimentos
demonstraram que as técnicas de computação soft superam os modelos
convencionais na maioria dos casos. No entanto, surgem dificuldades ao definir
a estrutura do modelo, como funções de associação para conjuntos difusos,
camadas ocultas dos neurônios, por exemplo.

Um método de deep learning baseado em (Long Short-Term Memory)


que aprende padrões temporais, é proposto em (Da Silva, 2021). O método foi
testado em condições de bear e bull market retornando uma taxa de
rentabilidade líquida de 208,23% em 2019 e 112,81% em 2015. Entretanto o
algoritmo proposto apresenta uma baixa acurácia.

Estratégias clássicas de análise técnica (bandas de bollinger,


cruzamento de médias aplicadas) as moedas BTC e ETH são apresentadas em
(Luci, 2022). Apesar do alto retorno (chegando a 249% em alguns casos), as
estratégias foram testadas somente em bull market, o que não comprova a
eficácia dos algoritmos.

Robôs de advertência foram propostos em (Jung; Glaser; Köpplin, 2019)


e testados no mercado americano entre os anos de 2016 e 2019. Os robôs
obtiveram resultados melhores que fundos de equity, renda fixa e fundos
híbridos. Robôs de advertência também foram abordados em (Tao; Su; Xiao,
Dai; Khalid, 2021). O estudo comparou o risco ajustado dos robôs de

26
advertência com fundos convencionais dos EUA , demonstrando que os robôs
provêem facilidade de acesso aos investidores e baixo custo.

Algoritmos de high frequency trade (HFT) foram aplicados no mercado


chileno em (Crawford; Soto; Martín; Fuente-Mella, Castro; Paredes, 2018). Os
algoritmos propostos foram testados no intraday e swing trade de um mês e um
semestre. Os autores fizeram os testes utilizando cruzamento de médias.

Uma abordagem baseada em data science para avaliação, design e


avaliação de algotradings aplicados ao mercado tradicional e ao mercado de
criptos foi apresentado em (Zhang; Wu; Lahrichi; Salas-Flores; Li, 2022). Foram
testados algoritmos de cruzamento de médias, estratégia baseada em volume,
análise de sentimentos e algoritmos de arbitragem estatística.

Uma abordagem multi-estratégica para negociação de forex é


apresentada em (Mahajan; Salian; Jadhav; Kulkarni, 2021). O modelo foi
construído baseado em otimizações múltiplas visando o retorno a longo prazo,
cujos resultados apresentaram uma lucratividade de 17,5% superior ao
S&P500 em um ano, quando comparado a uma estratégia simples.

Um algotrading baseado em algoritmos genéticos foi apresentado em


(Conti; Lopes, 2019), o algoritmos genético foi utilizado para otimizar os
parâmetros de setup de trade. O método foi comparado com estratégia de
cruzamento de médias, considerando 5 anos de trade em ações da Petrobrás
(PETR4).

A otimização de linhas de suporte e resistência baseada em algoritmos


evolucionários foi abordada em (Yıldırım; Uçar; Özbayoğlu, 2019). A proposta
foi comparada com a estratégia buy and hold, entretanto não obteve resultados
superiores a esta técnica.

Um sistema de suporte à decisão para operar no mercado de petróleo é


apresentado em (Tudor; Sova, 2022). A abordagem apresentou flexibilidade e
alta taxa de acerto na predição dos preços. O aprendizado por reforço e
detecção de mudança de direção do mercado foi abordado em (Aloud;
Alkhamees, 2021). Os autores fizeram simulação de backtest nos mercados

27
S&P500, Dow Jones e Nasdaq de 2015 a 2020, demonstrando que a
abordagem proposta é adequada a mercados voláteis.

Uma abordagem baseada em deep reinforcement learning (DRL), para


encontrar a posição de trade ótima é apresentada em (Théate; Ernst, 2021). A
abordagem se baseia no aprendizado por reforço baseado na geração de
trajetórias artificiais de um conjunto de dados históricos do mercado. Os
autores afirmam que os resultados são promissores. O aprendizado por reforço
também foi abordado por (Cumming, 2015), entretanto os resultados não foram
promissores. Desta forma, a única contribuição dos autores foi a arquitetura
proposta.

Uma rede neural estocástica para o mercado de criptomoedas foi


apresentada em (Kalariya; Parmar; Jay; Tanwar; Raboaca; Alqahtani; Tolba;
Neagu, 2022). Os testes de backtest foram realizados em uma janela de 600
dias (2017 a 2019) nas moedas, bitcoin, ethereum e litecoin e atingiram um
desempenho superior a estratégia buy and hold.

Algotrading baseado em indicadores técnicos é apresentado em (Salkar;


Shinde; Tamhankar; Bhagat, 2021). Estratégias com MACD e RSI
apresentaram ganhos de 12%. Porém vale ressaltar que estes ganhos devem
considerar o tipo de mercado (bull ou bear market) e a comparação com a
estratégia buy and hold.

Estratégia de redes neurais artificiais foram abordada em (Assis; Pereira;


Silva, 2018). Os autores aplicaram a técnica proposta no mercado brasileiro
(Bovespa) atingindo resultados promissores. Abordagem baseada em machine
learning, teoria dos grafos e deep learning foi apresentada em (Patil; Wu,
Potika; Orang, 2020). Os autores demonstram que a técnica proposta é
superior a estratégias tradicionais de análise técnica por conseguirem se
adaptar as características do mercado financeiro.

O uso de árvore de decisão, suport vector machine e redes neurais foi


utilizado em (Patil; Wu, Potika; Orang, 2020) para construir 25 classificadores
que foram testados em mercados da África do Sul, Gana, Índia e EUA. Os
classificadores obtiveram resultados promissores frente a técnicas tradicionais.

28
O uso de redes neurais artificiais combinado com algoritmos genéticos
no mercado de Forex foi apresentado em (Evans; Pappas; Xhafa, 2013). Os
pares GBP∖USD, EUR∖GBP e EUR∖USD, foram testados com uma precisão
de 72.5% e retorno anual de 23,3%.

O processamento de linguagem natural para balanceamento de


portfólios foi abordado em (Rose, 2018), os autores conseguiram atingir um
desempenho melhor que o índice Nasdaq100.

4. SISTEMA

Após ter sido realizado todo o estudo das análises técnicas, dos
recursos tecnológicos e arquitetura do software começou a ser desenvolvida a
ferramenta propriamente dita. Poderemos ver com detalhes nos próximos itens
quais são as funcionalidades disponíveis e como é feita a instalação do
AlgoTradingPy, nome que foi dado a ferramenta.

4.1 Estrutura do Sistema

Na figura 6 é apresentada uma visão geral do sistema. O elemento


central é o Servidor de Trade responsável por coletar os dados vindos da
corretora Bitfinex, através de sua API, ou Application Programming Interface
em inglês. Os dados coletados são armazenados no banco de dados, para
serem utilizados nas simulações posteriores, por usuários através dos
dispositivos como Laptop ou Smart Phone.

29
Figura 6 - Visão Geral do Sistema Implementado

Fonte: O autor (2022).

A divisão do código do projeto foi feita de acordo com o padrão de


projeto MVC, ou Model-View-Controller em inglês, onde o controle principal
Backtest, classe situada no centro na figura 7, é responsável por realizar as
simulações e interagir com diversas outras classes. As classes Asset,
BTResult, Indicators, Setup e Signal representam a camada de modelo,
fazendo a ponte entre os outros dois controles Data e Collect. Na camada de
visualização temos as classes Console, Logger e Plot, responsáveis por
apresentar os resultados que foram gerados pela ferramenta.

30
Figura 7 - Diagrama de Classes do Sistema

Fonte: O autor (2022).

4.2 Instalação

Para ser possível executar a ferramenta no computador, são


necessários alguns requisitos básicos instalados. Estes seriam ter pelo menos
distribuição Linux Ubuntu e derivados na versão 16.04 ou superior, Linguagem
Python 3.6 ou superior e banco de dados MySQL 5.7 ou superior. A escolha
por utilizar essa linguagem e ferramentas, foi devido a elas serem facilmente
encontradas na internet, além de serem totalmente gratuitas.

31
4.3 Importação dos Dados

Depois da etapa de instalação, esta é a função mais básica de toda a


biblioteca, pois não é realizada nenhuma análise propriamente dita, o que é
feito nela é apenas a inserção de ativos pelo usuário. A inserção dos dados
pode ser feita através do coletor embutido na biblioteca AlgotradingPy. Esse
coletor pode ser chamado por linha de comando e ele irá buscar os dados de
cotações e negociações na API da corretora Bitfinex e armazenará no banco
de dados MySQL, configurado na etapa anterior.

4.4 Executar Backtest

Para facilitar a usabilidade da biblioteca foi desenvolvido um arquivo


Jupyter Notebook. O projeto Jupyter Notebook é um aplicativo da Web para
criar e compartilhar documentos computacionais. Oferece uma experiência
simples e centrada em documentos, chamados de notebooks. Esse notebook
utiliza a biblioteca AlgotradingPy e exibe elementos gráficos para permitir
selecionar os parâmetros de entrada, como campos de data, moedas,
intervalos, configurações das médias móveis, etc. Exibe também um botão
para executar a funções de simulação da biblioteca.
O processo é simples, após instalar e configurar o Jupyter Notebook, é
só executar o arquivo “AlgoTradingPy_v1.0.3.ipynb” situado no diretório
“jupyter” na raiz do projeto. Após carregar o notebook, deve-se ir no menu
“Cells” e clicar na opção “Run All”, um formulário será mostrado conforme a
figura 8. No formulário basta selecionar uma moeda, um intervalo e o período
desejado, então é só clicar no botão “Executar Backtest”. Feito isso, os dados
serão consultados e imediatamente os gráficos serão gerados e apresentado
abaixo do formulário.

32
Figura 8 - Formulário AlgotradingPy no Jupyter Notebook

Fonte: O autor (2022).

4.5 Disponibilização do código-fonte

O código-fonte está disponibilizado de forma pública no perfil pessoal do


autor no GitHub, no seguinte link https://github.com/danieltell/algo-trading-py,
bem como no repositório de códigos da UFSC.

5. RESULTADOS

O ambiente de simulação tem um escopo reduzido levando-se em conta


a enormidade de indicadores e parametrizações que existem. Para o ambiente
foram coletados dados de cotação do tipo candle sticks, com intervalos de uma
hora, de dez moedas, o período selecionado para todas as simulações foi do
primeiro dia de outubro de 2022 (01/10/2022) e o último dia de outubro 2022
(31/10/2022). As moedas escolhidas foram Bitcoin (BTC), Etherium (ETH),

33
Ripple (XRP), Solana (SOL), Bitcoin Cash (BCH), Tron (TRX), Litecoin (LTC),
EOS (EOS), NEO (NEO), Monero (XMR).
Motivo da escolha das moedas:

 Terem boa liquidez


 Alta capitalização de mercado
 Estarem presente na maioria das corretoras de criptomoedas

Com esses critérios foram selecionados os 3 grupos abaixo:

 Alta volatilidade: EOS (EOS), NEO (NEO), Solana (SOL) e Tron (TRX)
 Média volatilidade: Bitcoin Cash (BCH), Ripple (XRP) e Litecoin(LTC)
 Baixa volatilidade: Bitcoin (BTC), Etherium (ETH) e Monero (XMR)

5.1 Setup da Simulação

A simulação ou backtest foi realizada usando a técnica All In, onde a


cada operação de negociação utiliza todo o saldo disponível. Com relação à a
indicadores utilizados, foram escolhidos o indicador de médias móveis,
utilizando a técnica de cruzamento de médias como explicado na seção 2.4.2.
O outro indicador utilizado foi Índice de Força Relativa (RSI), onde cada
trade (compra/venda) é executado quando o valor do índice ultrapassa o limite
superior (sobrecomprado) ou inferior (sobrevendido) como explicado no na
seção 2.4.3.
Os parâmetros foram escolhidos através de observações empíricas
realizadas ao longo dos testes. Para todas as quatro estratégias foram
utilizados stop gain de 3% e stop loss de -5%. A seguir a configuração de cada
estratégia:

1. MAxMA_ema=13_sma=21 – cruzamento de médias móveis, sendo uma

curta exponencial de 13 períodos e uma longa aritmética de 21 períodos.

2. MaxMA_ema=8_sma=13 – cruzamento de médias móveis, sendo uma

curta exponencial de 8 períodos e uma longa aritmética de 13 períodos.

34
3. MaxPrice_ema=9 – cruzamento do preço de fechamento do candle com

média móvel , onde a média móvel é exponencial curta de 9 períodos.

4. RSI_Min=20.0_Max=80.0 – índice de força relativa min e max, onde a

média móvel usada no cálculo é exponencial de 13 períodos. O limite

inferior do índice é 20% e o superior é de 80%.

5.2 Resultados Obtidos

Nos resultados, para simplificação dos cálculos, não foi considerado


uma eventual taxa por trade executado. A cobrança de taxas por operação é
bastante comum nas principais corretoras.
Na tabela 1 nota-se que todos os setups de trade tiveram um retorno
menor do que a estratégia de Buy and hold. Este comportamento pode ser
explicado por duas razões: ou pela baixa volatilidade do BTC ou devido aos
parâmetros utilizados no setup de trade não serem adequados a esta moeda.
Desta forma, seria necessário otimizar estes parâmetros para verificar se estas
estratégias de trade são adequadas para este par de moedas.
Na Figura 9, 10, 11 e 12 é possível notar os pontos onde foram
detectados os sinais de trade. Apesar de atingir uma precisão média de 60%,
não foi possível superar a estratégia de Buy and hold. Logo, outras estratégias
deveriam ter sido consideradas. Nota-se que a estratégia de RSI, somente
detectou 4 trades, não sendo adequada ao comportamento do BTC. Os
resultados evidenciam a necessidade de otimização dos parâmetros do setup
de trade.

Tabela 1 - Resultados dos Setups de Trade no Par BTC/USD

Estratégia Retorno % Precisão % Compras Vendas Total

MAxMA_ema=13_sma=21 4,05 60 5 4 9

MAxMA_ema=8_sma=13 3,73 60 5 4 9

MAxPrice_ema=9 3 60 5 4 9

RSI_Min=20.0_Max=80.0 5,224 66,67 2 2 4

Buy and hold 5,78 100 1 1 2

Fonte: O autor (2022).

35
Figura 9 - Comportamento da estratégia de trade (CMM 13/21) no par
BTC/USD

Fonte: O autor (2022).

Figura 10 - Comportamento da estratégia de trade (CMM 8/13) no par


BTC/USD

Fonte: O autor (2022).

36
Figura 11 - Comportamento da estratégia de trade (MME9) no par BTC/USD

Fonte: O autor (2022).

Figura 12 - Comportamento da estratégia de trade (RSI) no par BTC/USD

Fonte: O autor (2022).

Os resultados do par ETH/USD são apresentados na tabela 2. Nota-se


que apesar da precisão ser bastante alta (sempre acima de 60%), o retorno de

37
todos os setups foi inferior a estratégia Buy and hold. O baixo retorno
provavelmente é decorrido da estratégia de utilizar stop gain curto (3%). Desta
forma, uma estratégia de stop gain móvel seria mais adequado a este par de
moedas. Uma vez que o aumento de preços do ETH foi alto (Figura 13), um
stop gain curto não conseguiu aproveitar toda a subida de preços.

Tabela 2 - Resultados dos Setups de Trade no Par ETH/USD

Estratégia Retorno % Precisão % Compras Vendas Total

MAxMA_ema=13_sma=21 13,18 66,67 8 8 16

MAxMA_ema=8_sma=13 11,41 70 10 9 19

MAxPrice_ema=9 6 63 8 7 15

RSI_Min=20.0_Max=80.0 7,302 80 4 4 8

Buy and hold 19,15 100 1 1 2

Fonte: O autor (2022).

Figura 13 - Comportamento da estratégia de trade (CMM 13/21) no par


ETH/USD

Fonte: O autor (2022).

38
Figura 14 - Comportamento da estratégia de trade (CMM 8/13) no par
ETH/USD

Fonte: O autor (2022).

Figura 15: Comportamento da estratégia de trade (MME9) no par ETH/USD

Fonte: O autor (2022).

39
Figura 16 - Comportamento da estratégia de trade (RSI) no par ETH/USD

Fonte: O autor (2022).


A tabela 3 apresenta os resultados do par SOL/USD. Nota-se que
somente a estratégia MAxPrice_ema=9 não obteve resultado superior a
estratégia Buy and hold. Nota-se ainda que os períodos de 8 e 13
apresentaram resultado 144% maior que a mesma estratégia com períodos de
13 e 21. Este comportamento indica a necessidade de otimização dos
parâmetros de trade com o intuito de alcançar o melhor retorno para cada par
de moedas. Mesmo com um dos setups de trade apresentando um retorno bem
abaixo da estratégia Buy and hold, nota-se que a estratégia de algotrading
consegue aumentar a lucratividade mesmo em cenários de baixa. Outro ponto
interessante é que apesar de atingir uma alta lucratividade, a precisão é bem
menor que a atingida nos pares BTC/USD e ETH/USD.

Tabela 3 - Resultados dos Setups de Trade no Par SOL/USD

Estratégia Retorno % Precisão % Compras Vendas Total

MAxMA_ema=13_sma=21 3,87 54,55 11 10 21

MAxMA_ema=8_sma=13 9,46 60,00 10 9 19

MAxPrice_ema=9 -3 50 12 11 23

RSI_Min=20.0_Max=80.0 1,02 60,00 4 4 8

Buy and hold -0,34 0 1 1 2

Fonte: O autor (2022).

40
Figura 17 - Comportamento da estratégia de trade (CMM 13/21) no par
SOL/USD

Fonte: O autor (2022)

Figura 18 - Comportamento da estratégia de trade (CMM 8/13) no par


SOL/USD

Fonte: O autor (2022).

41
Figura 19 - Comportamento da estratégia de trade (MME9) no par SOL/USD

Fonte: O autor (2022).

Figura 20 - Comportamento da estratégia de trade (RSI) no par SOL/USD

Fonte: O autor (2022).

A tabela 4 e os as figuras 21, 22, 23 e 24 apresentam os resultados dos


setups de trade no par XRP/USD. É possível notar que somente as estratégias
de cruzamento de médias obtiveram resultados positivos (lucro). Entretanto, a
única estratégia que perdeu para a estratégia Buy and hold foi a

42
MAxPrice_ema=9. A alta volatilidade das moedas com menor capitalização de
mercado pode ser a razão das estratégias propostas atingirem melhores
resultados que a estratégia Buy and hold.

Tabela 4 - Resultados dos Setups de Trade no Par XRP/USD

Estratégia Retorno % Precisão % Compras Vendas Total

MAxMA_ema=13_sma=21 3,10 70,00 9 9 18

MAxMA_ema=8_sma=13 6,05 61,54 13 12 25

MAxPrice_ema=9 -8 57 13 13 26

RSI_Min=20.0_Max=80.0 -3,29 66,67 3 2 5

Buy and hold -3,82 0 1 1 2

Fonte: O autor (2022).

Figura 21 - Comportamento da estratégia de trade (CMM 13/21) no par


XRP/USD

Fonte: O autor (2022).

43
Figura 22 - Comportamento da Estratégia de trade (CMM 8/13) no par
XRP/USD

Fonte: O autor (2022).

Figura 23 - Comportamento da estratégia de trade (MME9) no par XRP/USD

Fonte: O autor (2022).

44
Figura 24 - Comportamento da estratégia de trade (RSI) no par XRP/USD

Fonte: O autor (2022).

A tabela 5 e as figuras 25, 26, 27 e 28 apresentam os resultados obtidos


no par LTC/USD. Nenhum setup conseguiu superar a estratégia Buy and hold.
Além disso, a precisão máxima obtida foi de aproximadamente 57%. Nota-se
que os setups de trade propostos não são adequados a moedas mais estáveis
como o litecoin.

Tabela 5 - Resultados dos Setups de Trade no Par LTC/USD

Estratégia Retorno % Precisão % Compras Vendas Total

MAxMA_ema=13_sma=21 2,80 57,14 6 6 12

MAxMA_ema=8_sma=13 -4,47 50,00 8 7 15

MAxPrice_ema=9 0 56 9 8 17

RSI_Min=20.0_Max=80.0 -0,18 50,00 2 1 3

Buy and hold 3,79 100 1 1 2

Fonte: O autor (2022).

45
Figura 25 - Comportamento da estratégia de trade (CMM 13/21) no par
LTC/USD

Fonte: O autor (2022).

Figura 26 - Comportamento da estratégia de trade (CMM 8/13) no par


LTC/USD

Fonte: O autor (2022).

46
Figura 27 - Comportamento da estratégia de trade (MME9) no par LTC/USD

Fonte: O autor (2022).

Figura 28 - Comportamento da estratégia de trade (RSI) no par LTC/USD

Fonte: O autor (2022).

A tabela 6 e as figuras 29, 30, 31 e 31 apresentam os resultados obtidos


no par BCH/USD. Nota-se que todas as estratégias obtiveram retorno inferior à
estratégia Buy and hold no período e a precisão máxima atingida foi de apenas
44%. Um destaque para estratégia RSI_Min=20.0_Max=80.0 que executou

47
apenas dois trades no período e obteve uma taxa de acerto ou precisão de 0%.
Isso pode significar que os setups utilizados não estão adequados para
moedas com baixa volatilidade, como o Bitcoin Cash.

Tabela 6 - Resultados dos Setups de Trade no Par BCH/USD

Estratégia Retorno % Precisão % Compras Vendas Total

MAxMA_ema=13_sma=21 -11,93 42,86 7 6 13

MAxMA_ema=8_sma=13 -10,82 33,33 6 5 11

MAxPrice_ema=9 -11 44 9 8 17

RSI_Min=20.0_Max=80.0 -8,53 0,00 1 1 2

Buy and hold -2,37 0 1 1 2

Fonte: O autor (2022).

Figura 29 - Comportamento da estratégia de trade (CMM 13/21) no par


BCH/USD

Fonte: O autor (2022).

48
Figura 30 - Comportamento da estratégia de trade (CMM 8/13) no par
BCH/USD

Fonte: O autor (2022).

Figura 31 - Comportamento da estratégia de trade (MME9) no par BCH/USD

Fonte: O autor (2022).

49
Figura 32 - Comportamento da estratégia de trade (RSI) no par BCH/USD

Fonte: O autor (2022).

A tabela 7 e as Figuras 33, 34, 35 e 36, apresentam os resultados para o


par TRX/USD. Todos os setups de trade obtiveram resultado superior a
estratégia Buy and hold. Além da alta lucratividade, a alta precisão dos setups
também pode ser notada. Por fim, o retorno da estratégia de cruzamento de
médias evidencia a necessidade de adequar os parâmetros, já que os períodos
8 e 13 obtiveram mais de 1% acima do setup com períodos de 13 e 21.

Tabela 7 - Resultados dos Setups de Trade no Par TRX/USD

Estratégia Retorno % Precisão % Compras Vendas Total

MAxMA_ema=13_sma=21 17,73 83,33 6 5 11

MAxMA_ema=8_sma=13 18,77 83,33 6 5 11

MAxPrice_ema=9 3,3 100 2 1 3

RSI_Min=20.0_Max=80.0 12,427 80 4 4 8

Buy and hold 2,8 100 1 1 2

Fonte: O autor (2022).

50
Figura 33 - Comportamento da estratégia de trade (CMM 13/21) no par
TRX/USD

Fonte: O autor (2022).

Figura 34 - Comportamento da estratégia de trade (CMM 8/13) no par


TRX/USD

Fonte: O autor (2022).

51
Figura 35 - Comportamento da estratégia de trade (MME9) no par TRX/USD

Fonte: O autor (2022).

Figura 36 - Comportamento da estratégia de trade (RSI) no par TRX/USD

Fonte: O autor (2022).

A tabela 8 e as Figuras 37, 38, 39 e 40 apresentam os resultados para o


par EOS/USD. Nota-se que dois setups apresentaram resultado superior, um
setup praticamente obteve o mesmo resultado da estratégia Buy and hold e
somente a estratégia RSI obteve um resultado bem abaixo da estratégia Buy

52
and hold. O cenário baixista do EOS no período dificulta a obtenção de lucro
nos setups testados.

Tabela 8 - Resultados dos Setups de Trade no Par EOS/USD

Estratégia Retorno % Precisão % Compras Vendas Total

MAxMA_ema=13_sma=21 -6,48 50 8 7 15

MAxMA_ema=8_sma=13 -3,81 58,33 12 11 23

MAxPrice_ema=9 -2,77 58,33 12 11 23

RSI_Min=20.0_Max=80.0 -9,52 66,67 3 2 5

Buy and hold -6,47 0 1 1 2

Fonte: O autor (2022).

Figura 37 - Comportamento da estratégia de trade (CMM 13/21) no par


EOS/USD

Fonte: O autor (2022).

53
Figura 38 - Comportamento da estratégia de trade (CMM 8/13) no par
EOS/USD

Fonte: O autor (2022).

Figura 39 - Comportamento da estratégia de trade (MME9) no par EOS/USD

Fonte: O autor (2022).

54
Figura 40 - Comportamento da estratégia de trade (RSI) no par EOS/USD

Fonte: O autor (2022).

A tabela 9 e as Figuras 41, 42, 43 e 44 apresentam os resultados do par


NEO/USD. Neste cenário somente a estratégia de cruzamento de médias
obteve resultado superior a estratégia de Buy and hold, inclusive dando lucro
em um cenário baixista. As estratégias RSI e MAxPrice_ema=9, obtiveram
resultados inferiores a estratégia Buy and hold. Este é mais um indicativo de
que moedas voláteis são mais adequadas as estratégias de trade propostas.

Tabela 9 - Resultados dos Setups de Trade no Par NEO/USD

Estratégia Retorno % Precisão % Compras Vendas Total

MAxMA_ema=13_sma=21 6,64 75 7 7 14

MAxMA_ema=8_sma=13 9,13 70 10 9 19

MAxPrice_ema=9 -3,17 54,55 11 10 21

RSI_Min=20.0_Max=80.0 -5,57 50 3 3 6

Buy and hold -2,51 0 1 1 2

55
Fonte: O autor (2022).

Figura 41 - Comportamento da estratégia de trade (CMM 13/21) no par


NEO/USD

Fonte: O autor (2022).

Figura 42 - Comportamento da estratégia de trade (CMM 8/13) no par


NEO/USD

Fonte: O autor (2022).

56
Figura 43 - Comportamento da estratégia de trade (MME9) no par NEO/USD

Fonte: O autor (2022).

Figura 44 - Comportamento da estratégia de trade (RSI) no par NEO/USD

Fonte: O autor (2022).

Os resultados do par XMR/USD são apresentados na tabela 10 e figuras


45, 46, 47 e 48. Nota-se que dois setups conseguiram desempenho superior a
estratégia Buy and hold. Este comportamento evidencia que além dos
parâmetros a escolha da estratégia pode ser otimizada para um melhor retorno.

57
Mesmo em um cenário estável (o retorno da estratégia Buy and hold foi de -
0,26%) duas estratégias obtiveram resultado positivo no período testado.

Tabela 10 - Resultados dos Setups de Trade no Par XMR/USD

Estratégia Retorno % Precisão % Compras Vendas Total

MAxMA_ema=13_sma=21 -2,33 62,5 8 7 15

MAxMA_ema=8_sma=13 4,36 62,5 8 7 15

MAxPrice_ema=9 1,36 66,67 9 8 17

RSI_Min=20.0_Max=80.0 -1,057 33,33 2 2 4

Buy and hold -0,26 0 1 1 2

Fonte: O autor (2022).

Figura 45 - Comportamento da estratégia de trade (CMM 13/21) no par


XMR/USD

Fonte: O autor (2022).

58
Figura 46 - Comportamento da estratégia de trade (CMM 8/13) no par
XMR/USD

Fonte: O autor (2022).

Figura 47 - Comportamento da estratégia de trade (MME9) no par XMR/USD

Fonte: O autor (2022).

59
Figura 48 - Comportamento da estratégia de trade (RSI) no par XMR/USD

Fonte: O autor (2022).

60
6. CONCLUSÃO E TRABALHOS FUTUROS

Neste trabalho foi realizada uma demonstração da aplicação de


algoritmos ou algotrading sobre criptomoedas. Dessa forma, o trabalho visou
comparar diferentes estratégias de algotrading entre diferentes moedas. O
estudo para implementar esses algoritmos, compreendeu as análises técnicas
e gráficas dos dados coletados de uma corretora de criptomoedas, com intuito
de prever tendências nos preços e simulando operações de compra e venda e
então calcular os resultados (lucro/prejuízo) destas operações.
Vimos também que o comportamento das moedas podem influenciar no
desempenho das estratégias utilizadas no algotrading. A moeda Ripple (XRP)
por exemplo, se mostrou bastante adequada para os setups escolhidos, devido
a sua alta volatilidade conseguiu obter bons resultados (lucro) se comparado
com as outras moedas. Além disso, a moeda Tron (TRX) obteve um lucro
expressivo (mais de 18%) frente a estratégia de buy and hold. Nota-se ainda
que as moedas com maior capitalização (Bitcoin, Ethereum) de mercado
obtiveram resultado melhor na estratégia buy and hold do que nos setups
testados.
Com relação ao ponto de vista financeiro, podemos concluir que a
utilização de um único setup não é muito recomendável, uma vez que cada
moeda pode ter um comportamento bem distinto, logo, o correto seria
encontrar setups mais adequados para cada ativo na qual desejamos analisar.
Como trabalhos futuros indicamos a utilização de algoritmos de machine
learning ou inteligência computacional para otimização dos setups de trade.
Outra linha de trabalhos futuros seria a utilização da estratégia no mercado
financeiro convencional.

61
Referências

Matsura, E.. Comprar ou vender? Como investir na bolsa utilizando análise


gráfica (6a ed.). São Paulo: Saraiva. 2007.

Graham, B., Zweig, J. The Intelligent Investor: A Book of Practical Counsel. Ed.
Harper Collins Trade Division, 2003.

Gunther, M.. Os Axiomas de Zurique. Ed. Record. 2004.

Noronha, M.. Análise técnica: teorias, ferramentas e estratégias. Rio de


Janeiro: Editec. 1995.

Pinheiro, J. L.. Mercado de capitais (3a ed.). São Paulo: Atlas. 2005.

NAKAMOTO, Satoshi. Bitcoin: A peer-to-peer electronic cash system. 2008.

ANTONOPOULOS, Andreas M. Mastering Bitcoin: unlocking digital


cryptocurrencies. " O'Reilly Media, Inc.", 2014.

CHUEN, D. L. K.; GUO, L.; WANG, Y. Cryptocurrency: A new investment


opportunity? Singapore: University of Singapore, 2017. 54p.

COINMARKETCAP. TOP 100 CRYPTOCURRENCIES BY MARKET


Disponível em: <https://coinmarketcap.com/>. Acesso em: 15 set. 2019.

ALDRIDGE, I. High-frequency trading: a practial guide to algorithmic strategies


and trading systems. New Jersey: John Wiley and Sons, 2010.

HENDERSHOTT, T; RIORDAN, R. Algorithmic trading and information.


Manuscript, University of California, Berkeley. 2011.

62
HENDERSHOTT, T; JONES, C.M.; MENKVELD, A.J. Does algorithmic trading
improve liquidity? The Journal of Finance, v.66, n. 1, p. 1-33. 2011.
http://dx.doi.org/10.1111/j.1540-6261.2010.01624.x. Acesso em: 02 out. 2019

Atsalakis, G. S. , & Valavanis, K. P. (2009). Surveying stock market forecasting


techniques–Part II: Soft computing methods. Expert Systems with Applications,
36 (3), 5932–5941.

Hayes, A (2019, 21 de nov.). How Does Bitcoin Mining Work? Disponível em


https://www.investopedia.com/tech/how-does-bitcoin-mining-work/

Frankenfield, J (2019, 23 de set.). Ethereum. Disponível em


https://www.investopedia.com/terms/e/ethereum.asp. Acesso em: 20 nov. 2019.

S.Popov, “TheTangle,”Ago. 2017. Disponível em


https://www.docdroid.net/mWTNlgd/iota1-2.pdf. Acesso em: 15 out. 2019.

WOOD, Gavin, et al. Ethereum: A secure decentralised generalised transaction


ledger. Ethereum project yellow paper, 2014, 151.2014: 1-32.

Thalita Ramires da Silva, AVALIAÇÃO DE UM ALGOTRADING BASEADO EM


DEEP LEARNING PARA O MERCADO DE CAPITAIS UTILIZANDO
GERENCIAMENTO DE RISCO, 2021.

J. de Mello Assis, A. C. M. Pereira and R. C. e Silva, "Designing Financial


Strategies based on Artificial Neural Networks Ensembles for Stock Markets,"
2018 International Joint Conference on Neural Networks (IJCNN), 2018, pp. 1-
8, doi: 10.1109/IJCNN.2018.8489688.

Pratik Patil, Ching-Seh Mike Wu, Katerina Potika, Marjan Orang, "Stock Market
Prediction Using Ensemble of Graph Theory, Machine Learning and Deep

63
Learning Models", Proceedings of the 3rd International Conference on Software
Engineering and Information Management, pp.85, 2020.

Isaac Kofi Nti, Adebayo Felix Adekoya, Benjamin Asubam Weyori, "A
comprehensive evaluation of ensemble learning for stock-market prediction",
Journal of Big Data, vol.7, no.1, 2020.

Luci, Filippo (A.A. 2021/2022) Algorithmic trading systems in blockchain era.


Tesi di Laurea in Blockchain and cryptocurrencies, Luiss Guido Carli, relatore
Massimo Bernaschi, pp. 26. [Bachelor's Degree Thesis]

Broderick Crawford, Ricardo Soto, Marco Alarcón San Martín, Hanns de la


Fuente-Mella, Carlos Castro, Fernando Paredes, "Automatic High-Frequency
Trading: An Application to Emerging Chilean Stock Market", Scientific
Programming, vol. 2018, Article ID 8721246, 12 pages, 2018.
https://doi.org/10.1155/2018/8721246

James Cumming, An Investigation into the Use of Reinforcement Learning


Techniques within the Algorithmic Trading Domain, 2015

Luke K. Rose, Automated Stock Market Trading Using Machine Learning, 2018

Jung, D., Glaser, F., Köpplin, W. (2019). Robo-Advisory: Opportunities and


Risks for the Future of Financial Advisory. In: Nissen, V. (eds) Advances in
Consulting Research. Contributions to Management Science. Springer, Cham.
https://doi.org/10.1007/978-3-319-95999-3_20

Cain Evans, Konstantinos Pappas, Fatos Xhafa,Utilizing artificial neural


networks and genetic algorithms to build an algo-trading model for intra-day
foreign exchange speculation, Mathematical and Computer Modelling, Volume
58, Issues 5–6, 2013, Pages 1249-1266, ISSN 0895-7177,
https://doi.org/10.1016/j.mcm.2013.02.002.

64
(https://www.sciencedirect.com/science/article/pii/S0895717713000290)

M. E. Aloud and N. Alkhamees, "Intelligent Algorithmic Trading Strategy Using


Reinforcement Learning and Directional Change," in IEEE Access, vol. 9, pp.
114659-114671, 2021, doi: 10.1109/ACCESS.2021.3105259.

Thibaut Théate, Damien Ernst, An application of deep reinforcement learning to


algorithmic trading, Expert Systems with Applications, Volume 173, 2021,
114632, ISSN 0957-4174,
https://doi.org/10.1016/j.eswa.2021.114632.
(https://www.sciencedirect.com/science/article/pii/S0957417421000737)

C. Tudor and R. Sova, "Flexible Decision Support System for Algorithmic


Trading: Empirical Application on Crude Oil Markets," in IEEE Access, vol. 10,
pp. 9628-9644, 2022, doi: 10.1109/ACCESS.2022.3143767.

T. Salkar, A. Shinde, N. Tamhankar and N. Bhagat, "Algorithmic Trading using


Technical Indicators," 2021 International Conference on Communication
information and Computing Technology (ICCICT), 2021, pp. 1-6, doi:
10.1109/ICCICT50803.2021.9510135.

Kalariya, V.; Parmar, P.; Jay, P.; Tanwar, S.; Raboaca, M.S.; Alqahtani, F.;
Tolba, A.; Neagu, B.-C. Stochastic Neural Networks-Based Algorithmic Trading
for the Cryptocurrency Market. Mathematics 2022, 10, 1456.
https://doi.org/10.3390/math10091456

L. Zhang, T. Wu, S. Lahrichi, C. -G. Salas-Flores and J. Li, "A Data Science
Pipeline for Algorithmic Trading: A Comparative Study of Applications for
Finance and Cryptoeconomics," 2022 IEEE International Conference on
Blockchain (Blockchain), 2022, pp. 298-303, doi:
10.1109/Blockchain55522.2022.00048.

65
Ran Tao, Chi-Wei Su, Yidong Xiao, Ke Dai, Fahad Khalid, Robo advisors,
algorithmic trading and investment management: Wonders of fourth industrial
revolution in financial markets, Technological Forecasting and Social Change,
Volume 163, 2021, 120421, ISSN 0040-1625,
https://doi.org/10.1016/j.techfore.2020.120421.
(https://www.sciencedirect.com/science/article/pii/S0040162520312476)

P. Mahajan, Y. Salian, V. Jadhav and S. Kulkarni, "A Multi-Strategic Approach


to Automated Trading," 2021 International Conference on Communication
information and Computing Technology (ICCICT), 2021, pp. 1-7, doi:
10.1109/ICCICT50803.2021.9510079.

E. O. Yıldırım, M. Uçar and A. M. Özbayoğlu, "Evolutionary Optimized Stock


Support-Resistance Line Detection for Algorithmic Trading Systems," 2019 1st
International Informatics and Software Engineering Conference (UBMYK),
2019, pp. 1-6, doi: 10.1109/UBMYK48245.2019.8965471

Jean Pierre Jarrier Conti, Heitor Silverio Lopes , Algorithmic Trading Using
Genetic Algorithms in the Brazilian Stock Exchange, CBIC 2019.

Project Jupyter. Free software, open standards, and web services for interactive

computing across all programming languages.

Disponível em: <https://jupyter.org/> Acesso em: 05 ago. 2022.

66
APÊNDICE A – Código Fonte

O código fonte está disponível nos seguintes repositórios:

• https://github.com/danieltell/algo-trading-py
• https://web.archive.org/web/20221222065402/https://github.com/
danieltell/algo-trading-py

67
APÊNDICE B – Artigo SBC

68
Utilização de Algotrading no Mercado de Criptomoedas
Daniel Antonio Tell
Departamento de Informática e Estatística – Universidade Federal de Santa Catarina
(UFSC)
Florianópolis – SC – Brasil
[email protected]

Resumo. Este trabalho tem a motivação em demonstrar a aplicação, por meio


da análise, de algoritmos que de forma automatizada possam tomar decisões de
investimento sobre criptomoedas, conhecidas também como moedas digitais.
Esses algoritmos podem atuar nos mercados buscando a obtenção de sinais de
movimentos no mercado de criptomoedas podendo gerar alertas para o
investidor. O estudo compreende as análises gráfica de dados coletados de uma
corretora real de criptomoedas, a fim de prever tendências nos preços dos
ativos digitais e criar estratégias para tomada de decisão de negociação desses
ativos. As estratégias de algotrading conseguiram uma lucratividade bem maior
que estratégias clássicas de negociação de ativos.

Abstract. This work is motivated to demonstrate the application, through


analysis, of algorithms that can automatically make investment decisions about
cryptocurrencies. These algorithms can act in the markets seeking to obtain
movement signals in the cryptocurrency market and can generate alerts for the
investor. The study comprises the graphical analysis of data collected from a
real cryptocurrency exchange, in order to predict trends in the prices of digital
assets and create strategies for decision-making in trading these assets.
Algotrading strategies have achieved far greater profitability than classic asset
trading strategies.

1. Introdução
A busca por investimentos com uma alta taxa de obtenção de ganhos financeiros é um
assunto que desperta o interesse de muitos indivíduos da sociedade. Onde aplicar,
quanto aplicar, a possível existência de riscos, o prazo ideal são dúvidas que cercam os
novos investidores. Investidores esses que agora estão voltando seus olhos para o
mercado de moedas digitais, ou também conhecidas por Criptomoedas, que surgiram
alguns anos atrás chamando pouca ou nenhuma atenção, mas hoje fazem parte de
tópicos de discussão em grande parte dos assuntos relacionados a investimentos e
finanças.
Entretanto, existem problemas acerca de informações mais detalhadas, como
análises técnicas ou gráficas, das flutuações de preços desses ativos no mercado que o
investidor deve se atentar neste tipo de mercado.
A utilização de robôs para atuarem no mercado de financeiro já ocorre há algum
tempo e com relativo sucesso, permitindo que um investidor com pouco conhecimento
consiga operar e ainda obter ganhos. Mas tem o problema econômico, pois esses robôs
são muito caros para o investidor de pequeno porte, isso faz com que esses softwares
sirvam apenas para grandes investidores ou corretoras. Será que é possível, claro que
com algumas adaptações, desenvolver uma ferramenta utilizando esse tipo de artifício
para que se possa obter resultados positivos de ganhos financeiros nos novos mercados
de criptomoedas?

2. Objetivos
O objetivo deste trabalho é desenvolver uma ferramenta que possa realizar análises
técnicas de moedas digitais além de ser capaz de realizar backtesting e simulação da
estratégia nos dados históricos, a fim obter um melhor resultado financeiro.

2.1 Objetivos Específicos


 Estudo sobre Bitcoins e as outras criptomoedas;
 Estudo sobre o mercado de criptomoedas;
 Estudo sobre metodologias de séries temporais;
 Escolha de metodologias de series temporais disponíveis na linguagem
Python;
 Verificação dos acertos da ferramenta observando dados históricos
passados;
 Demonstrar os resultados obtidos com o desenvolvimento da ferramenta.

3. Fundamentação Teórica
As criptomoedas são moedas virtuais, conversíveis e descentralizadas, e que se
caracterizam, adicionalmente, por serem protegidas por criptografia. A criptografia
começou a ser utilizada para o uso na construção de moedas digitais no final dos anos
80, porém, as pioneiras não obtiveram sucesso pois eram centralizadas - normalmente
lastreados por uma moeda nacional ou um metal precioso, como o ouro - e, como
resultado, eram fáceis de ser atacadas tanto por governos como por hackers
(ANTONOPOULOS, 2014).
A primeira e mais importante dessas moedas é o Bitcoin, lançado, em 2009, por
um programador de nome (mais provavelmente um codinome) Satoshi Nakamoto, ou
grupo de programadores. Os Bitcoins podem ser comprados, vendidos ou trocados por
outras moedas em casas de cambio especializadas. De certo modo, o Bitcoin é o
dinheiro perfeito para a Internet, pois é rápido, seguro e sem fronteiras
(ANTONOPOULOS, 2014).
Existem também centenas de outras espécies de criptomoedas, que seguem
aproximadamente a mesma lógica, diferenciando-as apenas pelas tecnologias utilizadas,
e às quais se atribui, genericamente, o nome de altcoins. Como exemplos, entre outras, a
Ethereum, a XRP, o Bitcoin Cash, a Litecoin, a EOS, a TRON, a Monero, a IOTA, a
Dash, a NEO, a Zcash e Bitcoin Gold. A grande maioria das altcoins são derivadas do
código-fonte do Bitcoin, mais conhecidas como “forks” (em português, bifurcações),
baseando-se no modelo do Blockchain e, em alguns casos, implementadas do zero sem
utilizar nenhum código-fonte do Bitcoin.
3.1 Algotrading
Esse tipo de algoritmo vem chamando muito a atenção de especialistas em mercado de
ações pelo mundo todo. Sua velocidade surpreendentemente elevada é o que determina
a obtenção de lucro. Eles definem variáveis como quantidade, preço e a hora ideal para
se realizar cada transação, fragmentando o tamanho das ações para dessa forma reduzir
o impacto no mercado. Esses processos ocorrem de forma automatizada, onde se é
dispensada a atuação ou análise do ser humano para o processo de deliberação
(ALDRIDGE, 2010).
Para outros especialistas como, por exemplo, Hanson e Hendershott (2011) há
uma expressiva diminuição nos custos de transação devido a realização do processo por
parte do robô de forma extremamente rápida, previamente programada e sua vida útil
ser notavelmente superior ao do ser humano. Essa característica não humanal, como
enfatizada por Hanson em seu texto, ainda contribui para a redução dos custos de
capitais para as empresas atuantes no mercado, resultando assim numa diminuição do
impacto de cada operação nos preços das ações comercializadas, devido à expressiva
divisão das transações em ordens de menor tamanho.

3.2 Análises Fundamentalistas


O foco da ferramenta a ser desenvolvida não é essa forma de análise, mas mesmo assim
ela merece algum destaque. Nela o investidor se baseia nos números propriamente ditos
das empresas, como lucro líquido e endividamento em relação ao preço atual da ação
(Stock Market Strategy).
Dessa forma podem ser encontradas verdadeiras barganhas para investimentos a
longo prazo. Essa é uma forma de análise voltada mais para investidores mais
conservadores e que não tem tanto tempo para acompanhar o mercado de perto.
O precursor da análise fundamentalista foi Benjamin Graham lá pelas décadas de
20 nos Estados Unidos. Um dos seus mais brilhantes alunos na Universidade de
Colúmbia foi o mega-investidor Warren Buffet, fundador da Berkshire Hathaway Inc.
Os fundamentos do Value Investing segundo Benjamin Graham se baseiam nos
10 fundamentos a seguir (Graham, Zweig, 2003):
 Tamanho das empresas, que não podem ser muito pequenas. Tem que ter algo
em torno de $100 milhões em vendas por ano;
 Posição financeira forte;
 Bom histórico de dividendos, no mínimo 20 anos;
 Nenhum prejuízo nos últimos 10 anos;
 Pelo menos 10 anos de crescimentos constantes;
 Relação preço da ação e ativos líquidos inferior a 1.5 vezes;
 Preço da ação inferior a 15 vezes o lucro dos últimos 3 anos;
 O produto do Preço/Lucro pelo Preço/Valor Patrimonial por ação deve ser
inferior a 22,5;
 Lucro/preço parecido com certificados emitidos por bancos;
 Diversificar o portfólio para não depender de apenas uma barganha.
Apesar de ter várias vantagens, o maior problema desse tipo de analise é que o
investidor perde varias oportunidades de se desfazer de uma ação a um preço mais alto
para depois a recomprar por um preço mais baixo. Agindo assim, ele ganharia dessa
forma algum lucro e manteria a mesma ação com fundamentos em carteira (Gunther,
2004).
3.4. Análise técnica de ações

A análise técnica de ações surgiu por volta do ano 1700, quando famílias japonesas
passaram a acompanhar a variação do preço do arroz, com o intuito de formular
tendências para tais oscilações. Esse método ficou conhecido como Candlesticks.
O comportamento da massa de investidores gera tendências consistentes; o
mercado não é aleatório e mostra situações de grande previsibilidade. O movimento dos
preços reflete a percepção positiva ou negativa dos investidores em relação ao mercado
(MATSURA, 2007).

3.4.1 Indicadores Técnicos

A utilização de indicadores técnicos na compreensão da movimentação dos preços dos


ativos negociados na bolsa de valores é de suma importância. Os indicadores podem
ajudar na identificação das tendências e de seus pontos de reversão.
Um problema que pode acontecer, ao se utilizar alguns indicadores técnicos, é
de que, muitas vezes, eles se contradizem uns aos outros, pois alguns deles funcionam
melhor em mercados sem tendência (osciladores) e, outros, em mercados com tendência
(rastreadores) (Noronha, 1995).
Os rastreadores de tendências funcionam melhor, quando os mercados estão em
alta ou em baixa, mas oferecem sinais precários e perigosos, quando os mercados estão
na horizontal. Como exemplos, pode-se citar: Médias Móveis, Moving Average
Convergence-Divergence (MACD), Histograma MACD, Sistema Direcional, On-
Balance Volume (OBV), Acumulação/Distribuição e outros (Noronha, 1995).
Por sua vez, os osciladores captam pontos de inflexão nos mercados horizontais,
mas emitem sinais prematuros e inseguros, quando os mercados começam a seguir
determinada tendência. Entre os osciladores temos o Estocástico, Taxa de Mudança,
Índice de Força Relativa (IFR), Elder-ray, Force Index e outros.

3.4.2 Médias Móveis

Os tipos mais comuns de médias móveis são: Simples (ou também conhecida como
Aritmética), Exponencial, Ponderada, Dupla e Tripla Exponencial, entre outras. Iremos
focar apenas nas duas primeiras que são as que estão disponíveis na ferramenta. A
principal vantagem da média móvel é o alisamento dos ruídos do gráfico de preços,
facilitando assim a determinação da tendência.
A média móvel simples é uma média aritmética, ou seja, a soma dos preços é
dividida pela quantidade de preços. A média móvel ponderada dá maior peso aos preços
mais recentes e menores aos preços mais antigos. A média móvel exponencial atribui
um peso que cresce exponencialmente do preço mais antigo ao mais recente
(MATSURA, 2007).
A seguir podemos ver as fórmulas utilizadas para calculá-las e um gráfico
utilizando média aritmética e exponencial pode ser visto na figura 1 (Investopedia,
2019).

Média móvel Simples


P 1+ P2+...+ P N
MMA =
N

onde:
PN = Preço por período
N = Número de dias no período

Média Móvel Exponencial


EMA=Preço h × k + MMA o × (1 − k )

onde:
h = Hoje

2
k=
N +1

MMA = Média Móvel Aritmética do fechamento do preço


para o número de dias no período
o = Ontem
Figura 1 - Tipos de médias móveis
Figura 2 - Cruzamento média x média

Esse seguidor de tendência pode ser usado de forma isolada ou em conjunto. Na


primeira escolhemos um tipo e um tempo de análise para fazer considerações se a
tendência é de alta ou de baixa. Quando se opta trabalhar com ele de forma em
conjunto, usa-se duas ou mais médias e tenta-se trabalhar em cima dos cruzamentos das
mesmas para identificar pontos de entrada e saída do ativo. A figura 2 ilustra os
cruzamentos de uma média curta de 10 períodos com uma média longa de 50 períodos
em intervalos de 30 minutos.

3.4.3 Relative Strength Index

Também é conhecido como IFR (Índice de Força Relativa) no Brasil. Foi desenvolvido
em 1978 por Welles Wilder. O que se mede é a força relativa dos compradores
(fechamentos em Alta) em relação aos vendedores (fechamento em Baixa). Podemos
ver a sua fórmula abaixo. FR é a razão entre a média dos dias que esteve em alta no
período e a média dos dias em baixa.

IFR=100− ( 1+100FR )
Médiadas variações dos fechamentos em ALTA
FR=
Média das variações dos fechamentos em BAIXA

A fórmula sempre retornará um valor entre 0 e 100, então a análise se faz em


cima desse número. Diz que o ativo está sobrecomprado caso ele esteja acima de 70,
isto é, muitas pessoas o compraram e indica que talvez haja uma reversão de tendência e
o preço caia. Enquanto isso, ele vai estar sobrevendido caso o valor esteja abaixo de 30,
ou seja, há uma tendência que haverá uma subida nas cotações dos ativos. Esses valores
também podem ser alterados para 80 e 20, respectivamente, para dar uma maior
confiança aos resultados (MATSURA, 2007). A seguir podemos ver um gráfico com o
IFR em ação.

Figura 3 - Sobrecompra e sobrevenda - RSI

4. Sistema

Após ter sido realizado todo o estudo das análises técnicas, dos recursos tecnológicos e
arquitetura do software começou a ser desenvolvida a ferramenta propriamente dita.
Poderemos ver com detalhes nos próximos itens quais são as funcionalidades
disponíveis e como é feita a instalação do AlgoTradingPy, nome que foi dado a
ferramenta.

4.1 Estrutura do Sistema


Na figura 4 é apresentada uma visão geral do sistema. O elemento central é o Servidor
de Trade responsável por coletar os dados vindos da corretora Bitfinex, através de sua
API, ou Application Programming Interface em inglês. Os dados coletados são
armazenados no banco de dados, para serem utilizados nas simulações posteriores, por
usuários através dos dispositivos como Laptop ou Smart Phone.
Figura 4 - Visão Geral do Sistema Implementado

A divisão do código do projeto foi feita de acordo com o padrão de projeto


MVC, ou Model-View-Controller em inglês, onde o controle principal Backtest, classe
situada no centro na figura 5, é responsável por realizar as simulações e interagir com
diversas outras classes. As classes Asset, BTResult, Indicators, Setup e Signal
representam a camada de modelo, fazendo a ponte entre os outros dois controles Data e
Collect. Na camada de visualização temos as classes Console, Logger e Plot,
responsáveis por apresentar os resultados que foram gerados pela ferramenta.
Figura 5 - Diagrama de Classes do Sistema

4.2 Instalação
Para ser possível executar a ferramenta no computador, são necessários alguns
requisitos básicos instalados. Estes seriam ter pelo menos distribuição Linux Ubuntu e
derivados na versão 16.04 ou superior, Linguagem Python 3.6 ou superior e banco de
dados MySQL 5.7 ou superior. A escolha por utilizar essa linguagem e ferramentas, foi
devido a elas serem facilmente encontradas na internet, além de serem totalmente
gratuitas.

4.3 Importação dos Dados

Depois da etapa de instalação, esta é a função mais básica de toda a biblioteca,


pois não é realizada nenhuma análise propriamente dita, o que é feito nela é apenas a
inserção de ativos pelo usuário. A inserção dos dados pode ser feita através do coletor
embutido na biblioteca AlgotradingPy. Esse coletor pode ser chamado por linha de
comando e ele irá buscar os dados de cotações e negociações na API da corretora
Bitfinex e armazenará no banco de dados MySQL, configurado na etapa anterior.
4.4 Executar Backtest

Para facilitar a usabilidade da biblioteca foi desenvolvido um arquivo Jupyter Notebook.


O projeto Jupyter Notebook é um aplicativo da Web para criar e compartilhar
documentos computacionais. Oferece uma experiência simples e centrada em
documentos, chamados de notebooks. Esse notebook utiliza a biblioteca AlgotradingPy
e exibe elementos gráficos para permitir selecionar os parâmetros de entrada, como
campos de data, moedas, intervalos, configurações das médias móveis, etc. Exibe
também um botão para executar a funções de simulação da biblioteca.
O processo é simples, após instalar e configurar o Jupyter Notebook, é
só executar o arquivo “AlgoTradingPy_v1.0.3.ipynb” situado no diretório “jupyter” na
raiz do projeto. Após carregar o notebook, deve-se ir no menu “Cells” e clicar na opção
“Run All”, um formulário será mostrado conforme a figura 6. No formulário basta
selecionar uma moeda, um intervalo e o período desejado, então é só clicar no botão
“Executar Backtest”. Feito isso, os dados serão consultados e imediatamente os gráficos
serão gerados e apresentado abaixo do formulário.

Figura 6 - Formulário AlgotradingPy no Jupyter Notebook


5. Resultados

O ambiente de simulação tem um escopo reduzido levando-se em conta a enormidade


de indicadores e parametrizações que existem. Para o ambiente foram coletados dados
de cotação do tipo candle sticks, com intervalos de uma hora, de dez moedas, o período
selecionado para todas as simulações foi do primeiro dia de outubro de 2022
(01/10/2022) e o último dia de outubro 2022 (31/10/2022). As moedas escolhidas foram
Bitcoin (BTC), Etherium (ETH), Ripple (XRP), Solana (SOL), Bitcoin Cash (BCH),
Tron (TRX), Litecoin (LTC), EOS (EOS), NEO (NEO), Monero (XMR).
Motivo da escolha das moedas:

 Terem boa liquidez


 Alta capitalização de mercado
 Estarem presente na maioria das corretoras de criptomoedas

Com esses critérios foram selecionados os 3 grupos abaixo:

 Alta volatilidade: EOS (EOS), NEO (NEO), Solana (SOL) e Tron (TRX)
 Média volatilidade: Bitcoin Cash (BCH), Ripple (XRP) e Litecoin(LTC)
 Baixa volatilidade: Bitcoin (BTC), Etherium (ETH) e Monero (XMR)

5.1 Setup da Simulação

A simulação ou backtest foi realizada usando a técnica All In, onde a cada operação de
negociação utiliza todo o saldo disponível. Com relação à a indicadores utilizados,
foram escolhidos o indicador de médias móveis, utilizando a técnica de cruzamento de
médias como explicado na seção 3.4.2.
O outro indicador utilizado foi Índice de Força Relativa (RSI), onde cada trade
(compra/venda) é executado quando o valor do índice ultrapassa o limite superior
(sobrecomprado) ou inferior (sobrevendido) como explicado no na seção 3.4.3.
Os parâmetros foram escolhidos através de observações empíricas realizadas ao
longo dos testes. Para todas as quatro estratégias foram utilizados stop gain de 3% e
stop loss de -5%. A seguir a configuração de cada estratégia:

1. MAxMA_ema=13_sma=21 – cruzamento de médias móveis, sendo uma


curta exponencial de 13 períodos e uma longa aritmética de 21 períodos.
2. MaxMA_ema=8_sma=13 – cruzamento de médias móveis, sendo uma
curta exponencial de 8 períodos e uma longa aritmética de 13 períodos.
3. MaxPrice_ema=9 – cruzamento de média móvel com o preço de
fechamento do candle, onde a média móvel é exponencial curta de 9
períodos.
4. RSI_Min=20.0_Max=80.0 – índice de força relativa min e max, onde a
média móvel usada no cálculo é exponencial de 13 períodos. O limite
inferior do índice é 20% e o superior é de 80%.
5.2 Resultados Obtidos

Nos resultados, para simplificação dos cálculos, não foi considerado uma eventual taxa
por trade executado. A cobrança de taxas por operação é bastante comum nas principais
corretoras.
Na tabela 1 nota-se que todos os setups de trade tiveram um retorno menor do
que a estratégia de Buy and hold. Este comportamento pode ser explicado por duas
razões: ou pela baixa volatilidade do BTC ou devido aos parâmetros utilizados no setup
de trade não serem adequados a esta moeda. Desta forma, seria necessário otimizar estes
parâmetros para verificar se estas estratégias de trade são adequadas para este par de
moedas.
Na Figura 7, 8, 9 e 10 é possível notar os pontos onde foram detectados os sinais
de trade. Apesar de atingir uma precisão média de 60%, não foi possível superar a
estratégia de Buy and hold. Logo, outras estratégias deveriam ter sido consideradas.
Nota-se que a estratégia de RSI, somente detectou 4 trades, não sendo adequada ao
comportamento do BTC. Os resultados evidenciam a necessidade de otimização dos
parâmetros do setup de trade.

Tabela 11 - Resultados dos Setups de Trade no Par BTC/USD

Estratégia Retorno % Precisão % Compras Vendas Total

MAxMA_ema=13_sma=21 4,05 60 5 4 9

MAxMA_ema=8_sma=13 3,73 60 5 4 9

MAxPrice_ema=9 3 60 5 4 9

RSI_Min=20.0_Max=80.0 5,224 66,67 2 2 4

Buy and hold 5,78 100 1 1 2


Figura 7 - Comportamento da Estratégia de trade (CMM 13/21) no par BTC/USD

Fonte: O autor (2022).

Figura 8 - Comportamento da estratégia de trade (CMM 8/13) no par BTC/USD


Figura 9 - Comportamento da estratégia de trade (MME9) no par BTC/USD

Figura 10 - Comportamento da Estratégia de trade (RSI) no par BTC/USD


6. Conclusão e Trabalhos Futuros
Neste trabalho foi realizada uma demonstração da aplicação de algoritmos ou
algotrading sobre criptomoedas. Dessa forma, o trabalho visou comparar diferentes
estratégias de algotrading entre diferentes moedas. O estudo para implementar esses
algoritmos, compreendeu as análises técnicas e gráficas dos dados coletados de uma
corretora de criptomoedas, com intuito de prever tendências nos preços e simulando
operações de compra e venda e então calcular os resultados (lucro/prejuízo) destas
operações.
Vimos também que o comportamento das moedas podem influenciar no
desempenho das estratégias utilizadas no algotrading. A moeda Ripple (XRP) por
exemplo, se mostrou bastante adequada para os setups escolhidos, devido a sua alta
volatilidade conseguiu obter bons resultados (lucro) se comparado com as outras
moedas. Além disso, a moeda Tron (TRX) obteve um lucro expressivo (mais de 18%)
frente a estratégia de buy and hold. Nota-se ainda que as moedas com maior
capitalização (Bitcoin, Ethereum) de mercado obtiveram resultado melhor na estratégia
buy and hold do que nos setups testados.
Com relação ao ponto de vista financeiro, podemos concluir que a utilização de
um único setup não é muito recomendável, uma vez que cada moeda pode ter um
comportamento bem distinto, logo, o correto seria encontrar setups mais adequados para
cada ativo na qual desejamos analisar.
Como trabalhos futuros indicamos a utilização de algoritmos de machine
learning ou inteligência computacional para otimização dos setups de trade. Outra linha
de trabalhos futuros seria a utilização da estratégia no mercado financeiro convencional.

Referências

Matsura, E.. Comprar ou vender? Como investir na bolsa utilizando análise gráfica (6a
ed.). São Paulo: Saraiva. 2007.
Graham, B., Zweig, J. The Intelligent Investor: A Book of Practical Counsel. Ed.
Harper Collins Trade Division, 2003.
Gunther, M.. Os Axiomas de Zurique. Ed. Record. 2004.
Noronha, M.. Análise técnica: teorias, ferramentas e estratégias. Rio de Janeiro: Editec.
1995.
Pinheiro, J. L.. Mercado de capitais (3a ed.). São Paulo: Atlas. 2005.
NAKAMOTO, Satoshi. Bitcoin: A peer-to-peer electronic cash system. 2008.
ANTONOPOULOS, Andreas M. Mastering Bitcoin: unlocking digital cryptocurrencies.
" O'Reilly Media, Inc.", 2014.
CHUEN, D. L. K.; GUO, L.; WANG, Y. Cryptocurrency: A new investment
opportunity? Singapore: University of Singapore, 2017. 54p.
COINMARKETCAP. TOP 100 CRYPTOCURRENCIES BY MARKET
Disponível em: <https://coinmarketcap.com/>. Acesso em: 15 set. 2019.
ALDRIDGE, I. High-frequency trading: a practial guide to algorithmic strategies and
trading systems. New Jersey: John Wiley and Sons, 2010.
HENDERSHOTT, T; RIORDAN, R. Algorithmic trading and information. Manuscript,
University of California, Berkeley. 2011.
HENDERSHOTT, T; JONES, C.M.; MENKVELD, A.J. Does algorithmic trading
improve liquidity? The Journal of Finance, v.66, n. 1, p. 1-33. 2011.
http://dx.doi.org/10.1111/j.1540-6261.2010.01624.x. Acesso em: 02 out. 2019
Atsalakis, G. S. , & Valavanis, K. P. (2009). Surveying stock market forecasting
techniques–Part II: Soft computing methods. Expert Systems with Applications, 36 (3),
5932–5941.
Hayes, A (2019, 21 de nov.). How Does Bitcoin Mining Work? Disponível em
https://www.investopedia.com/tech/how-does-bitcoin-mining-work/
Frankenfield, J (2019, 23 de set.). Ethereum. Disponível em
https://www.investopedia.com/terms/e/ethereum.asp. Acesso em: 20 nov. 2019.
S.Popov, “TheTangle,”Ago. 2017. Disponível em
https://www.docdroid.net/mWTNlgd/iota1-2.pdf. Acesso em: 15 out. 2019.
WOOD, Gavin, et al. Ethereum: A secure decentralised generalised transaction ledger.
Ethereum project yellow paper, 2014, 151.2014: 1-32.
Thalita Ramires da Silva, AVALIAÇÃO DE UM ALGOTRADING BASEADO EM
DEEP LEARNING PARA O MERCADO DE CAPITAIS UTILIZANDO
GERENCIAMENTO DE RISCO, 2021.
J. de Mello Assis, A. C. M. Pereira and R. C. e Silva, "Designing Financial Strategies
based on Artificial Neural Networks Ensembles for Stock Markets," 2018 International
Joint Conference on Neural Networks (IJCNN), 2018, pp. 1-8, doi:
10.1109/IJCNN.2018.8489688.
Pratik Patil, Ching-Seh Mike Wu, Katerina Potika, Marjan Orang, "Stock Market
Prediction Using Ensemble of Graph Theory, Machine Learning and Deep Learning
Models", Proceedings of the 3rd International Conference on Software Engineering and
Information Management, pp.85, 2020.
Isaac Kofi Nti, Adebayo Felix Adekoya, Benjamin Asubam Weyori, "A comprehensive
evaluation of ensemble learning for stock-market prediction", Journal of Big Data,
vol.7, no.1, 2020.
Luci, Filippo (A.A. 2021/2022) Algorithmic trading systems in blockchain era. Tesi di
Laurea in Blockchain and cryptocurrencies, Luiss Guido Carli, relatore Massimo
Bernaschi, pp. 26. [Bachelor's Degree Thesis]

Broderick Crawford, Ricardo Soto, Marco Alarcón San Martín, Hanns de la Fuente-
Mella, Carlos Castro, Fernando Paredes, "Automatic High-Frequency Trading: An
Application to Emerging Chilean Stock Market", Scientific Programming, vol. 2018,
Article ID 8721246, 12 pages, 2018. https://doi.org/10.1155/2018/8721246
James Cumming, An Investigation into the Use of Reinforcement Learning Techniques
within the Algorithmic Trading Domain, 2015
Luke K. Rose, Automated Stock Market Trading Using Machine Learning, 2018
Jung, D., Glaser, F., Köpplin, W. (2019). Robo-Advisory: Opportunities and Risks for
the Future of Financial Advisory. In: Nissen, V. (eds) Advances in Consulting
Research. Contributions to Management Science. Springer, Cham.
https://doi.org/10.1007/978-3-319-95999-3_20
Cain Evans, Konstantinos Pappas, Fatos Xhafa,Utilizing artificial neural networks and
genetic algorithms to build an algo-trading model for intra-day foreign exchange
speculation, Mathematical and Computer Modelling, Volume 58, Issues 5–6, 2013,
Pages 1249-1266, ISSN 0895-7177, https://doi.org/10.1016/j.mcm.2013.02.002.
(https://www.sciencedirect.com/science/article/pii/S0895717713000290)
M. E. Aloud and N. Alkhamees, "Intelligent Algorithmic Trading Strategy Using
Reinforcement Learning and Directional Change," in IEEE Access, vol. 9, pp. 114659-
114671, 2021, doi: 10.1109/ACCESS.2021.3105259.
Thibaut Théate, Damien Ernst, An application of deep reinforcement learning to
algorithmic trading, Expert Systems with Applications, Volume 173, 2021, 114632,
ISSN 0957-4174,
https://doi.org/10.1016/j.eswa.2021.114632.
(https://www.sciencedirect.com/science/article/pii/S0957417421000737)
C. Tudor and R. Sova, "Flexible Decision Support System for Algorithmic Trading:
Empirical Application on Crude Oil Markets," in IEEE Access, vol. 10, pp. 9628-9644,
2022, doi: 10.1109/ACCESS.2022.3143767.
T. Salkar, A. Shinde, N. Tamhankar and N. Bhagat, "Algorithmic Trading using
Technical Indicators," 2021 International Conference on Communication information
and Computing Technology (ICCICT), 2021, pp. 1-6, doi:
10.1109/ICCICT50803.2021.9510135.
Kalariya, V.; Parmar, P.; Jay, P.; Tanwar, S.; Raboaca, M.S.; Alqahtani, F.; Tolba, A.;
Neagu, B.-C. Stochastic Neural Networks-Based Algorithmic Trading for the
Cryptocurrency Market. Mathematics 2022, 10, 1456.
https://doi.org/10.3390/math10091456
L. Zhang, T. Wu, S. Lahrichi, C. -G. Salas-Flores and J. Li, "A Data Science Pipeline
for Algorithmic Trading: A Comparative Study of Applications for Finance and
Cryptoeconomics," 2022 IEEE International Conference on Blockchain (Blockchain),
2022, pp. 298-303, doi: 10.1109/Blockchain55522.2022.00048.
Ran Tao, Chi-Wei Su, Yidong Xiao, Ke Dai, Fahad Khalid, Robo advisors, algorithmic
trading and investment management: Wonders of fourth industrial revolution in
financial markets, Technological Forecasting and Social Change, Volume 163, 2021,
120421, ISSN 0040-1625,
https://doi.org/10.1016/j.techfore.2020.120421.
(https://www.sciencedirect.com/science/article/pii/S0040162520312476)
P. Mahajan, Y. Salian, V. Jadhav and S. Kulkarni, "A Multi-Strategic Approach to
Automated Trading," 2021 International Conference on Communication information
and Computing Technology (ICCICT), 2021, pp. 1-7, doi:
10.1109/ICCICT50803.2021.9510079.
E. O. Yıldırım, M. Uçar and A. M. Özbayoğlu, "Evolutionary Optimized Stock Support-
Resistance Line Detection for Algorithmic Trading Systems," 2019 1st International
Informatics and Software Engineering Conference (UBMYK), 2019, pp. 1-6, doi:
10.1109/UBMYK48245.2019.8965471
Jean Pierre Jarrier Conti, Heitor Silverio Lopes , Algorithmic Trading Using Genetic
Algorithms in the Brazilian Stock Exchange, CBIC 2019.
Project Jupyter. Free software, open standards, and web services for interactive
computing across all programming languages.
Disponível em: <https://jupyter.org/> Acesso em: 05 ago. 2022.

Você também pode gostar