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

 

Eu tinha uma longa mensagem, mas o moderador apagou-a porque eu não conseguia conter-me e expressar os meus sentimentos de uma forma tipicamente russa.... por isso, vou abreviar....

Só estou atordoado, para ser honesto contigo, com os resultados que obtive. Sim, de 110 entradas foram escolhidos de 3 a 5 em circunstâncias diferentes, e os modelos sootvetechno que se revelaram bastante pequenos, mas como eles funcionaram é algo com algo. Primeiro de tudo, TODOS os modelos construídos com base nas entradas selecionadas passaram no meu teste a 100%. Tal resultado eu só poderia obter uma vez e isso é por acaso, mas aqui está estável o tempo todo........

Sim, os próprios polinómios revelaram-se muito pequenos, mas quem é que se importa? Todos os meios são bons na guerra. Eu sei que vamos chegar ao mercado com pequenos polinómios, se eles funcionarem, não é minha culpa......

Mas mais uma vez, este é apenas um teste rápido e precisamos de mais tempo para confirmar a teoria, mas aqui está um exemplo espetacular do TS trabalhando na área de feedbacks negativos nas últimas duas semanas.

Certamente não é um graal discutido no próximo tópico, mas o resultado é óbvio, a equidade está consistentemente acima de zero em toda a área da CB!!!!

Gostaria de agradecer a todos os que responderam ao meu pedido de ajuda com o R. Você realmente me ajudou a poupar muito tempo. Agora só preciso de levar o meu sinal para a zona verde!!!!!

 
Dr. Trader:

jPredição, por exemplo, escalona os dados para o intervalo [-1;1] e aprende sobre esses números. Também é possível escalar para o mesmo intervalo em R antes de avaliar as entradas.

Métodos de estimativa baseados em árvores provavelmente não mudarão o resultado, as florestas não se importam em que intervalo os dados vieram, mas é melhor verificar. O vtreat também não é picuinhas quanto ao intervalo.


Mas em geral, ele está falando da transformação não linear de insumos antes mesmo de se alimentar de neurônios. A Neuronics é muito sensível a inputs, e se você processar os dados de input de alguma forma especial, seus resultados podem melhorar. Por exemplo, eu já ouvi tal truque - converter entradas via sigmóide.

Os modelos construídos já têm essa função, se não me engano. Parece que é assim....

double sigmoid(double x) {
   if (MathAbs(x) < 1.0) {
      return 2.0 * signum(x) - x;
   }
   return signum(x);
}
 
Mihail Marchukajtes:

Parece que é assim....

Uma espécie de 'Reshetov Sigmoid' especial :)

Aqui está uma imagem interessante com diferentes transformações de dados.
Eles dizem que se todos os preditores tiverem aproximadamente as mesmas barras, a rede neural ficará muito feliz e aprenderá facilmente. O último terço dos preditores na escala()x2->Sigmoid() parece legal, mas eu preciso fazer algo com a primeira metade dos preditores ou o neurônio pode ser asfixiado.
E se olharmos para boxplot para escalar em [-1;1] como em jPrediction, parece muito ruim.


Arquivos anexados:
 

Hoje é dia de graal, mas sabemos como é e quanto trabalho é preciso para segurá-lo em nossas mãos!!!!

Eu não tenho medo da palavra, mas hoje encontrei um graal para mim. Eu o testei repetidamente e os resultados são incríveis. Agradecimentos especiais ao Dr. Trader pelo seu apoio, que na verdade levou à descoberta. Eu não tenho medo desta palavra........ Com a ajuda de R I foi possível encontrar efetivamente um conjunto de preditores importantes, e dado que o alvo tem o mesmo número de classes, então jogando-o um pouco para cima (adicionando ou removendo um) o conjunto de preditores importantes pode ser expandido por uma, duas colunas. Eu tentei uma vez e era tão normal adicioná-los. Em seguida, começamos a reduzir e seleccionar o modelo com o máximo de resultados de aprendizagem.


Claro que não é grande tamanho de polinômio, mas funcionará em teoria 50% do intervalo de treinamento, ou seja, uma semana, e é o suficiente para mim!!!!!! Mas eis o que se passa.... E agora dirijo-me às pessoas aqui que procuram padrões fiáveis e estáveis. É mais fácil de explicar com um exemplo.........

Guardo uma tabela de dados de 1000 linhas e 111 colunas onde 110 preditores e assim por diante. MAS eu não pego a mesa inteira, eu pego uma pequena seção nova de 40 registros (são 2 semanas de trabalho TS aproximadamente) Como resultado eu tenho um conjunto de treinamento de tamanho 40 por 110 mais o alvo. Na verdade, eu pego uma fatia do mercado neste mesmo dia, neste mesmo intervalo. Esta fatia está estacionária. Então seleciono variáveis de entrada significativas em relação à saída e obtenho de 3 a 5 colunas que, entendo, têm o alfa necessário permitindo-me ter vantagem sobre os outros participantes do mercado. E agora a coisa mais importante.... Sobre o que foi toda esta discussão. Assim que eu adicionar mais uma linha à tabela de dados para treinamento, o conjunto de colunas irá mudar drasticamente, ou seja, o alfa irá se mover para outro conjunto de colunas. Talvez não imediatamente, mas depois de adicionar mais do que uma fila. Isto é, sinais TS!!!! Alfa é precisamente o mesmo padrão na sua forma mais pura que é mínimo e suficiente para a função alvo. Mas este padrão não é óbvio, ou seja, vê-lo a olho nu é muito difícil. É neste ponto que a IA se envolve e faz o seu trabalho.

