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.

 

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
Всем привет! Настало время пополнить наш с вами алгоритмический арсенал. Сегодня мы основательно разберем один из наиболее популярных и применяемых на практике алгоритмов машинного обучения — градиентный бустинг. О том, откуда у бустинга растут корни и что на самом деле творится под капотом алгоритма — в нашем красочном путешествии в мир...