Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 3170

 
fxsaber #:

Essa é a imagem vista por quase todos os usuários do testador. Estou interessado na explicação.

Nessa imagem, a significância estatística é bastante alta: mais de 3.000 posições não sobrepostas.

Presumo que esse seja o efeito das mudanças de mercado dentro da própria Sample. Por exemplo, a amostra tinha um padrão real no início e depois nada. Mas o ajuste aconteceu para toda a amostra.

De alguma forma, deveríamos evitar essas falhas na amostra.


O efeito oposto também pode ocorrer: à esquerda OOS - para baixo, à direita - para cima. Ou seja, não foi encontrado um padrão na parte inicial da amostra, mas apenas um ajuste.

Suponho que seja excesso de treinamento ou não estacionariedade. A menos, é claro, que haja problemas com os dados brutos ou com o próprio algoritmo.

Normalmente, tento "mover" um pouco o problema - altero ligeiramente todos os parâmetros possíveis (e metaparametros disponíveis) e vejo como o resultado muda. Às vezes, ele se torna um pouco mais claro.

 
mytarmailS #:
Se você obtiver lucro no OOS como no treinamento, isso significa que esse efeito (drenagem direcionada no OOS) é inerente apenas aos mercados e podemos fazer hipóteses mais adiante

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

Aprendizado de máquina na negociação: teoria, modelos, prática e algo-trading

fxsaber, 2023.08.16 11:38 AM

Esse é o tipo de absurdo que acontece. À esquerda, o OOS passa, à direita, não. E o lado direito literalmente "mergulha" imediatamente.

Você consegue ver que o OOS passa à esquerda?

 
fxsaber #:

Você consegue ver o OOS passando pela esquerda?

Estamos falando sobre o efeito à direita

Duplique completamente o experimento, mas com dados sintéticos.


======================================

O OOS à esquerda também é um ajuste, mas de uma espécie de segunda ordem


Imagine que você tenha apenas 1.000 variantes de TC, em geral.


suas etapas 1 e 2

1) Você começa a otimizar/pesquisar um bom TS, que são os dados de treinamento (ajuste/pesquisa/otimização).

Digamos que você tenha encontrado 300 variantes em que o TC ganha dinheiro...

2) Agora, você está procurando uma TC dentre essas 300 variantes que passará no OOS nos dados de teste. Você encontrou, digamos, 10 TCs que ganham tanto na linha de base quanto no teste ( OOS ).


Então, qual é o ponto 2?

É a mesma continuação do ajuste, só que sua busca(ajuste/busca/otimização) se tornou um pouco mais profunda ou complexa, porque agora você não tem uma condição de otimização (passar na linha), mas duas (passar no teste + passar na linha).

 
fxsaber #:

Essa é a imagem vista por quase todos os usuários do testador. Estou interessado na explicação.

Nessa imagem, a significância estatística é bastante alta: mais de 3.000 posições não sobrepostas.

Presumo que esse seja o efeito das mudanças de mercado dentro da própria Sample. Por exemplo, a amostra tinha um padrão real no início e depois nada. Mas o ajuste aconteceu para toda a amostra.

De alguma forma, deveríamos evitar essas falhas na amostra.


O efeito oposto também pode ocorrer: à esquerda OOS - para baixo, à direita - para cima. Ou seja, não foi encontrado um padrão na parte inicial da amostra, mas apenas um ajuste.

O OOS deve estar sempre à DIREITA.

Se o OOS for para a ESQUERDA, não há como garantir que o TC NÃO esteja com excesso de treinamento e NÃO esteja olhando para frente. Esses são os primeiros problemas importantes a serem resolvidos ao testar um CT ANTES de qualquer outra coisa.


Qual deles você tem? Isso não faz diferença! Não importa se é um deles ou os dois. Você precisa testar corretamente e basta - OOS à direita.

E é melhor esquecer o testador e formar arquivos para teste da seguinte forma:


Temos dois arquivos.


O primeiro arquivo é dividido aleatoriamente por amostra em três partes: treinamento, teste e validação. Estude em uma amostra de treinamento (aleatória) e, em seguida, verifique em uma amostra aleatória de teste e validação - todas essas são partes DIFERENTES do primeiro arquivo. Compare os resultados. Se eles forem aproximadamente iguais, verifique o segundo arquivo de "sequência natural". Se eles forem aproximadamente iguais aqui também, teremos a principal conclusão: nosso TC NÃO está supertreinado e NÃO olha para frente. Somente com essa conclusão, faz sentido falar sobre qualquer outra coisa: precisão, lucratividade e outros aspectos, todos eles SECUNDÁRIOS.


Observo que, na verdade, não há outras maneiras de verificar a antecipação e o retreinamento.

 
fxsaber #:

Esse é o tipo de coisa que acontece. À esquerda, o OOS passa, à direita, não. E no lado direito, ele literalmente "mergulha" imediatamente.


Isso acontece na maioria das vezes.

Ou seja, um mergulho literalmente imediato e significativo. A natureza do mergulho não está clara. Acho que deve ser algo próximo ao SB, mas vejo esse tipo de imagem com muita frequência.


Parece que, se você executar um TC invertido após a otimização, talvez nem consiga drenar.

P-hacking (ou data-dredging) é uma prática estatística na qual um pesquisador analisa os dados até encontrar um resultado estatisticamente significativo. Ele pode alterar os parâmetros da análise, selecionar apenas determinados dados ou fazer várias comparações para encontrar relações ou diferenças significativas nos dados. Isso pode levar a falsos positivos e distorcer as conclusões científicas. O P-hacking é uma forma de desonestidade científica e pode levar a recomendações e decisões incorretas baseadas em premissas falsas.


***Como você bem observou, o inverso também pode acontecer
 
