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

 
forexman77:

Ainda não posso dizer com certeza, como já joguei com muitos parâmetros, a melhoria foi de cerca de 0,1. Talvez haja algumas técnicas que eu não saiba, foi por isso que perguntei.

se nada ajuda, então o problema está nos dados, não há mais nada para sintonizar no las lá
 
Aleksey Vyazmikin:

Claro que você pode, mas você tem que fazê-lo em partes (falhas no servidor), conjunto de filtros - definindo onde você não pode comprar/vender, conjunto MaloVhodov - entradas de tendências para lucro decente, conjunto MnogoVhodov - todas as entradas exceto as não-lucrativas.

Eu tentei Malovhodov para começar.

Tentou ensinar a floresta a prever arr_Buy a partir de 2015 com base em arr_Vektor_Week, arr_Vektor_Day, etc.

As classes são muito desequilibradas (há 10 vezes mais exemplos com a classe 0 do que com a classe 1), o que acrescenta muita dificuldade.

Esta é a árvore de 2015 treinada em


y_pred
y_true01
09726886118
1552912256
E isto é 2016, novidade para os dados da árvore:
y_pred
y_true01
09658190918
162968956

A previsão em ambos os casos é de baixa precisão, mas pelo menos é mais de 50% precisa em ambos os casos.

A árvore é assim:


Lá sempre à esquerda VERDADEIRA, à direita FALSA. Para ovals, o prognóstico precisa ser arredondado (>=0.5 -> 1; <0.5 -> 0) Vou tentar mnogovhodov, acho que será melhor, lá as classes 0 e 1 são mais iguais.

 
Dr. Trader:

Tentei o Malovhodov para começar.

Tentou ensinar a floresta a prever arr_Buy a partir de 2015 com base em arr_Vektor_Week, arr_Vektor_Day, etc.

As classes são muito desequilibradas (há 10 vezes mais exemplos com a classe 0 do que com a classe 1), o que acrescenta muita dificuldade.

Esta é a árvore de 2015 treinada em


y_pred
y_true01
09726886118
1552912256

A previsão em ambos os casos é de baixa precisão, mas pelo menos é mais de 50% precisa em ambos os casos.

A árvore é assim:


Lá sempre à esquerda VERDADEIRA, à direita FALSA. Na previsão oval, você ainda precisa arredondar (>=0,5 -> 1; <0,5 -> 0) Vou tentar mnogovhodov, acho que será melhor, lá as classes 0 e 1 são mais iguais.

Uau, que árvore pequenina! Estou surpreso! Da árvore eu li o desejo de entrar numa inversão de tendência, ou seja, de comprar realmente no fundo. De acordo com o seu sistema os outros preditores não eram informativos?

Quais são os números em oval?
 

A minha floresta para marcas verdadeiras e falsas atravessou.

[[ 2011  2948]
 [  215 11821]]//тест

[[14997     0]
 [    0 35985]]//тренировка

A classe que eu procurava era mais da metade em outra classe no teste, mas se dividiu bem no treinamento)

 
Dr. Trader - por favor, escreva uma lista dos preditores na árvore, porque a imagem da tela cortou em seus nomes.
 
Aleksey Vyazmikin:

Uau, que árvore pequenina! Estou surpreso! Da árvore li um desejo de entrar numa inversão de tendência, ou seja, de comprar no fundo do poço. De acordo com o seu sistema os outros preditores não eram informativos?

O que são números em ovals?

Alguns deles foram rejeitados no processo de seleção dos parâmetros da árvore e dos preditores. Eu não posso dizer nada específico sobre a informatividade em geral, mas para este caso estes se encaixam melhor.

As ovais são previsões ao pé da árvore. A minha árvore foi treinada em modo "anova", ou seja, a probabilidade não é dada uma previsão específica 0 ou 1, mas sim a probabilidade. Qualquer coisa acima de 0,5 é muito provavelmente classe 1. O que é menos de 0,5 é muito provavelmente classe 0. Portanto, quanto mais perto de 0 ou 1, mais confiante é a previsão.

Você pode descrever a árvore programmaticamente da seguinte maneira:

double prediction;
if(arr_Donproc<3.5)
{
  if(arr_iDeltaH1>=-6.5)
  {
    if(arr_TimeH>=14)
    {
       prediction = 0.29;
    }
    else
    {
       prediction = 0.44;
    }
  }
  else
  {
     prediction = 0.58;
  }
}
else
{
  if(arr_RSI_Open_ < 0.5)
  {
     //...
  }
  else
  {
     //...
  }
}

int predictionClass = 0;
if(prediction >= 0.5) predictionClass=1;

if(predictionClass == 0)
{
  //...
}
else if(predictionClass == 1)
{
  //...
}
 
Aleksey Vyazmikin:
Dr. Trader - por favor, escreva uma lista de preditores na árvore, porque a tela cortou os nomes deles.

Certo, eu não tinha reparado. No guizo, era de alguma forma fácil ver a lista e as regras. Não tenho guizo agora, vou procurar uma maneira alternativa de o fazer.

 
Dr. Trader:

Alguns dos preditores foram eliminados no processo de seleção dos parâmetros da árvore e dos preditores; alguns preditores foram rejeitados pela própria árvore. Não posso dizer nada específico sobre a informatividade em geral, mas para este caso estes encaixam melhor.

As ovais são previsões ao pé da árvore. A minha árvore foi treinada em modo "anova", ou seja, a probabilidade não é dada uma previsão específica 0 ou 1, mas sim a probabilidade. Qualquer coisa maior que 0,5 é muito provavelmente classe 1. O que é menos de 0,5 é muito provavelmente classe 0. Portanto, quanto mais perto de 0 ou 1, mais confiante é a previsão.

Você pode descrever a árvore programmaticamente da seguinte maneira:

Ontem eu redidi as informações arr_iDelta em variações diferentes, adicionei dois tipos adicionais de preditores e fiz cálculos mais completos para H4,MN1,W1 - eu acho que são preditores importantes, então eu removi o analógico antigo e adicionei novos, por exemplo

A propósito, a maioria dos preditores são calculados usando script, os novos são calculados usando EA e o resultado é congruente, ou seja, sem espreitar.

Obrigado pela interpretação em forma de código! Se estiver interessado, dados sobre a colagem de futuros Si.

Vou anexar os arquivos novamente, sugiro que experimente com eles.

Arquivos anexados:
Filter_02.zip  3805 kb
 
MaloVhodov_02
Arquivos anexados:
MaloVhodov_02.zip  3774 kb
 
MnogoVhodov_02
Arquivos anexados:
MnogoVhodov_02.zip  3804 kb