O que são agentes de negociação de aprendizado por reforço e por que você precisa deles ao negociar commodities

Dec 02 2022
Do conceito à construção e implementação de agentes de aprendizado por reforço
O aprendizado por reforço, uma área de aprendizado de máquina, pode ser mais comumente conhecido em relação aos veículos autônomos: onde um carro aprende a dirigir por tentativa e erro e depois de um milhão de vezes, o carro sabe como fazer uma curva e parar para um vermelho semáforo. — Eu sei que isso é simplificado demais, mas você entendeu.
Imagem gerada usando Dall-E

O aprendizado por reforço, uma área de aprendizado de máquina, pode ser mais comumente conhecido em relação aos veículos autônomos: onde um carro aprende a dirigir por tentativa e erro e depois de um milhão de vezes, o carro sabe como fazer uma curva e parar para um vermelho semáforo. — Eu sei que isso é simplificado demais, mas você entendeu.

Uma aplicação menos conhecida de aprendizado por reforço pode ser encontrada no mundo do comércio. A maioria de nós está familiarizada com a aplicação de modelos de aprendizado de máquina a dados de séries temporais. Na Vesper , fazemos isso para prever os preços, a produção e os níveis de estoque de várias commodities agrícolas para alguns meses no futuro. Embora esses modelos possam indicar para onde o mercado está indo, eles não podem dizer que ação tomar com base em seus resultados - os agentes de aprendizado por reforço podem dizer quando vender, comprar ou manter seus ativos com base em como o mercado está se comportando. Embora aplicações como esta estejam se tornando mais populares nos mercados de ações e forex, ainda não há casos aplicados aos mercados de commodities.

Juntamente com Slimmer.AI , nós (a equipe de Data Science da Vesper) passamos três meses pesquisando e desenvolvendo um agente RL que aprende a negociar no mercado de commodities. Leia mais sobre esses ciclos de P&D aqui !

Este artigo fornecerá uma visão geral de nossas descobertas mais importantes. Começaremos explicando brevemente o conceito de aprendizado por reforço, seguido pela definição de um agente comercial e os benefícios de usá-lo. Por fim, discutiremos três métodos diferentes de aprendizado por reforço e seus respectivos prós e contras.

Um artigo mais aprofundado sobre as especificações de nossos agentes e suas realizações, bem como uma introdução à biblioteca utilizada, podem ser encontrados aqui . O repositório git correspondente pode ser encontrado aqui . Mas se você é relativamente novo no conceito, por favor, continue lendo!

O que é Aprendizagem por Reforço?

Simplificando, o aprendizado por reforço é a prática de aprender por tentativa e erro. O modelo aprende sendo recompensado por boas decisões e penalizado por más decisões. Isso é feito ajustando o tamanho de uma recompensa, chamada de sinal de reforço, que pode ser positivo ou negativo e sempre consequência de uma ação realizada pelo agente.

Um modelo de aprendizado por reforço conecta um agente a um ambiente por meio de uma ação. Uma visualização disso é mostrada na figura abaixo. O agente recebe informações sobre o estado atual ( St, ) do ambiente. Com base nessas informações, o agente decide por uma ação ( At ), alterando o estado do ambiente para St+1 . A ação é escolhida no espaço de ação.

Action-space : A coleção de todas as ações que estão disponíveis para o agente que ele pode usar para interagir e mudar seu ambiente

A recompensa ou punição da transição de estado é comunicada ao agente através do sinal de recompensa ( Rt ). O sistema visa aprender uma estratégia de ação que encontre o maior valor cumulativo de recompensa do ambiente.

Um exemplo simplificado de uma tarefa de aprendizado por reforço da vida real é uma criança aprendendo a andar: a criança é o agente que está tentando navegar pelo ambiente realizando ações na forma de andar ou engatinhar. Quando alguns passos são dados, a criança recebe uma reação favorável dos pais, que é análoga à recompensa. Em contraste, a criança não receberá nenhuma reação ao engatinhar ou não se mover, o que representa uma recompensa ou punição negativa.

Figura 1: Diagrama de um modelo de aprendizado por reforço

O que são Agentes de Negociação?

No contexto do trading, um agente de aprendizado por reforço é um trader cujo espaço de ação consiste em comprar, vender ou manter um ativo. O mercado do qual o ativo faz parte atuará como o ambiente. O estado pode ser exibido na forma de estatísticas sobre o mercado atual, como médias móveis diárias, máximas e mínimas diárias ou volumes de negociação de ativos. A recompensa na negociação pode ser expressa em termos de lucro, perdas ou outras métricas de desempenho. Em última análise, o objetivo do agente de negociação é agir de forma a maximizar a recompensa futura, dado o mercado em que atua. Um bom agente deve ser capaz de vencer o mercado comprando a preços baixos e vendendo a preços mais altos. O comportamento do agente dependerá muito do método de RL escolhido. Três métodos comumente usados ​​são discutidos na última seção,

