O que alimentar a entrada da rede neural? Suas ideias... - página 54

 



Esta ideia: Como você sabe, o SL e o TP geralmente não são definidos durante o treinamento/otimização. É difícil para o treinamento e, durante a otimização, os resultados no back e no forward costumam ser piores do que sem eles.


O preço tenta atingir os stops, e a tarefa é ensinar o NS a sair a tempo, tanto no lucro quanto no prejuízo. Mas, na prática, no back e no forward sem stops, o NS geralmente entra em oversitting ou fecha no fundo, porque não tem habilidade com novos dados - quando sair.






E se inserirmos o drawdown por meio de um meio? Vamos cutucar o nariz do NS no resultado on-line de seu trabalho, no qual ele verá um drawdown pesado e reagirá a ele. Por exemplo, sabe-se que um número afeta o trabalho do NS quanto maior for seu valor. Na operação normal, o valor de drawdown de entrada será zero ou próximo de zero, mas quando a posição for ruim, o valor aumentará e começará a "pesar" a estrutura inteira de pesos, o que fará com que o otimizador selecione os pesos de modo a reagir a essa entrada.








No final, ele o anulará para que não interfira com ele e, nesse caso, o recurso não funcionará ou, de alguma forma, aprenderá a reagir ao seu trabalho. Notas detreinamento com reforço passam despercebidas, nas quais todos os dados da conta também são lançados como um estado: saldo, drawdown etc. Mas ainda não fiz isso com a MLP.

 
Ivan Butko treinamento com reforço passam despercebidas, nas quais todos os dados da conta também são lançados como um estado: saldo, drawdown etc. Mas ainda não fiz isso com a MLP.
A ideia é interessante. Eu tentei, inseri (entre outros) o drawdown em % do depósito atual, normalizado para o intervalo [0;1]. Em seguida, achei o tópico muito profundo para ser pesquisado rapidamente, então passei a me dedicar a outras tarefas.
 
Ivan Butko #:

E se inserirmos o drawdown por meios?

O feedback do drawdown o gera, e não importa como ele é realizado por uma fórmula rígida ou com uma camada de neurônios.

 
Maxim Kuznetsov #:

Martingale será martingale. O feedback com drawdown gera isso, e não importa como a conexão é implementada por uma fórmula rígida ou com uma camada de neurônios.

Em meus experimentos, ocorreu o oposto - a rede tentou suprimir a atividade de negociação ao menor rebaixamento, tive que penalizar a falta de negociações.
 
Ivan Butko #:
Para o MLP, isso é feito com 3 neurônios.

Quantos preditores? Quantos preditores realmente influenciam o resultado no modelo?

Você obtém resultados semelhantes em outras ferramentas?

Como você interrompe o treinamento - por qual critério ou pesquisa completa?

 
Aleksey Vyazmikin #:

Quantos preditores existem? Quantos preditores realmente afetam o resultado no modelo?

Você obtém resultados semelhantes em outros instrumentos?

Como você interrompe o treinamento - por qual critério ou por uma pesquisa completa?




Quando o ZigZag, de 1 a 3 entradas. Quando a posição de preço no corredor, também de 1 a 3 entradas. Verifiquei apenas o euro, a libra e o franco.

No euro e na libra, tudo está bem; no franco, a posição do preço se comporta melhor, aparentemente devido à planicidade do par. Treinamento, se, por meio da propagação reversa do erro, eu não parar, no NeuroPro ele para após várias aparições do ZeroStep em vez do número do erro.
Não sei qual é o critério definido ali e, se for um otimizador, eu o executo em tempo integral até que ele pare. Às vezes, eu o executo uma segunda vez. Roman Poshtar o executa dez vezes em seus artigos, mas ainda não cheguei a esses eventos.

 







Implementei dois recursos. Tudo está relacionado ao ajuste, portanto, nada sobrenatural. O primeiro é opeso dinâmico, a mobilidade de alcance, a execução do número de entrada por meio de umafunção artificial.





É tudo da mesma essência. Eu mesmo desenhei uma ideia no pinterest, variações da ideia


Ou seja, dependendo do valor de entrada, ele é multiplicado por um peso diferente. Isso consome mais valores no otimizador MT por neurônio, mas é mais... flexível.






E, às vezes, ele libera o potencial dos dados de entrada, produzindo conjuntos que não aparecem no MLP padrão com o mesmo número de pesos. O segundo recurso é a amplificação/enfraquecimento do sinal.



Ele difere do shifter do chip anterior (quando uma seção separada no intervalo de um número muda a polaridade), pois inverte os números apenas em sua polaridade. Por exemplo, se um número chegou à entrada 0,9 do intervalo [0...1], o sistema o inverte para 0,1 e vice-versa.



E vice-versa. Se o intervalo for [-1...1] e o número for -0,3, ele será invertido e amplificado para a zona negativa até -0,7. Esse recurso é necessário se você precisar amplificar o sinal, que, em um MLP convencional, só enfraquece constantemente (devido às especificidades dos pesos - todos eles são menores que 0). É claro que é possível definir o intervalo de -2 a 2 ou de -10 a 10 como pesos, o que é especialmente relevante no primeiro recurso, mas, em primeiro lugar, é mais caro para o Otimizador, que é limitado por parâmetros e onde é mais fácil inverter o número com um único booleano (verdadeiro-falso), o que não é nada para o Otimizador, e multiplicar esse novo número pelo peso padrão abaixo de 0-l, fazendo assim a correção necessária com a entrada. Em segundo lugar, é impossível amplificar o número de entrada 0,01 e abaixo com esse intervalo. Ele ainda não será influente para o sistema. Mas e se ele for fundamental para a estratégia?

