Discussão do artigo "Modelos de regressão não linear no mercado"

 

Novo artigo Modelos de regressão não linear no mercado foi publicado:

Modelos de regressão não linear no mercado: é realmente possível prever os mercados financeiros? Vamos tentar criar um modelo para prever os preços do euro-dólar e, com base nele, fazer dois robôs: um em Python e outro em MQL5.

Passei os últimos três anos tentando criar algo que realmente funcionasse. Testei de tudo, desde as regressões mais simples até redes neurais avançadas. E sabe o que aconteceu? Consegui obter resultados em classificação, mas em regressão ainda não.

Era sempre a mesma história: no histórico tudo funcionava perfeitamente, mas quando colocava no mercado real, lá vinha o prejuízo. Lembro da alegria com minha primeira rede convolucional. Era linda: R2 quase 1,00% no treinamento. Depois, duas semanas de operação e menos 30% da conta. Clássico: overfitting na sua forma mais pura. Você ativa a visualização da propagação para frente e vê a previsão “voando” cada vez mais longe dos preços reais com o passar do tempo.

Mas eu sou teimoso. Depois de mais uma perda, resolvi ir mais fundo e mergulhei em artigos científicos. E sabe o que encontrei nos arquivos empoeirados? Acontece que o velho Mandelbrot já falava sobre a natureza fractal dos mercados. E a gente tentando operar com modelos lineares! É como tentar medir a linha da costa com uma régua: quanto mais precisa a medição, maior o comprimento resulta.

Em algum momento, tive um estalo: e se tentarmos cruzar a análise técnica clássica com dinâmica não linear? Não esses indicadores grosseiros, mas algo mais sério: equações diferenciais, coeficientes adaptativos. Parece complicado, mas no fundo é só uma tentativa de aprender a falar com o mercado no idioma dele.

Enfim, peguei o Python, conectei bibliotecas de aprendizado de máquina e comecei a experimentar. Decidi logo de cara: nada de enfeites acadêmicos, só o que dá pra usar de verdade. Nada de supercomputadores: um notebook Acer comum, um VPS bem potente e o terminal MetaTrader 5. Foi com tudo isso que nasceu o modelo que quero apresentar.


Autor: Yevgeniy Koshtenko

 
Podemos fazer um teste sem calcular a média?
 

Isso é muito estranho:

Было несколько забавных моментов в процессе отладки. Например, система начала выдавать серию противоречивых сигналов буквально каждые несколько минут. Купить, продать, снова купить... Классическая ошибка начинающего алгоритмического трейдера — слишком частые входы в рынок. Решение оказалось до смешного простым — добавил таймаут в 15 минут между сделками и фильтр на открытые позиции.

Acontece que os sinais contraditórios do modelo são artificialmente diluídos de forma aleatória. E se o ponto de início da negociação condicional for deslocado em 15 minutos, teremos negociações em outras direções no mesmo intervalo de tempo?

 

Lembro-me de como fiquei feliz com minha primeira rede convolucional. Beleza - R2 a 1,00% durante o treinamento. E então - duas semanas de negociação e menos 30% do depósito. Clássico - retreinamento em toda a sua glória. Você ativa a visualização avançada e vê como, com a regressão, a previsão "voa" cada vez mais longe dos preços reais, ao longo do tempo....

O desvio de dados é a pergunta de um milhão de dólares no aprendizado de máquina. Você já tentou o autotreinamento - algoritmos de aprendizado de máquina on-line como este

https:// www.mql5.com/ru/forum/86386/page3631#comment_55142413

Não tentei isso, mas outra solução para o desvio de dados parece ser o Dr. Charles Martin, que emprega a teoria da matriz aleatória, uma análise avançada de similaridade da física
https://weightwatcher.ai/
[Excluído]  

Gosto do voo da fantasia, das tentativas de abordar a criação do TC de diferentes ângulos incomuns :)

Na verdade, esse é o processo de criatividade, que às vezes leva ao surgimento de soluções engenhosas.

 
Obrigado pelo artigo! Bom trabalho.

Sem calcular a média e fechar com lucro (rollovers puros em sinais), o EURUSD H1 para 2024 mostra isso:

As próprias previsões parecem ser de curto prazo:

O EA modificado está anexado (versão de teste). O fechamento no lucro é desativado pelo parâmetro.

Arquivos anexados:
 

Outra coisa que me chamou a atenção foi o sinal assimétrico (previsão >= venda -- compra, previsão < venda (por que não oferta?) -- venda). Mas quando se mantém uma posição por uma hora ou mais, isso provavelmente não importa.

 
Bem, e seria interessante executar um wok-forward - otimizar nas últimas X barras, negociar Y barras, re-otimizar, repetir.
 
Andrey Khatimlianskii #:

Outra coisa que me chamou a atenção foi o sinal assimétrico (previsão >= venda -- compra, previsão < venda (por que não oferta?) -- venda). Mas quando se mantém uma posição por uma hora ou mais, isso provavelmente não importa.

Você encontrou a resposta para a pergunta?

Esse é o ponto mais importante de qualquer TS, você não pode perder sinais, caso contrário, toda a lógica entra em colapso, ou não é assim aqui?

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.

Discussão do artigo "Modelos de regressão não linear na bolsa de valores".

Stanislav Korotky, 2024.11.27 19:05

Isso é muito estranho:

Acontece que os sinais contraditórios do modelo são artificialmente diluídos de forma aleatória. E se o ponto de início da negociação condicional for deslocado em 15 minutos, teremos negociações em outras direções no mesmo intervalo de tempo?

 

O artigo é interessante porque mostra claramente como são necessárias poucas variáveis para descrever o histórico do movimento de preços com precisão suficiente para gerar lucro no testador.

Só não entendo, o texto fala sobre superotimizações regulares, mas sugere um gráfico com valores fixos. Ou os coeficientes são selecionados com alguma frequência de janela e armazenados em uma matriz multidimensional? Não analisei o código.

Você tentou usar outros métodos para otimizar a fórmula? Talvez um dos algoritmos descritos por ele permita que você abandone completamente o python?

[Excluído]  
Abrir mão de uma píton é como abrir mão de um Bentley porque ele é muito bonito? )