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

 
Aleksey Vyazmikin #:

Ainda não consigo entender isso. Bem, tudo acontece em um espaço - na métrica de um preditor, mas como levar em conta os outros?

Quanto ao que fazer na previsão, eu estava pensando em usar dois modelos: um detecta o que foi eliminado ou confirma que os dados estão na área de "aglomeração", e o outro já trabalha com o que resta.

No exemplo , há 2 preditores, ou seja, alteramos a distância no espaço bidimensional (calculamos a hipotenusa). Se houver 5.000 sinais, você medirá a distância no espaço de 5.000 dimensões (como medir - consulte o código k-means em Algibe, pois essa é a principal tarefa - medir distâncias, tomá-las como base).
Parece a raiz da soma dos quadrados dos catetos em todos os espaços https://wiki.loginom.ru/articles/euclid-distance.html.

Se você realmente for fazer isso, não se esqueça de ajustar os preditores, de modo que, por exemplo, volumes de 1...100000 não engulam deltas de preço de 0,00001...0,01000 nos cálculos.

Como detectar isso? Essa é a questão. Especialmente em dados de mercado, onde não haverá uma separação tão clara da área ruidosa como no exemplo. Tudo será ruidoso, 90 a 99%.

Pode ser mais fácil usar pacotes prontos para remover linhas com ruído, talvez eles tenham um detector....

 
Maxim Dmitrievsky #:

https://www.mql5.com/ru/articles/9138

Já faz um ano que ninguém se importa

Escrevi uma dúzia ou vinte desses algoritmos, alguns deles se mostraram bons. O artigo não é o melhor em termos de estabilidade dos resultados, a primeira panqueca.

Portanto, não há o que discutir, porque ainda não há nada melhor.


Bem, por que não há caso - acho que o python ainda não está difundido entre os traders, de modo que as pessoas passam para a discussão ativa.
Tentarei sua abordagem mais tarde em minha amostra.

Você já experimentou o método CatBoost pronto para uso?

 

sibirqk #:
Они синхронизированы. Я же написал в начале поста - 'выровнял их по датам', что как раз и означает синхронизацию пар по времени.

"Mas, infelizmente, na minha opinião, é novamente uma completa aleatoriedade. A imagem é um pedaço de gráfico para ilustrar."

Você está certo, não é tão simples assim

 
Forester #:

No exemplo , há 2 preditores, ou seja, alteramos a distância no espaço bidimensional (calculamos a hipotenusa). Se houver 5.000 sinais, você medirá a distância no espaço de 5.000 dimensões (como medir - consulte o código k-means em alglib, essa é a principal tarefa lá - medir distâncias, tomá-las como base).
Parece a raiz da soma dos quadrados dos catetos em todos os espaços https://wiki.loginom.ru/articles/euclid-distance.html.

Agora está surgindo um entendimento - obrigado - vou pensar sobre isso.

Forester #:

Se você realmente fizer isso, não se esqueça de ajustar os preditores, de modo que, por exemplo, os volumes 1...100000 não engulam os deltas de preço 0,00001...0,01000 nos cálculos.

Certo, é necessário normalizar. No entanto, e se não os quantificássemos e calculássemos as métricas puramente por índices? :) E eu não gosto da ideia de contar por meio de cateteres - já é artificial.

No entanto, o correto seria reproduzir o algoritmo proposto e depois pensar em aprimorá-lo.

Forester #:

Como detectá-lo? Essa é a questão. Especialmente em dados de mercado, em que não haverá uma separação tão clara da área com ruído como no exemplo. Tudo será ruidoso, 90 a 99%.

Pode ser mais fácil usar pacotes prontos para remover linhas com ruído, talvez eles tenham um detector....

Na verdade, você assistiu ao vídeo? Perto do final do vídeo, ele diz que o modelo é construído, o que apenas detecta a qual área os dados pertencem e, se for não cumulativo, de acordo com a amostra em que o treinamento foi realizado, o sinal é ignorado, pelo que entendi. É claro que temos dados muito piores do que os discutidos ali, mas se forem 20%-30% do objetivo "1", já ficarei satisfeito.

Outra opção é treinar o modelo para detectar esses exemplos excluídos marcando essas linhas na amostra geral.

 
Aleksey Vyazmikin #:

É isso mesmo, devemos normalizar. No entanto, e se eles não forem quantificados e a métrica for calculada puramente por índices? :) E eu não gosto da ideia de contar através dos cateteres - é artificial.

Um chip é quantificado em 2 quanta, o outro em 32. Isso não funcionará.

