Forex Mecânico.
Negociação no mercado FX usando estratégias mecânicas de negociação.
Aprendizagem de reforço e graus de liberdade no comércio de Forex.
Ontem falei sobre alguns dos meus desenvolvimentos iniciais na aprendizagem de reforço usando o Q-learning no comércio de Forex e quão importante é controlar o ajuste de curva no Q-learning para garantir que você não tenha algoritmos que se encaixem no ruído dentro do dados. Na publicação de hoje, quero dar uma olhada mais profunda nisso usando o modelo que desenvolvi para o gráfico diário que usa informações binárias sobre velas de baixa e alta para definir estados e, em seguida, executa um exercício Q-learning com base nessas informações . Com este exemplo, poderemos ver o efeito de mudar a quantidade de graus de liberdade dentro da aprendizagem de reforço e como isto afeta nossa capacidade de ajustar a curva ao sistema para os dados. Veremos como isso afeta os resultados de fazer testes pseudo fora da amostra e como o Q-learning nos dá uma habilidade bastante única para controlar o quão bem o nosso sistema é capaz de aprender com os dados em mãos.
No meu exemplo inicial de Q-learning, temos um sistema que aprende como negociar usando informações de barras anteriores e podemos controlar a quantidade de informações que fornecemos e, portanto, o quão bem o sistema pode distinguir entre dois estados de mercado diferentes. Imagine que trocamos um sistema que só vê os últimos dois bares e se ambos eram de baixa, tanto otimistas, um mais baixista ou um otimista de baixa; nosso sistema seria capaz de ver apenas 4 estados de mercado diferentes e teria que aprender com milhares de barras como negociar dentro dessas quatro circunstâncias diferentes. É claro que o nosso sistema não é obrigado a fazer bem, a menos que exista uma relação extremamente óbvia entre a direção das duas últimas barras e a direção de uma barra subseqüente, uma vez que isso não é o caso & # 8211; Como tal, uma ineficiência seria simplesmente óbvia demais. esperamos que o nosso Q-learning não consiga aprender nada de substância.
O número de estados possíveis que nosso algoritmo de aprendizagem de reforço pode distinguir evolui como 2 ^ N onde N é o número de barras no passado que estamos olhando para definir cada estado. No exemplo acima, temos 2 barras para 2² = 4, se usarmos 3 então é 2² = 8 e assim por diante. Em vez disso, alcançaremos um ponto em que podemos definir centenas de estados como por exemplo 2вЃ№ = 512. Quando você adiciona mais e mais graus de liberdade dessa maneira, você está dando ao algoritmo a chance de distinguir dois estados de mercado devido a algo que pode não ser relevante (ruído), mas essa diferença é suficiente para obter lucro como o algoritmo é capaz de derivar decisões longas / curtas / escocesas de tal configuração. É aqui que o ajuste da curva começa a dar errado, você não está aprendendo os fundamentos do jogo, mas você está aprendendo algo irrelevante para o futuro. No entanto, adicionar mais graus de liberdade também significa que você pode fazer melhores distinções nos testes, o que significa maiores lucros históricos.
A primeira imagem nesta publicação mostra como os lucros históricos evoluem, pois usamos os algoritmos Q-learning com mais barras e, portanto, estados mais possíveis. Como você pode ver abaixo de 7 barras (128 estados possíveis), não fazemos um lucro histórico porque simplesmente não temos liberdade suficiente para aprender o suficiente dos dados, enquanto acima deste ponto vemos um aumento acentuado no lucro histórico à medida que adicionamos mais barras, nós começamos a melhorar a capacidade do algoritmo de aprender com os dados históricos de forma muito significativa. Uma vez que o crescimento do número de estados é exponencial, o mesmo é o lucro histórico que pode ser obtido a partir deles. Se você soubesse apenas dados históricos, ficaria claro que queremos o melhor ajuste possível. maior número de barras e # 8211; mas dado que queremos testar a capacidade do algoritmo de Q-learning de realmente generalizar, podemos realizar um teste pseudo-fora-de-amostra dividindo os dados de 1986-2018 para treinar o algoritmo (execute vários backtests usando isso dados até a aprendizagem convergem) e, em seguida, use o período 2018-2018 para executar um único backtest e veja como as tarifas do algoritmo.
O segundo gráfico na publicação revela o que acontece quando você faz isso por 7, 8 e 9 barras. É evidente que os resultados no espaço de teste pseudo fora da amostra são bastante semelhantes para todos eles (veja os gráficos subjacentes à equidade). Isso ocorre porque o algoritmo Q-learning aprende quando se troca por esse período, apenas que não pode aprender várias vezes, mas apenas a partir da informação que obtém enquanto negocia. O algoritmo de 9 bar funciona melhor do que o resto em alguns sentidos # 8211; por exemplo, a volatilidade é menor e # 8211; mas é o algoritmo que decepciona o mais relativo aos resultados dentro do período de treinamento. Se você tivesse visto apenas dados de 1986-2018 e tentou o algoritmo de 7 barras, você não teria decepcionado com os resultados no período 2018-2018 e # 8211; eles parecem normais mas quando você vai para complexidades mais altas, os resultados históricos se tornam muito melhores do que o que realmente estamos recebendo no pseudo fora da amostra. Um caso clássico de sobreposição.
Forex Mecânico.
Negociação no mercado FX usando estratégias mecânicas de negociação.
Aprendizagem de reforço: usando Q-learning com osciladores RSI.
O índice de força relativa (RSI) é um dos indicadores que eu mais gosto devido à sua capacidade de condensar quantidades significativas de informações importantes em uma única medida. Por isso, eu queria ver se eu poderia usar um grupo de medidas de RSI, a fim de dispor uma política ótima para a negociação do câmbio no prazo diário. Hoje eu quero falar sobre alguns dos resultados obtidos e por isso que eles apontam para o fato de que os sistemas simples bem-sucedidos podem ser criados usando aprendizagem de reforço, desde que a informação certa seja utilizada para geração de políticas. Você verá como eu poderia de fato gerar uma política ótima usando apenas medidas RSI em um número significativo de pares Forex.
A idéia de aprendizagem de reforço é tratar o mercado como se fosse um jogo (você pode ler mais sobre isso aqui). Nós definimos um conjunto de estados de mercado usando algum conjunto de variáveis para descrever o mercado e, em seguida, formamos um algoritmo usando Q-learning para derivar uma política ótima para esses estados de mercado. Para essa experiência, decidi usar os osciladores RSI de diferentes períodos para criar uma tabela de valor Q que eu poderia usar para a aprendizagem de reforço. Usando dados diários de 1986 a 2018 para gerar a política ótima e, em seguida, os dados de 2018 a 2017 para realizar um teste pseudo fora de amostra para ver se o algoritmo foi ajustado à curva ou não. Naturalmente, os testes de todo o processo de treinamento / teste sobre dados aleatórios também são necessários para estabelecer viés de mineração de dados. Note-se que esses sistemas baseados em aprendizagem de reforço não têm absolutamente nenhum lucro, interromper a perda ou outros mecanismos de saída, a abordagem de aprendizado de reforço simplesmente decide no início de cada dia se o ótimo é longo, curto ou fora do mercado de acordo com para a sua política e negociações em conformidade.
A imagem acima (EUR / USD backtest) mostra a primeira tentativa que fiz usando 256 diferentes estados de mercado possíveis. Com essa quantidade de liberdade, a política ótima para o período de treinamento atinge resultados notáveis em 1986-2018, mas falha completamente quando confrontado com as condições pseudo-out-of-sample que não viu durante a fase de treinamento. Em essência, os 256 estados de mercado são muitos e o que conseguimos durante o período de treinamento é um ajuste de curva para os dados usando o excesso de graus de liberdade dentro da tabela Q que não fornecem informações úteis adicionais.
Para aliviar esse problema, mudei para uma tabela Q com apenas 64 estados de mercado diferentes, que foram alcançados usando 6 osciladores RSI diferentes. Os gráficos acima mostram os resultados na amostra e pseudo fora da amostra de usar este algoritmo em 5 pares diferentes, incluindo o resultado de um portfólio de negociação usando todos os pares. Os resultados são muito mais bem sucedidos, com todos os pares alcançando resultados rentáveis no pseudo fora da amostra. No entanto, vale a pena mencionar que muitos deles se tornam muito mais lisos em sua pseudo fora da amostra, em comparação com o período da amostra, enquanto outros. mais notavelmente o EUR / USD & # 8211; basicamente continuam a mesma tendência que seguiram durante o período de treinamento na amostra.
Para o portfólio global há uma deterioração importante do período de treinamento # 8211; o que é esperado & # 8211; uma vez que a relação Sharpe anualizada decai quase 50% com um valor de 3,49 no período da amostra caindo para 1,90 dentro do período pseudo fora da amostra. É quase certo que isso iria cair ainda mais dentro de um período real fora da amostra, com um Sharpe razoável que se espera possivelmente entre 0,5 e 1,0, já que os efeitos completos do viés de mineração de dados, tendência de ajuste de curva e decaimento alfa tornam-se aparente na negociação ao vivo.
Com tudo isso, é bastante surpreendente que os mesmos descritores de mercado possam gerar políticas bem sucedidas em 4 diferentes pares de moedas em seus prazos diários. Ainda mais, considerando o quão simples são esses descritores. Dito isto, as políticas causam restrições importantes nas decisões dos algoritmos com o portfólio global levando cerca de 20 negócios por ano. Vale ressaltar também que esse tipo de design de sistema de comércio de aprendizado de reforço não é traduzido trivialmente para coisas como a mineração de GPU, porém isso pode não ser necessário, pois é realmente fácil adicionar e testar essas entradas complexas manualmente, pois toda otimização de políticas é completamente automatizado pelos algoritmos Q-learning. Pode não ser difícil gerar um portfólio de algumas dúzias de sistemas que derivem políticas ótimas de descritores similares.
No comments:
Post a Comment