paint-brush
Estrutura de aprendizagem por reforço profundo para automatizar negociações em finanças quantitativaspor@reinforcement
1,936 leituras
1,936 leituras

Estrutura de aprendizagem por reforço profundo para automatizar negociações em finanças quantitativas

Muito longo; Para ler

FinRL é uma estrutura de código aberto que simplifica o uso de aprendizagem por reforço profundo em finanças quantitativas, oferecendo uma solução full-stack com estratégias de negociação personalizáveis e reproduzíveis.
featured image - Estrutura de aprendizagem por reforço profundo para automatizar negociações em finanças quantitativas
Reinforcement Technology Advancements HackerNoon profile picture
0-item

Autores:

(1) Xiao-Yang Liu, Hongyang Yang, Universidade de Columbia (xl2427,[email protected]);

(2) Jiechao Gao, Universidade da Virgínia ([email protected]);

(3) Christina Dan Wang ( autora correspondente ), New York University Shanghai ([email protected]).

Tabela de links

Resumo e 1 Introdução

2 Trabalhos Relacionados e 2.1 Algoritmos de Aprendizagem por Reforço Profundo

2.2 Bibliotecas de Aprendizado por Reforço Profundo e 2.3 Aprendizado por Reforço Profundo em Finanças

3 A Estrutura FinRL Proposta e 3.1 Visão Geral da Estrutura FinRL

3.2 Camada de Aplicação

3.3 Camada de Agente

3.4 Camada Ambiental

3.5 Pipeline de Treinamento-Teste-Negociação

4 tutoriais práticos e desempenho de benchmark e módulo de backtesting 4.1

4.2 Estratégias Básicas e Métricas de Negociação

4.3 Tutoriais práticos

4.4 Caso de Uso I: Negociação de Ações

4.5 Caso de Uso II: Alocação de Portfólio e 4.6 Caso de Uso III: Negociação de Criptomoedas

5 Ecossistema de FinRL e Conclusões e Referências

ABSTRATO

A aprendizagem por reforço profundo (DRL) foi concebida para ter uma vantagem competitiva em finanças quantitativas. No entanto, existe uma curva de desenvolvimento acentuada para que os traders quantitativos obtenham um agente que se posicione automaticamente para vencer no mercado, nomeadamente para decidir onde negociar, a que preço e em que quantidade, devido à programação propensa a erros e à árdua depuração. Neste artigo, apresentamos a primeira estrutura de código aberto FinRL como um pipeline completo para ajudar os traders quantitativos a superar a íngreme curva de aprendizado. FinRL é apresentado com simplicidade, aplicabilidade e extensibilidade sob os princípios-chave, estrutura full-stack, personalização, reprodutibilidade e tutoria prática


Incorporado como uma arquitetura de três camadas com estruturas modulares, o FinRL implementa algoritmos DRL de última geração e funções de recompensa comuns, ao mesmo tempo que alivia as cargas de trabalho de depuração. Assim, ajudamos os usuários a canalizar o desenho da estratégia com uma alta taxa de rotatividade. Em vários níveis de granularidade de tempo, o FinRL simula vários mercados como ambientes de treinamento usando dados históricos e APIs de negociação ao vivo. Sendo altamente extensível, o FinRL reserva um conjunto de interfaces de importação de usuários e incorpora restrições comerciais, como atrito do mercado, liquidez do mercado e aversão ao risco do investidor. Além disso, servindo como trampolins para os profissionais, tarefas comerciais típicas são fornecidas como tutoriais passo a passo, por exemplo, negociação de ações, alocação de portfólio, negociação de criptomoedas, etc.

1. INTRODUÇÃO

A aprendizagem por reforço profundo (DRL), que equilibra a exploração (de território desconhecido) e a exploração (do conhecimento atual), é uma abordagem promissora para automatizar a negociação em finanças quantitativas [50][51][47][54][21][13 ]. Os algoritmos DRL são poderosos na resolução de problemas dinâmicos de tomada de decisão, aprendendo através de interações com um ambiente desconhecido e oferecem duas vantagens principais: escalabilidade de portfólio e independência do modelo de mercado [6]. Nas finanças quantitativas, a negociação algorítmica consiste essencialmente em tomar decisões dinâmicas, nomeadamente, decidir onde negociar, a que preço e em que quantidade, num mercado financeiro altamente estocástico e complexo. Incorporando muitos fatores financeiros, como mostrado na Figura 1, um agente comercial DRL constrói um modelo multifatorial para negociar automaticamente, o que é difícil para os comerciantes humanos realizarem [4, 53]. Portanto, o DRL foi concebido para ter uma vantagem competitiva em finanças quantitativas.