E agora imagine como o alfa pode saltar em todos os campos de dados, que eu descarrego, se ele raramente está contido em mais de cinco entradas, e um campo total de 110 entradas. Em outras palavras, com cada nova fatia eu recebo um conjunto completamente diferente de preditores. E como você quer acompanhá-lo, e mesmo à distância de um ANO!!!!!!! se ele está aqui por semanas, você dificilmente pode pegá-lo corretamente....... Mas você está absolutamente certo, há um graal, mas cada um tem o seu, e para mantê-lo você precisa fazer um grande esforço.......

E referindo-se novamente aos teóricos das contas de demonstração, é assim que se faz.......

Eu trabalhei com a teoria e fiz alguns testes usando-a. Os testes mostraram bons resultados. Os modelos são treinados UPU com o robô é carregado. Observe o meu sinal esta semana e verá quanto valem as minhas suposições.

 

Maravilhoso!

Salve R!

 
Mihail Marchukajtes:

Agora imagine como o alfa pode saltar sobre todo o campo de dados que eu descarrego se ele raramente está contido em mais de cinco entradas, e o campo total é 110 entradas. Em outras palavras, com cada nova fatia eu recebo um conjunto completamente diferente de preditores.

Agora liga o teu cérebro )

 
Combinador:

Agora usa o teu cérebro).

Se você realmente seguir seus conselhos e pensar sobre isso, só há uma resposta. O corte é estacionário e qualquer mudança dele simplesmente o joga em outra dimensão (figurativamente falando), onde as leis são completamente diferentes. É por isso que é muito difícil ganhar dinheiro no mercado. Isto é o que se chama não-estacionariedade. Quando a informação que pode prever apenas 5% do conjunto máximo possível de dados e o próximo sinal pode mudar drasticamente, ou não mudar nada. Além disso, guardo o delta e o volume para 11 instrumentos, dos quais apenas 5% trabalham aqui e agora e não se sabe quando serão alterados, mas é claro que quando a substituição de outras colunas este momento pode ser rastreado e consequentemente determinar o momento em que o modelo é deflacionado...... Preciso de fazer mais testes.....a não tenho tempo...

 

OOS, 15 min tf

encontrou alguns bugs na estratégia nº 2, corrigiu-o, parece estar a funcionar

ainda há página 3 e RL foi adicionado, o que eu sinto que tem muito potencial mas vai precisar de muita reflexão para implementar


 

Interessante artigo sobre um estudo de oito modelos de aprendizagem de máquinas

Especificamente, consideramos os seguintes algoritmos: perceptron multicamadas (MLP), regressão logística, Bayes naïve, vizinhos mais ajoelhados, árvores de decisão, florestas aleatórias e árvores de gradiente. Estes modelos são aplicados a séries temporais de oito processos geradores de dados (DGPs) - refletindo diferentes dependências lineares e não lineares (caso base). A complexidade adicional é introduzida pela adição de descontinuidades e diferentes graus de ruído.


E aqui estão os resultados

Em primeiro lugar, encontramos modelos de aprendizagem de máquinas para alcançar um desempenho sólido em DGPs subjacentes desconhecidos, em comparação com o nível de ambição estabelecido pelas previsões óptimas. Na ausência de ruído (caso base), os resultados obtidos com os modelos de aprendizagem da máquina quase se assemelham aos da previsão ideal. Os modelos, MLPs e GBTs fornecem os melhores resultados tanto para os DGPs lineares como para os não lineares. Para processos com nenhuma ou apenas pequenas não linearidades, a LR apresenta uma boa alternativa, especialmente quando se considera o seu baixo custo computacional. Encontramos árvores NB e de decisão única para proporcionar pior desempenho e, portanto, recomendamos as técnicas acima mencionadas para tarefas de previsão de séries temporais.

Em segundo lugar, é melhor incluir demasiados valores desfasados no espaço de características do que incluir muito poucos. A maioria dos modelos de aprendizagem de máquinas é bastante robusta para exceder o número de desfasamentos sugeridos pela equação do processo do DGP. No caso da RF, a inclusão de recursos adicionais aumenta até mesmo a precisão preditiva. Recomendamos começar com um atraso e aumentar gradualmente o número de atrasos no monitoramento do desempenho em um conjunto de espera ou com validação cruzada.

Em terceiro lugar, encontramos saltos que têm um efeito negativo muito forte na precisão preditiva, sendo a LR o modelo de aprendizagem de máquinas mais robusto. Para mitigar os efeitos negativos, tanto a adição das primeiras diferenças ao espaço de características (DIFF) como a remoção dos saltos baseados no LOF algoirthm têm mostrado bons resultados. Nós recomendamos a combinação de ambas as técnicas.

Em quarto lugar, a poluição da série temporal com ruído tem o efeito mais prejudicial sobre a precisão preditiva em todos os modelos de aprendizagem de máquinas. Mais uma vez, descobrimos que o LR é o modelo de aprendizagem de máquinas mais robusto na presença de ruído. Além disso, medidas adicionais de mitigação, como a inclusão das primeiras diferenças (DIFF) e médias móveis (MA) no espaço de características produzem melhores resultados.

 
SanSanych Fomenko:

Interessante artigo sobre um estudo de oito modelos de aprendizagem de máquinas

Os modelos, MLPs e GBTs fornecem os melhores resultados tanto para os DGPs lineares como para os não lineares. Para processos com nenhuma ou apenas pequenas não linearidades, a LR apresenta uma boa alternativa, especialmente quando se considera o seu baixo custo computacional. Encontramos árvores NB e de decisão única para proporcionar pior desempenho e, portanto, recomendamos as técnicas acima mencionadas para tarefas de previsão de séries temporais.

É um pouco óbvio, considerando que o CART não funciona em problemas pré-lineares.