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

 
Aleksey Vyazmikin:

Eu tenho uma pergunta sobre a variável alvo.

Se a nossa variável alvo é o resultado financeiro de uma negociação, então é razoável normalizar esse resultado, como eu pensava. Mas aqui estou procurando informações no site, e em todo lugar diz que a variável alvo deve ter dois valores - comprar ou vender. E se eu tiver uma perda em qualquer caso - comprar ou vender (e isso acontece!), então por que eu deveria cortar todas as variáveis negativas? E se é a presença de variantes negativas que afecta as estatísticas?

Em geral, eu gostaria de saber que redes funcionam (e onde obtê-las?) no caso extremo com um gatilho compra/venda/nada, e no melhor caso com uma função (antes eu pedia uma função aqui já que eu estava procurando uma solução teórica, mas agora eu fiz um roteiro que resume os preditores) que faz o ranking.

> Se a nossa variável alvo for resultado financeiro de uma operação, então é razoável normalizar este resultado, como eu pensava

Eu não normalizo os alvos, eu os uso como eles são (aumento de preço). Se você usa neurônicos, é melhor normalizar os preditores (outro nome para inputs, chips). Para a floresta, de alguma forma, não preciso me preocupar com a normalização, ela funciona bem em qualquer caso.

Note que um neurônio muitas vezes tem uma saída que também passa por uma função de ativação, e só pode estar dentro de (0;1) para um sigmóide. Então o alvo também deve ser normalizado se não se enquadrar neste intervalo. Ou podemos remover a activação para sair para que possa ter qualquer valor.


> Mas aqui estou procurando informações no site, e em todos os outros lugares estou falando de como a variável alvo deve ter dois valores - comprar ou vender.

Isto é chamado de classificação. Quando em vez de preço - apenas algum conjunto (0 e 1; -1 e 1; "comprar" e "vender").
Se você prevê o preço em si ou seu incremento, não é chamado de classificação, mas de regressão.


> Se eu vou ter uma perda em qualquer caso - comprar ou vender (acontece!), então por que eu deveria cortar todas as escolhas negativas? E se for a presença de opções negativas que afeta as estatísticas?

Tudo depende dos seus preditores, você só pode descobrir a resposta experimentalmente, tentando as duas variantes. Por exemplo, tentei criar a minha própria função de aptidão para a floresta - construí um diagrama de comércio (tendo em conta a propagação) utilizando previsões florestais e usei o diagrama para definir a sharpe ratio, que foi o valor que tentei aumentar como resultado.


> Em geral, eu gostaria de saber que redes funcionam.

Atualmente estou tomando preços abertos e usando-os com indicadores (caseiros) para criar novas funcionalidades. Estou a treinar os neurónios que prevêem o aumento do preço por barra. Preciso de muito tempo para criar novos indicadores, caso contrário o modelo não irá vencer a propagação.

Olhando para os seus arquivos, vejo que já tem muitos preditores. Se o seu alvo é apenas um conjunto de -1,0,1 - use a floresta. Se você quiser prever o preço - use melhor o neurônio.

 
Maxim Dmitrievsky:

Errado... sim, os pontos onde o lucro máximo é possível, claro, por exemplo

para fins de classificação, um perseptron de várias camadas com uma camada de saída softmax (probabilidades de adesão à classe de saída)

Já leu isto? https://www.mql5.com/ru/articles/497 sobre o exemplo do 1º neurónio. E depois imagine que há muitos deles, por isso é toda a rede neural.

São exactamente as funções de limiar sobre as quais estavas a perguntar.

Bem, parece um bom resultado, sim.

Perdeu esse artigo - obrigado por o apontar, algumas coisas ficaram mais claras! Mas nem tudo ao mesmo tempo - tens de ler essas coisas vezes sem conta... Eu entendi sobre a propagação de coeficientes e ouvir a sua soma com uma função.


elibrarius:

Tentei o 1º arquivo, dividi-o em 3 partes:


Formação
Previsto
Real 0 1
0 28107 1244
1 3045 4119

Teste 1

Previsto
Real 0 1
0 5950 356
1 742 776

Atual 2

Previsto
Real 0 1
0 5945 333
1 779 769

Calculado em nnet com 10 neurónios numa camada oculta (NS de Rattle package from R)

Pior que a tua floresta, mas nada mal. O segundo arquivo pode ser semelhante em resultados.

Obrigado! Acho que estes resultados podem ser usados como um filtro, ou seja, para proibir a comercialização - uma vez que adivinhar zeros é mais estável.

 
Aleksey Vyazmikin:

Perdeu este artigo - obrigado por o teres apontado, esclareceu algumas coisas! Mas não tudo ao mesmo tempo - tens de ler essas coisas um par de vezes... Eu entendo sobre a dispersão de coeficientes e ouvir a sua soma por uma função.


Obrigado! Penso que estes resultados podem ser usados como um filtro, ou seja, para proibir a comercialização - porque adivinhar zeros é mais estável.

Bem, há mais deles na realidade - é por isso que é fácil adivinhar)

 
Dr. Trader:

> Se a nossa variável alvo é o resultado financeiro da operação, é razoável normalizar este resultado, como eu pensava

Eu não normalizo os alvos, eu os uso como eles são (ganhos de preço). Se você usa neurônica, então é melhor normalizar os preditores (outro nome é inputs, chips). Para a floresta, de alguma forma, não precisa realmente se preocupar com a normalização, ela funciona bem em qualquer caso.

Hm, e pelo contrário, eu pensei, que para a floresta o mais importante para fazer preditores lógicos, como sim / não, foi o que eu fiz e é por isso que há muitos deles, e por isso seria muito menos. Vou tentar fazer de forma diferente - vou dar 8 valores a um preditor e ver se o resultado muda.

Dr. Trader:

Note que muitas vezes a saída de um neurônio também passa pela função de ativação, e só pode estar dentro de (0;1) para um sigmóide. Então o alvo também deve ser normalizado se não se enquadrar neste intervalo. Ou podemos remover a ativação para a saída de modo que ela possa assumir qualquer valor.

O que você quer dizer com a remoção da ativação para entrada? Eu não sei o que é - activação...

Dr. Trader:

> Mas aqui está procurando informações no site, e em todo lugar diz que a variável alvo deve ter dois valores - comprar ou vender.

Chama-se classificação. Quando em vez de preço - apenas algum conjunto (0 e 1; -1 e 1; "comprar" e "vender")
Se você prevê o preço em si ou o seu crescimento, chama-se regressão, não classificação.

Sim, mas se eu não precisar comprar ou vender, mas simplesmente pular um sinal, então o que fazer? Por isso decidi fazer duas NS separadas para considerar o momento - não para negociar.

Dr. Trader:

> Se eu vou fazer uma perda em qualquer caso - comprar ou vender (pode acontecer assim!), devo simplesmente cortar as variantes negativas? E se for a presença de opções negativas que afeta as estatísticas?

Tudo depende dos seus preditores, você só pode descobrir a resposta experimentalmente, tentando as duas variantes. Por exemplo, tentei construir minha função de aptidão para a floresta - fiz um diagrama de comércio (levando em conta a propagação) usando previsões florestais e usei o diagrama para definir a razão sharpe que foi o valor que tentei aumentar como resultado.

Isto é, para alguns preditores a história não é muito importante, enquanto para outros é crítica, e como pode haver ambos, acontece que o corte não é desejável...

Dr. Trader:


Agora estou tomando preços abertos e usando-os com indicadores (caseiros) para criar novas funcionalidades. Estou treinando neurônios que prevêem aumento de preço por barra usando estes chips. É preciso muito tempo para criar novos indicadores, caso contrário, o modelo não irá vencer a propagação.

Em parte a maioria das minhas funcionalidades funciona com previsão, mas não do preço mas do seu nível - eu uso o meu ATR, mas um padrão deve funcionar da mesma forma.

 
elibrarius:

Bem, há mais deles na realidade - é por isso que é fácil adivinhar)

Portanto, não importa - o principal é saber em que áreas há um risco maior para a negociação, o que eles meio que mostraram.

A outra coisa é que eu não tenho idéia de como transformar tudo isso no mesmo indicador - é realmente necessário reescrever todas as regras que foram formadas ou o quê?

 
Aleksey Vyazmikin:

Hmm, pensei que era mais importante para a floresta fazer os preditores lógicos, como sim/não, o que eu fiz e é por isso que há tantos deles, mas seria muito menos. Vou tentar fazer isso de forma diferente - vou dar um valor preditor 8, e vou ver se o resultado muda.

A floresta é pior com características esparsas, haverá poucas fendas

E se houver muitas características esparsas e uma delas não for esparsa, então a floresta se ajustará demais a ela e as importações dela serão as maiores, e as outras terão muito pouco efeito sobre o resultado

 
Maxim Dmitrievsky:

Uma floresta funciona pior com características esparsas, haverá poucas fendas

Além disso, se houver muitas características esparsas e uma delas não for esparsa, então a floresta se ajustará demais nela e terá as maiores importações, e as outras terão muito pouco efeito sobre o resultado

Floresta normal ou floresta aleatória, ou ambas?

Eu coloquei o Rattle e R (bem, e falha tudo...), e agora eu não consigo entender como fazer um ajuste comparável, como na imagem abaixo? Porque as configurações padrão do Rattle deram resultados piores do que o programa que usei antes.


 
Maxim Dmitrievsky:

Uma floresta funciona pior com características esparsas, haverá poucas fendas

e se houver muitos atributos esparsos e um deles não for esparso, a floresta se ajustará demais a ela e terá as maiores importações, e os outros terão muito pouco efeito sobre o resultado

As mesmas indicações, as mesmas configurações, mas as indicações são colapsadas, não expandidas como antes.

antiga variante

Nova variante

Encontrei um pouco mais de zeros, mas significativamente menos zeros - quase o dobro! Não pensei que variáveis colapsadas e expandidas pudessem ter tal efeito...

 
Aleksey Vyazmikin:

Bosques normais ou aleatórios, ou ambos?

Eu coloquei o Rattle e o R (que falha é esta coisa toda...), e agora não consigo descobrir como fazer configurações comparáveis, como na captura de tela abaixo? Porque as configurações padrão do Rattle deram resultados piores do que o programa que eu estava usando antes.


floresta normal e floresta aleatória e floresta arbórea são as mesmas :) A floresta é um conjunto de Árvores

são menos ou quê? são menos? são raros e/ou categóricos como uns e zeros (isso é um alto nível de compreensão)

Eu não uso R porque tenho sido avesso a ele pelos gurus locais de seus óculos banhados a ouro.

De qualquer forma, até lá você vai se incomodar, estudar a teoria do que são árvores e o que é uma floresta de árvores.

https://habr.com/post/171759/

https://habr.com/post/116385/

Se você quer mudar as configurações do Rattle, você deve levá-lo para Sanych, mas eu não sei por quê, você só quer se entregar, ou se preocupar com a integração do EA no mt5 e R

https://www.mql5.com/ru/articles/1165

Энтропия и деревья принятия решений
Энтропия и деревья принятия решений
  • 2011.03.13
  • habr.com
Деревья принятия решений являются удобным инструментом в тех случаях, когда требуется не просто классифицировать данные, но ещё и объяснить почему тот или иной объект отнесён к какому-либо классу. Давайте сначала, для полноты картины, рассмотрим природу энтропии и некоторые её свойства. Затем, на простом примере, увидим каким образом...
 
Vizard_:

Nos seus dados, arquivo Pred_004_Buy dividido ao meio, você pode obter 0,85 head-on.
Os dados são lixo e é melhor deitar fora. O resto, apanhamos o resto sozinhos. Em silêncio...

Porque é que os dados são uma porcaria? É um resultado muito bom.