Muitos trabalhos existentes aplicaram DRL em tarefas financeiras quantitativas. Tanto os pesquisadores quanto os profissionais do setor estão projetando ativamente estratégias de negociação alimentadas pelo DRL, uma vez que as redes neurais profundas são significativamente poderosas para estimar o retorno esperado da realização de uma determinada ação em um estado. Moody e Saffell [33] utilizaram uma pesquisa de políticas para negociação de ações; Deng et al. [9] mostraram que o DRL pode obter mais lucros do que os métodos convencionais. Mais aplicações incluem negociação de ações [35, 47, 51, 54], contratos futuros [54], dados alternativos (sentimentos de notícias) [22, 35], negociação de alta frequência [15], análise de estratégia de liquidação [3] e hedge [ 6]. O DRL também está sendo ativamente explorado no mercado de criptomoedas, por exemplo, negociação automatizada, alocação de portfólio e criação de mercado.


No entanto, conceber uma estratégia de negociação DRL não é fácil. A programação é propensa a erros com depuração tediosa. O pipeline de desenvolvimento inclui o pré-processamento de dados de mercado, a construção de um ambiente de treinamento, o gerenciamento de estados de negociação e o backtesting do desempenho comercial. Essas etapas são padrão para implementação, mas ainda assim demoradas, especialmente para iniciantes. Portanto, há uma demanda urgente por uma biblioteca de código aberto para ajudar pesquisadores e comerciantes quantitativos a superar a acentuada curva de aprendizado.


Neste artigo, apresentamos uma estrutura FinRL que agiliza automaticamente o desenvolvimento de estratégias de negociação, de modo a ajudar pesquisadores e traders quantitativos a iterar suas estratégias a uma alta taxa de rotatividade. Os usuários especificam as configurações, como escolha de APIs de dados e algoritmos DRL, e analisam o desempenho dos resultados de negociação. Para conseguir isso, FinRL introduz uma estrutura de três camadas. Na parte inferior está uma camada de ambiente que simula os mercados financeiros usando dados históricos reais, como preço de fechamento, ações, volume de negociação e indicadores técnicos. No meio está a camada de agente que implementa algoritmos DRL ajustados e funções de recompensa comuns. O agente interage com o ambiente por meio de funções de recompensa devidamente definidas no espaço de estado e no espaço de ação. A camada superior inclui aplicações em negociação automatizada, onde demonstramos vários casos de uso, nomeadamente negociação de ações, alocação de portfólio, negociação de criptomoedas, etc. Fornecemos estratégias de negociação básicas para aliviar cargas de trabalho de depuração.


Figura 1: Visão geral da negociação automatizada no FinRL, usando aprendizagem por reforço profundo.


Sob a estrutura de três camadas, o FinRL é desenvolvido com três princípios primários:


• Estrutura full-stack. Fornecer uma estrutura DRL completa com otimizações orientadas para finanças, incluindo APIs de dados de mercado, pré-processamento de dados, algoritmos DRL e backtesting automatizado. Os usuários podem fazer uso transparente desse pipeline de desenvolvimento.


• Costumização. Manter a modularidade e a extensibilidade no desenvolvimento, incluindo algoritmos DRL de última geração e apoiando o design de novos algoritmos. Os algoritmos DRL podem ser usados para construir estratégias de negociação por meio de configurações simples.


• Reprodutibilidade e tutoria prática. Fornecer tutoriais como notebooks Jupyter passo a passo e guia do usuário para ajudar os usuários a percorrer o pipeline e reproduzir os casos de uso.


Isso leva a uma estrutura unificada onde os desenvolvedores são capazes de explorar ideias de forma eficiente por meio de configurações e especificações de alto nível e personalizar suas próprias estratégias conforme solicitado.


Nossas contribuições são resumidas da seguinte forma:


• FinRL é a primeira estrutura de código aberto que demonstra o grande potencial da aplicação de algoritmos DRL em finanças quantitativas. Construímos um ecossistema em torno da estrutura FinRL, que semeia a comunidade AI4Finance em rápido crescimento.


• A camada de aplicação fornece interfaces para os usuários personalizarem o FinRL de acordo com suas próprias tarefas de negociação. Módulo de backtesting automatizado e métricas de desempenho são fornecidos para ajudar os traders quantitativos a iterar estratégias de negociação com uma alta taxa de rotatividade. Estratégias de negociação lucrativas são reproduzíveis e tutoriais práticos são fornecidos de maneira amigável para iniciantes. Também é possível ajustar os modelos treinados aos mercados em rápida mudança.


• A camada de agente fornece algoritmos DRL de última geração que são adaptados para finanças com hiperparâmetros ajustados. Os usuários podem adicionar novos algoritmos DRL.


• A camada de ambiente inclui não apenas uma coleção de APIs de dados históricos, mas também APIs de negociação em tempo real. Eles são reconfigurados em ambientes padrão de estilo de academia OpenAI [5]. Além disso, incorpora fricções de mercado e permite aos usuários personalizar a granularidade do tempo de negociação.


O restante deste artigo está organizado da seguinte forma. A seção 2 analisa trabalhos relacionados. A seção 3 apresenta a estrutura FinRL. A Seção 4 demonstra tarefas de negociação de benchmark usando FinRL. Concluímos este artigo na Seção 5.


Este artigo está disponível no arxiv sob licença CC BY 4.0 DEED.