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

 
Aleksey Vyazmikin:

E se encontrarmos ramos com boa probabilidade e os codificarmos num único preditor, e depois dermos novamente a árvore para moer, então a árvore pensará como fazer uma melhoria a partir dos resultados encontrados (preditores que então deveria gostar, uma vez que eles têm uma grande percentagem de decisões correctas?

Eu não sei :) Eu não fiz tais experiências com a árvore. Mas, por exemplo, todos os tipos de modelos de GBM funcionam assim - eles constroem uma árvore, depois mais uma árvore que dá melhores resultados em comparação com a anterior, depois mais uma árvore e assim por diante.

 
Dr. Trader:

Se você ramificar mais, a precisão desses dados aumentará, é claro. Mas é mais provável que caia nos novos dados.

Um certo ideal é alcançado aqui, quando a árvore aprendeu alguma coisa, mas ainda não há excesso de equipamento, e podemos esperar resultados semelhantes em novos dados.

Hmm, mas então novamente, se comprimirmos esta árvore em um único preditor e procurarmos mais longe uma solução? Na verdade, os meus preditores já são muitas vezes algum tipo de pré-cálculo, classificação de valores, etc., ou seja, se eu der dados brutos à árvore, a ramificação pararia mais cedo e com mais erros... E com base nisso, a ramificação na direção certa dará o resultado, mas essa direção é desconhecida, e como determiná-la é a questão.

 
Dr. Trader:

Eu não sei :) Eu não fiz tais experiências com a árvore. Mas, por exemplo, todos os tipos de modelos de GBM funcionam assim - eles constroem uma árvore, depois outra que irá melhorar em comparação com a anterior, depois outra, etc.

Aparentemente preciso de ler sobre estes modelos de GBM... mas onde é que os reproduzem (apenas R?)?

Resta tentar filtros - mesmo meu programa deu pelo menos algum resultado lá, pode ser que o seu dê algo interessante, porque todos os preditores de fato são usados no TC como filtros.

 

Dr. Trader, eu descobri que se considerarmos a combinação deLevl_first_H1, Levl_High_H1, Levl_Low_H1, Levl_Support_H1, Levl_Close_H1 , como uma regra separada, em geral como originalmente pretendido, obtemos uma tabela curiosa


Da tabela que se segue:

1. Foram necessárias 6088 combinações para descrever dois anos para todas as barras, tendo em conta o alvo, e se não tivermos em conta o alvo, será ainda menos, ou seja, uma combinação em caso de distribuição uniforme descreve 86 linhas durante dois anos, mas penso que há combinações mais frequentes e menos frequentes.

2. A emergência de novas regras únicas de 2015 a 2016 foi de 41%, e com a meta 1 de novas regras 55%, ou seja, 45% das regras de 2015 permaneceram e continuaram a ser válidas, o que eu acho que já é bom.

3. A amostra para 2015 e 2016 utiliza apenas 21% de todas as combinações possíveis, portanto, ou as restantes são extremamente únicas ou subamostragens.

Não devíamos usar estes factos de alguma forma na construção da árvore?

Adicionado:

Depois fiz esta experiência, adicionei regras do alvo 0 e 1 de 2016 ao alvo 1 e 0, limpei as duplicatas, depois removi as linhas duplicadas e obtive um resultado deprimente, o que não consigo fazer sentido

Acontece que as regras falsas para o alvo "1" são 81% e para o alvo "0" são 38%, embora eu não saiba que percentagem das linhas contém percentagem de erro... é possível que a relação seja diferente, caso contrário teriam sido acrescentadas novas regras exactamente tantas quantas foram detectadas em 2016, o que não é o caso, o que significa que as regras nem sempre são cumpridas e apenas precisam de condições adicionais - preditores.

 

Aleksey Vyazmikin:


Segue-se da tabela:

as regras nem sempre são aplicadas e só precisam de condições adicionais - preditores.

Aleksey, proponho fazer uma NS-ka amadurecida de uma vez. Só a amostragem e as florestas não nos levarão longe (comunidade MQL).

Obviamente, uma estratégia NS funcional precisa de uma plataforma analítica para tomar uma decisão como trader - se entrar no mercado para comprar, vender, ou em geral? Vale a pena fechar posições para comprar, vender ou em geral?

Maxim e eu fantasiamos com isso AQUI, então por favor leia e confirme que faz sentido.

 
geratdc_:

Alexey, sugiro fazer uma coisa do tipo NS maduro imediatamente. Nós (comunidade MQL) não iremos longe apenas nas amostras e andaimes.

Obviamente, uma estratégia NS funcional precisa de uma plataforma analítica para tomar uma decisão como trader - se entrar no mercado para comprar, vender, ou em geral? Vale a pena fechar posições para comprar, vender ou em geral?