Por que usar agentes comerciais?

A negociação automatizada, também conhecida como negociação algorítmica, envolve o uso de algoritmos para a execução de ordens de negociação, que é o domínio em que os agentes de negociação se enquadram. Esta forma de negociação tem muitas vantagens sobre a negociação humana (manual). Em primeiro lugar, deve ser feita uma distinção entre dois tipos de negociação automatizada:

  1. Negociação automatizada baseada em regras, onde a estratégia é predefinida e projetada por um ser humano.
  2. Negociação automatizada baseada em aprendizado de reforço, onde a estratégia é aprendida usando aprendizado de reforço.
  • Os computadores têm tempos de execução rápidos, o que reduz o risco de perder uma oportunidade devido a uma reação lenta ao estado do mercado.
  • Ao usar a negociação automatizada, você não está exposto ao risco de tomar decisões de negociação ruins devido a impactos emocionais e psicológicos, algo que os humanos sofrem massivamente. Os computadores sempre executarão a estratégia para a qual foram projetados.
  • A negociação automatizada se beneficia do fato de que os computadores são significativamente mais capazes do que os cérebros humanos em digerir grandes quantidades de dados em tempo real, permitindo estratégias muito mais complexas.
  • Um agente comercial nunca para de aprender e adaptar sua estratégia. Uma estratégia que já foi lucrativa pode não funcionar quando a dinâmica do mercado mudar. Um agente comercial de aprendizado por reforço bem projetado deve ser capaz de ajustar sua estratégia de acordo.

Como mencionado anteriormente, existem diferentes métodos para construir um agente de aprendizado por reforço. Existem três abordagens a serem usadas ao lidar com negociações financeiras: somente crítico, somente ator e crítico de ator. Critic-only, o método mais usado no domínio de negociação automatizada, funciona resolvendo um espaço de ação discreto na forma de uma função de valor Q.

Função Q-valor: medida da recompensa total esperada, assumindo que o agente está no estado St e executa a ação At

Fazendo isso, ele aprende a estratégia que maximiza a recompensa futura dado o estado atual. Os exemplos mais conhecidos são Q-learning e Deep Q-learning. A principal desvantagem desses métodos é que eles são projetados para lidar apenas com problemas de espaço de ação discretos e finitos, o que significa que as ações que um agente pode executar devem ser predefinidas. Portanto, técnicas especiais devem ser usadas para convertê-lo em um espaço contínuo, como no caso de comprar ou vender diferentes quantidades de um produto.

A segunda abordagem é chamada apenas de ator; aqui, o maior benefício é que o espaço de ação pode ser contínuo, pois uma política é aprendida diretamente na forma de uma distribuição de probabilidade, fornecendo uma estratégia para qualquer estado.

Política: mapeamento de algum estado St para as probabilidades de selecionar cada ação possível At dado aquele estado

No entanto, o tempo de treinamento mais longo necessário para obter as políticas ótimas pode ser visto como uma desvantagem dessa abordagem.

O terceiro tipo, o framework ator-crítico, combina os dois e treina simultaneamente dois modelos: o ator, que aprende como fazer o agente se comportar em um determinado estado, e o crítico, que avalia o quão efetiva foi a ação selecionada. Dois algoritmos de crítico de ator comumente usados ​​são PPO ou A2C. Embora ambos os métodos sejam altamente populares quando se trata de negociação de ações, existem algumas diferenças entre o mercado de ações e o mercado de commodities que devem ser consideradas ao decidir sobre nossa abordagem.

A maior diferença entre os dois mercados é a quantidade de dados disponíveis. Uma dificuldade que os pesquisadores costumam encontrar ao aplicar tecnologias de IA ao mercado de commodities é a falta de transparência e a consequência associada de poucos dados de mercado disponíveis. Felizmente, como uma plataforma de inteligência de commodities, coletar esses dados é nosso negócio diário. A base de dados da Vesper contém milhares de séries de dados cobrindo, entre outros, preços, futuros e dados de oferta e demanda de diversas commodities agrícolas. Outra diferença a ter em conta é a natureza dos bens comercializados. Como as commodities agrícolas são físicas por definição, restrições adicionais devem ser levadas em consideração. Pense nas datas de vencimento que obrigam os comerciantes a vender um produto antes de uma determinada data.

Neste artigo, discutimos os fundamentos do aprendizado por reforço, o que são agentes de negociação e por que eles são relevantes para serem aplicados ao mercado de commodities. Também discutimos os benefícios que vêm com eles e quais são os métodos de aprendizado por reforço mais adequados para o nosso caso de uso. Se você estiver interessado na implementação real desse método, dê uma olhada aqui, onde mostramos que os agentes de negociação superam significativamente um modelo de referência.

Se você estiver interessado no mercado de commodities e em como usamos a IA para interrompê-lo, assine nossa publicação !