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

 

Lembro-me que antes de tais "padrões" de convolução me pareceram nada mais que um graal, o hrenFx até apresentou tal indicador há 10 anos atrás, também fiz a minha própria versão, mas... não funciona realmente, pelo menos não para variantes simples com votação de convolução de diferentes TFs.

 
-Aleks..:

Eu entendo que não pode fazer isso sozinho - há sinais para entrar na história e há uma série de indicadores que precisam ser classificados, mas o resultado do trabalho NS não é a confirmação do sinal, mas a geração do sinal em si. Peço desculpas, talvez seja estúpido, mas com o meu parco conhecimento do assunto não vejo porque não é possível - depois de ler o seu artigo.

Sobre ZZ, não entendo - uma ZZ normal mostra o extremo actual...

E mais uma vez, uma RZ é para geração de sinal, não para sua confirmação - ou seja, há sempre um sinal - vender quando o mercado está subindo, mas a NS tem que confirmá-lo, com base no padrão de variações passadas.

Eu entendo corretamente que a vantagem da NS é que o sinal pode ser confirmado ou rejeitado por uma série de padrões, que são coletados no histórico, não devem se contradizer e são verificados quando um sinal de negociação aparece?



É uma longa explicação, em geral a ZZ não é adequada. Estou a dizer-te isto com toda a certeza. E mais uma coisa:

Temos de decidir o que queremos fazer. Prever ou classificar. As abordagens são totalmente diferentes, mas têm o mesmo objectivo ....

Dê outra olhada no artigo. A estratégia básica só é necessária para determinar o momento, quando analisamos o mercado. Ou seja, o evento ocorreu, nós começamos a análise. O evento pode ser qualquer coisa.

Suponha que os vagões cruzaram, o evento ocorreu e nós iniciamos a análise.

Em alguns aspectos, tens razão. O próprio computador Nacional produz sinais, mas tendo em conta que funciona no momento da formação do sinal da estratégia básica. Acontece que o NS é uma confirmação ou refutação do sinal de estratégia subjacente. Então é assim....

 
elibrarius:
Eu primeiro carrego a história das 375000 barras (para M1 é um ano) em um array, ou seja, RAM (cerca de 30-60 seg), depois leva de 30 a 700ms para passar por ele, dependendo da profundidade do padrão.

Mais uma vez eu digo como se deve abordar esta tarefa. Acho que há lá peixe....

 
Mihail Marchukajtes:

Mas nós vamos treinar a rede para um padrão. Aqueles padrões que aumentam o mercado marcaremos 1, aqueles que diminuem marcaremos 0. Tudo o que temos que fazer agora é treinar NS.

Pela minha experiência, é melhor não o fazer. Se você conhece os aumentos de preço para o próximo bar, é melhor usá-los como um alvo para a neurônica. Afinal, os incrementos são também algumas informações que podem ser úteis no treinamento, em comparação com apenas duas classes 0 e 1. Mesmo que então as previsões de regressão ainda resultem em duas classes (compra/venda), então é melhor arredondar o resultado da regressão do que jogar alguma informação na fase de treino.

Por exemplo, o meu modelo de regressão mais ou menos funcional para forex quebra, se eu substituir modelo por modelo de classificação (em R a transição entre classificação e regressão é realmente muito simples, a classificação é normalmente ativada automaticamente se todos os alvos forem arredondados para 0 e 1, ou se o alvo tiver fator tipo ).

 
elibrarius:

Eu fiz um indicador que procura padrões similares na história, aqui está a leitura atual do M1 EURUSD. Os 10 mais parecidos do ano. Eu retrabalhei ligeiramente o exemplo do artigo https://www.mql5.com/ru/articles/197 - em vez de uma variante mais parecida, tomo N a mais parecida e a média da resposta em barras. Para procurar o padrão uso não apenas um Preço fechado, mas o canal onde o preço esteve durante este período, ou seja, baixo e alto. Eu subo baixo pelo valor de spread.

Como pode ser visto, este padrão na história deu movimentos tanto para baixo como para cima (linhas cinzentas e vermelhas escuras). O movimento médio dos preços (linhas branca e vermelha) é quase zero (ligeiramente mais largo do que o spread), não devemos negociar com tal previsão, spread, swap e comissão levará a uma perda. Às vezes há padrões com uma boa previsão para um lado, mas na barra seguinte a previsão pode ser invertida. Se neste caso se inverter a posição, então o spread e a comissão tornarão novamente a primeira transacção não rentável.
A previsão do indicador pode ser comparada à regressão NC, mas a partir da regressão é fácil fazer um classificador. Além de Baixo e Alto quaisquer indicadores podem ser adicionados.

Se eu entendi corretamente as redes neurais fazem essencialmente a mesma coisa que este indicador de média, ou seja, procuram leituras de previsão similares (no meu caso apenas o preço) sobre a história (por exemplo, um ano) e fazem previsão média.