Maxim e eu fantasiamos com isso AQUI, então por favor, verifique e confirme que faz sentido.

Aqui não tenho a certeza se há lugar para a NS no mercado...

 

Agora presta atenção. Decidiu trabalhar esta semana no roteiro do Dock e na rede de e-mail.

Agora a melhor parte e o que poderia ser?????

Com o número máximo de neurônios igual a 200 (padrão), a qualidade do aprendizado foi de 0,6, conforme estimado pelo R-score. Entretanto, ao reduzir o número máximo de neurônios escondidos para 30, aumentei a estimativa para 0,85 (o que é muito bom). No entanto, comecei a obter cópias dos modelos por pesos. Eu recebo SEMPRE os mesmos pesos. É aqui que entra a questão. A genética teima em chegar à mesma função mínima. Os dados são tão inequívocos que nos números reais obtemos o mesmo mínimo com pesos idênticos. Vamos ver como funciona durante semanas...

Se para ser exato o otimizador do Reshetov para a semana passada ganhou um pouco mais que a rede ELMNN, mas é muito mais rápido instalá-los, então vou tentar mudar para eles, se funcionar vou desistir do Reshetov por enquanto por causa da instalação de rede muito espaçosa no trabalho....

 
Aleksey Vyazmikin:

Aparentemente precisamos de ler estes modelos de GBM... e onde é que eles os reproduzem (apenas R?)?

Também devia haver em Python.

Aleksey Vyazmikin:

Resta tentar filtros - mesmo o meu programa deu pelo menos alguns resultados lá, talvez o seu dê algo interessante, porque todos os preditores são essencialmente usados no TC como filtros.

Vou correr o algoritmo esta noite e mostrar os resultados amanhã.

Aleksey Vyazmikin:

Da tabela que se segue:

...

Alcançar 100% de precisão e esperar que o modelo funcione bem é geralmente impossível em forex, você precisa de meses para selecionar os preditores e até mesmo um alvo que se encaixe bem juntos. Normalmente, tendo atingido uma precisão de algumas dezenas superior a 50%, o modelo começa então a memorizar exemplos de treino em vez de encontrar padrões lógicos nos mesmos. Portanto, o resultado sobre os novos dados será cada vez pior. Com os seus dados consegui este óptimo de 60% - quando os resultados tanto do treino como dos testes são aproximadamente iguais, mas com uma partição de árvores mais detalhada e uma floresta de maior precisão mostra resultados cada vez piores em novos dados.

 
Mihail Marchukajtes:

Com o número máximo de neurônios igual a 200 (padrão), a qualidade do aprendizado foi de 0,6, conforme estimado pelo R-score. Entretanto, reduzindo o número máximo de neurônios escondidos para 30 eu o aumentei para 0,85 (o que é muito bom).

A Genética tenta encontrar os parâmetros certos para um número limitado de chamadas de funções. Reduzindo o número de variantes deste parâmetro (30 em vez de 200) a genética pode investigar a região de 1 a 30 com mais detalhes. E isso mesmo, se você conhece os limites específicos para encontrar algum parâmetro de modelo, é melhor dar essa informação à genética imediatamente.


Em alternativa:

gaResult <- ga(type="real-valued",
               fitness = GaFitness,
               min = c(1,1,0),
               max = c(NHID_MAX, length(ACTFUN_NAMES), 1000),
               popSize = 500,
               monitor=plot)

Adicione esta linha (a verde) ao código, então o geneticista terá 500 indivíduos na população em vez dos 50 padrão. E ela será capaz de testar 10 vezes mais modelos (mas o tempo de execução do script também aumentará 10 vezes), sendo capaz de experimentar o maior número possível de combinações de parâmetros de modelos. Mesmo com um máximo de 200 neurónios acho que a genética também será capaz de encontrar melhores resultados com 0,85, ou pelo menos chegar mais perto dele.

[Excluído]  

Oh, vai ser algo para ler, já me tinha esquecido do que é. Ou melhor, esqueceu a diferença entre GBM e XGboost... ou não sabia

gbm pode impulsionar qualquer modelo, xgb parece estar nas árvores

Eu sei que o impulso é um pouco melhor do que mendigar através do qual a floresta é construída. Não sei como é com o sobretreinamento.

https://habr.com/company/ods/blog/327250/

https://datascienceplus.com/gradient-boosting-in-r/

Открытый курс машинного обучения. Тема 10. Градиентный бустинг
Открытый курс машинного обучения. Тема 10. Градиентный бустинг
  • 2018.05.17
  • habr.com
Всем привет! Настало время пополнить наш с вами алгоритмический арсенал. Сегодня мы основательно разберем один из наиболее популярных и применяемых на практике алгоритмов машинного обучения — градиентный бустинг. О том, откуда у бустинга растут корни и что на самом деле творится под капотом алгоритма — в нашем красочном путешествии в мир...