Aleksey Vyazmikin #:

Na verdade, você assistiu ao vídeo? Perto do final do vídeo, ele diz que o modelo é construído, o que apenas detecta a qual área os dados pertencem e, se forem não cumulativos, de acordo com a amostra dada na qual o treinamento ocorreu, o sinal é ignorado, pelo que entendi. É claro que temos dados muito piores do que os discutidos aqui, mas se forem 20% a 30% do objetivo "1", ficarei feliz.

Outra opção é treinar o modelo para detectar esses exemplos excluídos, marcando essas linhas na amostra geral.

Ainda não dei uma olhada nisso.
Você pode detectar exemplos excluídos sem todos esses cálculos. Eu já lhe disse: basta excluir as folhas com probabilidade de uma das classes em torno de 50%.

 
Forester #:

Um chip é quantificado em 2 quanta e o outro em 32. Isso não é bom.

Não, será o mesmo local relativo - número de divisores (divisões) - fixo para todos.

Forester #:

Você pode detectar exemplos excluídos sem todos esses cálculos. Eu já lhe disse: basta excluir as folhas que têm cerca de 50% de probabilidade de pertencer a uma das classes.

Pode haver muitos métodos diferentes. Estou interessado na variante de processamento antes da construção do modelo - como me parece, ela fornece menos variantes de combinações de construção, o que reduz o erro na conclusão final - se o modelo final foi treinado com sucesso ou não, em geral.
Além disso, se falarmos sobre o fato de que você pode "jogar fora" algo, você deve mencionar de quais modelos estamos falando. Se for uma floresta, devemos contar a porcentagem de folhas sem "descartar" ou contar o número de ativações dessas folhas perto de 50% e não reagir ao sinal se o limiar for excedido?
Ao fazer o bousting, é ainda mais divertido - folhas incertas no total podem mudar a probabilidade em uma direção ou outra -, continuo querendo fazer um gráfico para mostrar como os pesos são distribuídos dependendo da mudança de probabilidade, mas continuo adiando. Durante três dias, o computador considera a similaridade das folhas do modelo - penso em otimizar o algoritmo - muito tempo....

 
Forester #:
Se houver 5.000 recursos
Em uma dimensionalidade tão grande, os algoritmos métricos como o KNN fazem pouco sentido. Em termos gerais, toda a amostra está praticamente à mesma distância de qualquer ponto e o resultado será determinado por pequenos desvios aleatórios de distâncias.
 
Aleksey Vyazmikin #:

Bem, por que não há nenhum caso - acho que o python ainda não está muito difundido entre os traders, de modo que as pessoas passam para a discussão ativa.
Tentarei sua abordagem mais tarde em minha amostra.

Você já tentou o método pronto para uso do CatBoost?

O que é o método pronto para uso?
Python é opcional. Joguei muita literatura.
Bem, eu também prevejo que todos aqueles que ainda não começaram, em algum momento serão caprichosos, e então chegarão a esse tópico :) talvez em 10 anos, talvez em 100 anos

É como se não houvesse outras opções, simplesmente não há. Pode haver opções com outras redes neurais, mas o princípio é o mesmo: dividir para conquistar.
 
Maxim Dmitrievsky #:
Qual é o método pronto para uso

Esta é a funcionalidade.

Maxim Dmitrievsky #:
É como se não houvesse outras opções, elas simplesmente não existem. Pode haver variantes com outras redes neurais, mas o princípio é o mesmo: dividir para conquistar.

Há diferentes maneiras de dividir/separar os dados e elas já foram tentadas neste tópico antes - elas não mostraram resultados significativos, por isso foram "esquecidas".

Existem redes bayesianas - à primeira vista, elas são interessantes apenas por causa de sua capacidade de restaurar relações de causa e efeito.

 
Aleksey Vyazmikin #:

Esta é a funcionalidade.

Há diferentes maneiras de dividir/separar os dados e elas já foram tentadas neste tópico antes, mas não apresentaram resultados significativos, por isso foram "esquecidas".

Existem redes bayesianas - à primeira vista, elas são interessantes apenas por sua capacidade de restaurar relações de causa e efeito.

Não, eu não as experimentei. Verei o que é hoje à noite.
Esses métodos são dependentes do modelo. Os dados não são separados ou separados por si mesmos. Não sei como explicar isso. Tentei fazer isso uma vez e tive problemas com os otimizadores novamente. Está nos livros.
Se você for para a esquerda aqui, perderá um cavalo. Se for para a direita, perderá o dragão de duas cabeças.