top of page
  • Foto do escritorRafael Perez

Implementação de Algo TradingBlog

Atualizado: 15 de out. de 2023

Em nosso artigo sobre Algo Trading no Mercado de Energia, falamos brevemente sobre o que é algo trading e alguns insights que tiramos do painel da Commodities Trading Week, o maior evento online e de graça sobre a negociação de commodities. Dentre os painéis da Commodities Trading Week há o Energy Week, painel focado 100% em energia. Algumas das entrevistas nos chamaram a atenção e hoje vamos falar um pouco sobre uma boa implementação de algo trading. Você pode acessar o acervo completo de entrevistas do Energy Week aqui.

Importante lembrar que esse serviço acontece predominante no mercado de trading Europeu e Americano, mercados muito mais líquidos e maduros do que o brasileiro. Porém com a financeirização e digitalização do mercado brasileiro as oportunidades ao redor de soluções algorítmicas tendem a tomar forma rapidamente. Abaixo vamos apresentar um pouco sobre a entrevista "Roadmap to a successful implementation of algo trading" do Energy Trading Week junto com um case sobre risco de algoritmos de execução. Membros da Entrevista Apresentador:

  • Frederic Degraeve, especialista em automação de trading.

Participantes:

  • Saeed Amen, fundador da empresa Cuemacro.

A Cuemacro é uma empresa focada em entender os macro mercados de uma perspectiva quantitativa, em particular os mercados de câmbio. Utilizando fontes de dados existentes e alternativos para criar estratégias de negociação sistemáticas, análises e índices de dados alternativos. Apesar de atuar principalmente no mercado financeiro, a Cuemacro já atuou no mercado de trading de commodities também.

  • James Ronnie, digital trading manager na Gazprom.

A Gazprom é a maior empresa exportadora de gás natural do mundo. Outras atividades da empresa são a: produção, transporte, armazenamento, processamento e vendas de gás, condensado de gás e óleo, vendas de gás como combustível veicular, bem como geração e comercialização de calor e energia elétrica. Importância de algo trading no mercado A aplicação de algoritmos é importante porque os mercados de commodities estão mudando rapidamente, principalmente os de curto prazo. Junto com o aumento de negociações de intraday, o movimento para a adoção de mais fontes de energias renováveis também deixou o mercado mais complexo e com maior liquidez, o que promove o uso de soluções automatizadas. Infraestrutura de algoritmos James compartilha a premissa que diferentes tipos de estratégias requerem infraestruturas diferentes. Duas ferramentas importantes para a execução da automatização de trading são:

  • Ferramenta de captura de dados. Sistema que consegue captar, guardar e organizar dados do mercado ou dados alternativos para o uso do algoritmo.

  • Ferramenta de backtest. Testagem do algoritmo contra dados históricos e observar como ele agiria historicamente. Esse é um método seguro para ver a execução da automatização.

Ambos os convidados defendem uma análise previa por parte da empresa sobre a importância do algoritmo. Se for um algoritmo simples (como de mapeamento de mercado), que não traz diferencial competitivo, pode ser mais interessante buscar um ISV (Independente software vendor) para desenvolvimento. Já se a estratégia que será utilizada for um forte diferencial competitivo (como um algoritmo de execução), o desenvolvimento interno pode ser mais atrativo.

Saeed defende o uso de ferramentas Open Source (ferramentas gratuitas) para uso em backtests e para baixar dados do mercado. Sendo Open Source a empresa tem acesso aos códigos utilizados e pode eventualmente modificar internamente com seus desenvolvedores para melhor adequação de sua necessidade.

Algumas ferramentas open source que levantamos: Ferramentas de backtest: "BackTrader" - Ferramenta em Python, que possibilita escrever estratégias, indicarores e analizadores para trading.

Link para visualizar outras ferramentas open source de back testing: 52+ Best Backtesting Open Source Software Projects Click to see the best open source backtesting code project including an engine, API, generator, and tools. Ferramenta de Data Mining: "Apache Mahout" - Framework de algebra linear que possibilita estatísticos e cientistas de dados implementarem algoritmos de forma rapida e escalável.

Nesse link você tem acesso á outras ferramentas de data mining:

Quanto à hospedagem do algoritmo, as opções Cloud e Inhouse são válidas. Na hospedagem em Cloud é possível ter maior escalabilidade na computação do código. Mas se for necessário muito poder de CPU para rodar a automação, pode ser mais interessante adotar um servidor inhouse. Em geral a solução Cloud é mais barata do que a Inhouse, porém pode variar em casos mais específicos. Equipe Técnica

Em geral, para o desenvolvimento de algoritmos de trading, são necessários três tipos de profissionais trabalhando juntos. São eles: Cientistas da computação, Traders quantitativos e traders. Os cientistas da computação buscam desenvolver estruturas robustas e com garantias de qualidade, os traders quant. procuram olhar para os dados e modelos matemáticos, nao como engenheiros, mas como um meio de trazer insights. Os traders entram com o expertise do mercado e com a analise de risco e de probabilidade.

Em resumo, os cientistas e traders quant. entendem a importância de rodar testes, fracassar e tentar novamente. E os traders entendem a necessidade de ter estratégias de aplicação de longo prazo e a validação "real" do algoritmo. Qualidade dos dados e como evitar erros como o da Knight Capital em 2012. Glitch na Knight Capital em 2012, foi um glitch no algoritmo de execução de compra e venda de ativos que acabou custando para a empresa, cerca de 450 milhões de dólares. O algoritmo estava comprando em alta e vendendo em baixa. Tomando prejuízo de 10 milhões de dólares por minuto. Demorou cerca de 45 minutos para arrumarem o glitch. O caso ficou famoso como um case para erros que podem ocorrer com algoritmos e reforça a necessidade de boas práticas para manutenção e acompanhamento da automação.

Abaixo um video do Financial Times explicando um pouco mais em detalhes o caso.


Como evitar erros assim? Quais são as boas práticas? È necessário a implementação de um modelo de desenvolvimento do algoritmo. Modelo que começa com captura de dados, depois P&D para desenvolvimento e testagem, montagem de estratégias para o algoritmo e backtest com dados históricos. Rodando periodicamente simulações e testes de estresse para deixar o código mais robusto e seguro.

Para Saeed, a dúvida mais importante quando se pensa na manutenção do código é: "Quando o modelo para de funcionar?". Para responder isso é necessário definir períodos de revisão do código e do modelo. Porém ele lembra que existem modelos que rodam com mais frequência (como por exemplo intraday), que são mais fáceis de acompanhar do que modelos com baixa frequência como uma ordem de compra semanal ou mensal.

. . . . . . . . Muito obrigado por ler mais um artigo da nossa equipe. Lembramos sempre que tudo que nós construímos na Navarra é um processo colaborativo com o mercado de energia então se você tiver algum assunto ou dúvida fique à vontade para entrar em contato com nossa equipe! email: rafael.perez@navarratech.com

15 visualizações0 comentário

Opmerkingen


bottom of page