fxsaber #:

Você consegue ver o OOS passando pela esquerda?

Se o período de treinamento for reduzido, a reversão da tendência do gráfico ocorrerá com a mesma rapidez?

Não sei muito sobre estratégias de tick, mas um dos fatores para esse comportamento é a falta de dados comparáveis durante o treinamento, por exemplo, o treinamento estava em sua maior parte com tendência de baixa em alguns TFs.

Não sei qual método de treinamento você está usando, se são sistemas de árvore ou filtros que apenas fixam o intervalo de um indicador condicional (função), vale a pena estimar o número de exemplos que se enquadram em cada um desses intervalos.

Uma situação possível é o desvio de dados e uma mudança na distribuição de resultados de probabilidade para o filtro/lista.

Por exemplo, quando seleciono segmentos quânticos em uma amostra para treinamento e, em seguida, estimo sua distribuição (porcentagem de respostas corretas e incorretas para o alvo 0||1) em duas outras amostras, o atendimento ao critério de estabilidade em 3 amostras é encontrado no intervalo de 25% a 30% - é claro que, nesse caso, o modelo tem mais chances de escolher um preditor instável, que deixará de funcionar em um dos sites.

No final, tudo se resume à análise de regularidades simples, ou seja, à busca de motivos para considerá-las como tal, em vez da observação aleatória da cauda de um cometa em um telescópio.

 
fxsaber #:

Você consegue ver o OOS passando pela esquerda?

Por quanto tempo o sistema permanece lucrativo?

Encontrei um comportamento semelhante do sistema quando, no OOS à direita, há uma ameixa acentuada. Não acho que isso esteja diretamente relacionado a uma reversão acentuada de 180 graus dos padrões de mercado encontrados (isso indicaria motivos de natureza mística, aplicação de práticas de vodu e, em geral, qualquer coisa, em vez de problemas reais, como retreinamento ou ajuste, porque é no mínimo estranho quando uma ameixa acentuada sempre acontece após o término do treinamento). Normalmente, isso se deve a alguns erros no código que causam falsos positivos (ou falsos negativos), como Max disse acima, cuja correção leva a um comportamento aleatório no OOS direito no pior caso (treinamento excessivo) ou ao enfraquecimento gradual da lucratividade no melhor caso (enfraquecimento dos padrões encontrados e/ou sua mudança gradual).

 
Andrey Dik #:

Por quanto tempo o sistema se mantém lucrativo?

Encontrei um comportamento semelhante do sistema quando, no OOS do lado direito, há uma queda brusca. Não acho que isso esteja diretamente relacionado a uma reversão brusca de 180 graus dos padrões de mercado encontrados (isso indicaria razões de natureza mística, aplicação de práticas de vodu e, em geral, qualquer coisa, em vez de problemas reais, como retreinamento ou ajuste, porque é no mínimo estranho quando uma queda brusca sempre acontece após o fim do treinamento). Normalmente, isso se deve a alguns erros no código que causam falsos positivos (ou falsos negativos), como Max disse acima, cuja correção leva a um comportamento aleatório no OOS direito no pior caso (treinamento excessivo) ou ao enfraquecimento gradual da lucratividade no melhor caso (enfraquecimento dos padrões encontrados e/ou sua mudança gradual).

E se o TS tiver muitos parâmetros ou for muito bem ajustado, as quedas serão sempre acentuadas. Porque ela funcionou "no fino". Um grande número de parâmetros leva a erros crescentes, que se somam. Se o TS for mais grosseiro e tiver menos parâmetros, ele não será tão bonito no testador, mas entrará em colapso de forma mais suave.

Podemos fazer uma analogia com um pôquer em martingale. Há um grande número de posições fracassadas. Substitua-o por um grande número de parâmetros falhos ou qualquer outra coisa. O resultado é o mesmo.

Como o pi hacking não corrige o problema, ele o varre para debaixo do tapete. Reduzindo a tendência e aumentando a variação, e vice-versa. Os erros ainda estão lá, apenas ocultos.
 

Adicionei a visualização de gráficos em subamostras de testes e exames e cortei o trem - removi a parte inicial para que as imagens fossem compatíveis.

Na verdade, essas são seções sequenciais de tempo de trem->teste->exame.

Depois de observar o gif, fica claro que as amostras de teste e exame reduziram mais a amplitude da oscilação do que obtiveram uma tendência em qualquer direção.

Entretanto, se você observar com atenção, verá que em algumas iterações há um aprimoramento nessas amostras, ou seja, podemos supor que essas são as regras (na forma de segmentos quânticos) que mostram estabilidade em diferentes amostras. Também é possível observar que seções diferentes mudam de forma diferente de iteração para iteração, ou seja, a melhoria no teste não tem uma correlação direta com a melhoria no exame.

Como escrevi acima, isso é explicado pela mudança na tendência da probabilidade de pertencer a uma classe de um segmento quântico individual.

Os segmentos quânticos em si, como um sinal para ignorar o sinal-alvo, ou seja, para levá-lo a zero ou, em outras palavras, para dividir a amostra em duas partes, são selecionados de acordo com sua estimativa de custo. Ou seja, o custo da redução de sinais errôneos é estimado. A cada iteração, o recálculo é realizado e a variante com o menor preço é removida.

Veja como o preço muda de acordo com um dos métodos de cálculo. Abaixo está um gif em que cada ponto é um segmento quântico (o eixo x é um número de sequência).

O resultado mudará significativamente em amostras de teste/exame se o preço for escolhido aleatoriamente na primeira iteração?

 

Entre as iterações 4 e 5, podemos ver como a subamostra de teste perde drasticamente o número de respostas corretas do alvo, o que leva imediatamente a uma divergência (o delta aumenta) com a amostra do exame.