Opcionalmente, o otimizador também escolhe se deseja aplicar enfraquecimento ou amplificação à entrada.




Na prática, todos esses recursos, em minha opinião subjetiva, desbloqueiam melhor e mais rapidamente o potencial dos dados de entrada na forma limitada fornecida pelo Otimizador.
Além disso, ele introduz novos conjuntos que, no esquema padrão de pesos (todos com todos e estáticos), não permitem revelar os dados de entrada.

 

Recurso


Surpreendentemente, encontrei um bug flagrante de MLP - ele não apenas encaixa o comércio na história, mas também encaixa as posições na história especificamente





Com base nessas considerações, adicionei um módulo de espelhamento - reenvio os dados para a entrada, só que espelhados: cada valor é multiplicado por -1. Mas faço isso somente se não houver sinal para uma das posições. Ou seja, se após a primeira execução a saída do NS for maior que o limite de abertura - por favor, abra à vontade.

E se for menor que o valor do limite, então eu o espelharei para ver se corresponde ao padrão invertido no gráfico, que o NS não quer negociar. E se o novo valor for maior que o valor do limite, então eu reescrevo OUT para esse valor, mas com o sinal oposto.


Como resultado, o NS não pode "se esconder" de um mesmo tipo de posição e tem de suportar o fato de que precisa abrir tanto a COMPRA quanto a VENDA, dependendo do gráfico.




Agora, "na inclinação", as VENDAS não são perdidas, e as COMPRAS não são perdidas na subida. Na prática, há menos conjuntos, os extremamente "legais" desapareceram e os "bons" foram deixados. Subjetivamente, parece que, na subida e na descida, quando otimizado em excesso, é mais provável que o saldo flutue do que vá para o fundo.

Isso já é bom, mas acho que esse recurso deveria ser um atributo obrigatório do NS.

 
Ivan Butko #:




Na prática, há menos conjuntos, os extremamente "legais" desapareceram e os "bons" foram deixados. Subjetivamente, parece que no back and forward, quando otimizado em excesso, o equilíbrio mais frequentemente voa em vez de ir para o fundo.

Isso já é bom, mas acho que esse recurso deveria ser um atributo obrigatório do NS.

Se entendi corretamente a ideia, nessas condições a rede tenta procurar apenas padrões espelhados, basicamente.

Provavelmente, há menos negociações, pois parece não haver padrões espelhados reais, há padrões diferentes para venda e compra - você pode ver isso bem com seus olhos.

Você pode tentar treinar duas redes para duas direções, e o número de negociações em ambas as direções deve ser aproximadamente igual. No caso de uma grande diferença no número de negociações, aplique penalidades ou um coeficiente decrescente no valor final de ff.

 
Andrey Dik #:

Se entendi corretamente a ideia, a rede só está tentando procurar padrões espelhados nessas condições, basicamente.

Provavelmente, há menos negociações, porque parece não haver padrões espelhados reais, há padrões diferentes para venda e compra - você pode ver isso com seus olhos.

Você pode tentar treinar duas redes para duas direções, e o número de negociações em ambas as direções deve ser aproximadamente igual. No caso de uma grande diferença no número de negociações, aplique penalidades ou um coeficiente decrescente no valor final de ff.








Chegamos aos principais paradigmas de negociação: 1) Os padrões são os mesmos para compra e venda, apenas espelhados 2) Os padrões para compra e venda são diferentes Sim, de fato, enquanto não houver provas, você pode confiar em algumas crenças ou fatos.



Nesse caso, como eu disse acima, confio no fato de que, em todas as TSs conhecidas, as condições para COMPRA e para VENDA são as mesmas, espelhadas. Isso se aplica tanto às TSs de drenagem (99,9%) quanto às bem-sucedidas. Enfatizo - bem-sucedidas.


O fato de que qualquer discriminação de um dos tipos de negócios afeta negativamente os forwards e os backs também joga contra a segunda posição, em minha opinião.



Por exemplo, meu truque sobre o intervalo - se ele não for espelhado, mas diferente (ou seja, de -1 a 0 e de 0 a 1 serão áreas completamente diferentes com pesos diferentes) - então a otimização e o treinamento em si parecerão, tanto no período de otimização - terríveis e apertados, quanto no atacante e no defensor - terríveis e apertados. E se ele for espelhado - então é mais provável que ocorram transições suaves.


Também contra a segunda opção está o fato, como mencionado acima, de que se você der aulas em 2020, em 2021 haverá aulas.
Portanto, um NS sem espelho, ou um NS separado para BUY, que é treinado separadamente, tem a garantia de que todos os conjuntos de otimização serão lançados em 2021. Se você pressioná-los um após o outro, todos atingirão o pico.



Todos eles aprenderam a COMPRAR e, em 2021, eles abrem a COMPRA sempre que podem, não sabem como sair dela, e apenas um pouco de VENDA, e então - não está claro onde. Mas eu não rejeito essa variante e testo tudo o que vem à mão )) Porque todo dia algo novo aparece