Faz sentido usar NS se houver uma maneira mais fácil - basta olhar através da história? Qual é a vantagem deles?

PS

Bem, o fato de que o preço foi em ambas as direções com o mesmo padrão pode ser considerado ou um processo aleatório ou um truque de fantoche que tenta quebrar estratégias de ambos os descobridores de padrão diretamente nos gráficos e usuários NS para fazer piores previsões, ou melhor, para reduzir a previsão para ser cerca de zero, como na figura.

Os padrões por correlação estão a ser procurados? Se sim, vazios.

semana atual de negociação do meu NS (testes), cerca de mais um mês de testes e será possível transferir para o dinheiro normal. Total: Um NS simples e robusto foi escrito em um mês.


 
Maxim Dmitrievsky:

Os padrões por correlação são pesquisados? Se sim, vazios.

Por correlação, nomeadamente, pela diferença entre os preços em cada barra do padrão pesquisado. Vamos chamar-lhe o erro na barra, depois somar os erros de todas as barras e ordená-los no erro resultante e encontrar o N melhor - a maioria das variantes semelhantes.
Não vejo outras opções para comparar dois gráficos de preços. Que outras opções existem...?
 
Vasily Perepelkin:

Esta é a coisa principal que eu ensino aos meus alunos, um homem é de princípios, não se dobrar, se ele decidir - então até a morte. Eu tinha um aluno (Maxim) que não tinha força, faltava-lhe carácter, era demasiado efeminado, tremia, mas tu vais conseguir - tu és um homem!



 
elibrarius:
Por correlação, nomeadamente pela diferença entre o preço em cada barra do padrão procurado. Vamos chamar-lhe erro na barra, depois resumir os erros para todas as barras, ordenar pelo erro resultante e encontrar o N melhor, - as variantes mais semelhantes.
Não vejo outras opções para comparar dois gráficos de preços. Que outras opções existem...?

Como mínimo, precisamos fazer transformações afins dos gráficos, pois os padrões estão em diferentes ângulos de inclinação (estruturas autoafinadas), e, em segundo lugar, pesquisar em diferentes intervalos de tempo. Mas tudo isso não ajuda quando a correlação é usada - ela encontra padrões muito diferentes. NS convergente (visão por computador) seria mais adequado para ele.

Eu queria experimentar, mas ainda não cheguei a isso.

 
Mihail Marchukajtes:

Em matéria de previsão, é um tema bastante interessante. Então temos um paternoster, encontrado no fundo da história. Exactamente o mesmo que é agora. No entanto, a reação do mercado a este padrão não é clara. Há para cima e há para baixo.

Como pode ser visto nos gráficos, o mesmo padrão foi encontrado várias vezes, por isso temos vários resultados possíveis. É aqui que a Classificação precisa ser ativada. Mas nós vamos treinar a rede para um padrão. Aqueles padrões que causaram o crescimento do mercado nós vamos marcar 1, vamos marcar 0 para aqueles que causaram a diminuição do mercado. Quando este padrão aparecer, alimentaremos os valores de entrada naquele momento e NS dirá se é um padrão de crescimento ou de declínio do mercado.

Não será possível dividir os padrões de N obtidos a partir da história, porque são maximamente semelhantes ao padrão desejado e têm diferenças mínimas entre eles.
Se você quiser minimizar as diferenças - você não deve procurar por 10, mas por 2-3 modelos similares, mas a previsão para 3 padrões terá erro de previsão = 33%, para 10 padrões 10%, para 100 padrões 1% aproximadamente (acho que no cálculo do erro deve incluir o grau de erro de cada padrão encontrado a partir do original).

A questão de encontrar o número ideal de modelos para fazer uma previsão pode ser deixada para o otimizador.

 
elibrarius:

Não há como separar os padrões N da história, porque são o mais parecidos possível com o padrão desejado e têm diferenças mínimas entre eles.
Se você quiser minimizar as diferenças, você deve procurar 2-3 modelos mais similares, mas a previsão para 3 padrões terá erro de previsão = 33%, para 10 padrões 10%, para 100 padrões 1% aproximadamente (acho que no cálculo do erro deve incluir erro em cada padrão encontrado a partir do original).

A questão de encontrar o número ótimo de modelos, através do qual construir a previsão, pode ser deixada para o otimizador.

Esta é uma abordagem fútil se aplicada na sua forma atual, olhar para a invariância da escala (escala) e transformações afins. O facto de os padrões serem semelhantes não diz nada, precisamos de considerar a posição mútua de vários padrões, uma espécie de validação cruzada, mais observar a sua posição no padrão por ordem de magnitude. Eu fiz tudo, mas não gostei muito - porque a correlação está envolvida, você precisa se livrar dela e passar a busca por NS de convolução.
Razão: