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

 
Dr. Trader:

Encontrei uma descrição compreensível de um neurónio LSTM, por isso escrevi um pequeno código para o testar. Artigo -http://datareview.info/article/znakomstvo-s-arhitekturoy-lstm-setey/

O código leva 100 barras de eurusd m5, conta incrementos de barras e o neurônio lstm aprende a prever o próximo incremento contando com o último conhecido.
Eu treinei-o sem equações analíticas complexas, os pesos dos neurónios são ajustados por uma optimização discreta dos lbfgs, é pior, mas serve para um teste simples.

A estimativa de previsão (R2) revelou-se um pouco mais do que zero, o que é muito baixa, mas ainda assim melhor do que um palpite aleatório. Levando em conta que o lstm neuron não toma alguns indicadores ou array de incrementos, mas apenas um valor do qual prevê o próximo, e é repetido para cada barra, e geralmente é muito simples - o resultado é melhor do que eu esperava. Mas se tomarmos milhares de barras, a pontuação do R2 acaba por ser < 0, é uma pena. E parece que o resultado de tal modelo piora muito no Forex em novos dados, eu preciso inventar algumas bicicletas com validação cruzada, não haverá lucro de uma forma tão simples.

Agora eu preciso de alguma forma compor uma rede a partir desses neurônios, mas isso não foi mencionado no artigo.



A julgar pela imagem, prevê a barra anterior. Ou talvez eu não entenda alguma coisa?

 
Maxim Dmitrievsky:

Eu ainda não percebi a utilidade destas redes para nada :)

Eu tenho um amigo que sempre esteve queimando com eles, aprendeu keras, pegou uma simples série de trabalho com lucro sazonal, treinou a rede por quase um dia e depois jurou.

Eu não sei como ele constrói o modelo. O meu modelo leva 1-3 minutos para aprender a partir de 100 épocas.

PS. E a convergência de modelos pode ser interrompida na época 20-40, por isso é possível reduzir o tempo de treinamento.
 
Se alguém estiver interessado, eu mantenho um repositório com o projeto no githab.
Eu não o atualizo há algum tempo, então o código é antigo, mas o princípio de coletar, processar e salvar previsões, assim como exemplos de modelos de rede recorrentes, estão lá.
 
Maxim Dmitrievsky:

Eu ainda não percebi a utilidade destas redes para nada :)

Tenho um amigo que sempre se entusiasmou com eles, aprendeu keras, levou uma série simples no trabalho com lucro sazonal e quase um dia mais ou menos treinou a rede... Depois disso ele jurou por muito tempo

Artigos sobre lstm mostram que eles podem descrever séries cronológicas com bastante precisão, melhor que todos os outros modelos, por exemplo, eles podem até aprender a reproduzir áudio digital (voz, música), enquanto para a floresta ou neurônios comuns esta é uma tarefa impossível.
Penso que com um grande número de neurónios tal rede irá descrever o gráfico de crescimento com precisão suficiente, mas ao mesmo tempo existe a possibilidade de sobrealimentação - em barras novas o modelo pode ser inútil.


SanSanych Fomenko:

A julgar pela imagem, prevê a barra anterior. Ou há algo que eu não entendo?

O neurônio Lstm prediz o próximo valor, confiando no anterior, e neste caso está confiando tão fortemente que é até visível aos olhos. Se você usar toda a rede deles ao invés de apenas um neurônio, este problema desaparecerá.


Aleksey Terentev:
Se estiveres interessado, eu tenho um repositório com o projecto no githab.
Não o atualizo há muito tempo, então o código é antigo lá, mas há alguns princípios de coleta, processamento e salvamento de previsões, assim como exemplos de modelos recorrentes.
Obrigada, vou tentar correr. Antes disso eu estava tentando descobrir a mxnet, mas os exemplos deles eram para trabalhar com textos e não com séries cronológicas, então eu não fui muito longe.
 
Dr. Trader:

A julgar pelos artigos sobre lstm - eles podem descrever séries temporais com bastante precisão, melhor que todos os outros modelos, por exemplo, eles podem até aprender a reproduzir o sinal de áudio digital (voz, música), enquanto para os neurônios florestais ou comuns esta é uma tarefa impossível.
Penso que com um grande número de neurónios
tal rede irá descrever o gráfico de crescimento com precisão suficiente, mas ao mesmo tempo existe a possibilidade de sobrealimentação - em barras novas o modelo pode ser inútil.


ele também pensava assim, a julgar pelos seus artigos.

 

Ninguém tem uma biblioteca cpp decente com regressão linear? que permita uma verificação de características... ou análise discriminante... ou andaimes... algo que possa ser portado :) algibe é demasiado simples

regressão+floresta seria melhor

 
Maxim Dmitrievsky:

algibeira é demasiado simples

e simples é mau e complexo é mau...

És um dos meus poucos alunos que tem algo no caminho, como um mau dançarino.

Você é um dos meus poucos alunos que é um mau dançarino. Embora eu tenha avisado muitas vezes sobre toda essa ML e programação, que é um negócio que não tem nada a ver com comércio real, as pessoas são tímidas, fracas de vontade e pobres, além disso, para quem o comércio é geralmente proibido (nos países desenvolvidos, ao nível da legislação), Então quando o mercado descobrir quem é quem, e o mercado nunca trapaceia e não pode ser enganado, será tarde demais, a economia de dez anos de mão de obra contratada evaporará, não os contratarão de volta e terão que mendigar ou recolher lixo de vidro, para serem desabrigados em geral.

 
Vasily Perepelkin:

e simples é mau e complexo é mau...

Você é um dos meus poucos alunos, que tem algo no seu caminho, como um mau dançarino.

Embora eu tenha avisado muitas vezes sobre toda esta ML e programação, que a sua programação não tem nada a ver com o comércio real, as pessoas são tímidas, fracas de vontade e pobres, além disso, que são geralmente proibidas de negociar (nos países desenvolvidos, ao nível da legislação), Eles tentam se esconder atrás de fórmulas e códigos para jogar pó nos olhos, e então quando o mercado descobrir quem é quem, e o mercado nunca engana e não pode ser enganado, será tarde demais, suas economias de dez anos de trabalho contratado evaporarão, eles não serão contratados de volta e terão que mendigar ou recolher lixo de vidro, para serem desabrigados em geral.


És como uma miúda pegajosa a quem já disseram "não" cinco vezes e ela ainda te manda mensagens no facebook e sms.

 
Maxim Dmitrievsky:

Ninguém tem uma biblioteca cpp decente com regressão linear? que permita uma verificação de características... ou análise discriminante... ou andaimes... algo que possa ser portado :) algibe é demasiado simples

regressão + andaime é melhor

https://github.com/Artelnics/OpenNN é uma biblioteca fácil de aprender. Mas faltam muitas técnicas modernas. A regressão está disponível, mas o andaime não está.
https://github.com/Microsoft/CNTK - Multitool. Não estudado. Como uma opção dll.
https://github.com/BVLC/caffe - Também bastante poderoso, para uma opção dll.
 
Vasily Perepelkin:

e simples é mau e complexo é mau...

Você é um dos meus poucos alunos, que tem algo no seu caminho, como um mau dançarino.

Embora eu tenha avisado muitas vezes sobre toda esta ML e programação, que a sua programação não tem nada a ver com o comércio real, as pessoas são tímidas, fracas de vontade e pobres, além disso, que são geralmente proibidas de negociar (nos países desenvolvidos, ao nível da legislação), Então quando o mercado descobrir quem é quem, e o mercado nunca trapaceia e não pode ser enganado, será tarde demais, suas economias após dez anos de trabalho contratado evaporarão, não encontrarão emprego e terão que mendigar ou coletar lixo de vidro, para serem desabrigados em geral.


Professor, pare de chumbar. Ou você é um professor de spam e inundação?