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

 
Dr. Trader:

Isto está no RNN da Reshetov, o modelo de probabilidade.

E depois há o JPredictor, que o Mikhail usa. O neurónio Reshetov, há muitos inputs, e algum tipo de treino em vez de descida por gradiente.


Tentei resolver o problema desde o primeiro post sobre a NS de Alglib. A rede é 20-5-1. Bem sucedido. Mas muito tempo, você tem cerca de 2 segundos de solução. Os meus cálculos duram em média 10-20 min, existem variantes em 2 min de 1 ciclo, mas aparentemente tropeça por acidente, tenho de definir 20 ciclos de aprendizagem para ser fiável... Ou 100000 iterações, como na variante abaixo

Alerta: erro médio na seção de treinamento (60,0%) =0,000 (0,0%) nLearns=2 NGrad=68213 NHess=0 NCholesky=0 codResp=2
Alerta: erro médio na seção de validação (20,0%) =0.000 (0,0%) nLearns=2 NGrad=68213 NHess=0 NCholesky=0 codResp=2
Alerta: Erro médio na secção de teste (20,0%) =0,000 (0,0%) nLearns=2 NGrad=68213 NHess=0 NCholesky=0 codResp=2

Tempo de cálculo=22.30 min
0 soma peso=3,2260
1 soma peso=0,0000
2 soma peso=3,2258
3 soma peso=0,0000
4 soma peso=8,7035
5 soma peso=0,0000
6 soma peso=3,2253
7 soma peso=0,0000
8 soma peso=3,2258
9 soma peso=0.0000
10 soma peso=3.2251
11 soma peso=0.0000
12 soma peso=0.0000
13 soma peso=0.0000
14 soma peso=0.0000
15 soma peso=0.0000
16 soma peso=0.0000
17 soma peso=0.0000
18 soma peso=0.0000
19 soma peso=0.0000

Eu quero ser mais rápido...
Se a tarefa não será com 20 entradas, mas com 200, serão dezenas de horas.
A remoção de entradas importantes, mesmo as LDA da Fisher já experimentadas - também remove entradas importantes. Então, peneirar com estes métodos não ajuda, pelo contrário, dificulta.

Aparentemente uma solução longa para todas as entradas uma vez, peneirar as entradas por soma de pesos e obter um modelo para uso futuro permanece. Em seguida, uma vez por semana, por exemplo, sobre o número truncado de entradas.

Eu estava pensando, talvez por velocidade, em dar essa tarefa ao MS Azure para obter pesos totais de insumos, e depois usá-los no meu modelo. Eu experimentei um pouco, mas não vejo de onde os pesos são tirados...

 
É isso mesmo, manos!!! É isso mesmo, usando o optimizador do Resolute. Então eu gostaria de fazer os cálculos na GPU. Alguém já fez uma coisa dessas? Como o JPrediction está em paralelo, é apenas uma questão de executar o programa na GPU. Alguém sabe como executar um programa JAVA na GPU? Acho que o conhecimento útil seria....
 
Mihail Marchukajtes:
É isso mesmo, manos!!! Eu uso, eu uso o optimizador do Resolute. Então eu gostaria de fazer os cálculos na GPU. Quem faria isto? Como o JPrediction está em paralelo, é apenas uma questão de executar o programa na GPU. Alguém sabe como executar um programa JAVA na GPU? Acho que o conhecimento útil seria....

Pode dar-me um link para uma versão funcional e uma descrição?
 
Mihail Marchukajtes:
Olá a todos!!!! Ainda bem que este tópico não está morto e ainda está vivo, por isso tenho uma pergunta para o público. Tenho um conjunto de dados para o treino, mas infelizmente tornou-se tão grande que o treino demora demasiado tempo. Qualquer um pode construir um modelo com o seu próprio trabalho e depois veremos como funciona em conjunto!!!!!.
O seu conjunto, pelo contrário, é MUITO pequeno com 111 características, 452 pontos. Mas se os dados estiverem corretos (o targeting não é confundido com chips), então há uma vantagem de 3-4% (precisão - 53,5%), se para um grande fundo de investimento ou banco, em médio prazo isto é suficiente, para uma intrade com uma alavancagem gigantesca e um par de k$ depo, claro que não.
 
Aliosha:
há uma vantagem de 3-4% (precisão - 53,5%)
Que modelo foi utilizado e em que configuração? Porque decidi que este não é um resultado aleatório, não concordo com este conjunto de dados, depois 47%, depois 50, depois 53
 
Aliosha:
O seu conjunto, pelo contrário, é MUITO pequeno com 111 características, 452 pontos. Mas se os dados são coletados de forma sensata (o targeting não é confundido com chips), então há 3-4% de vantagem (precisão - 53,5%), se para um grande fundo de investimento ou banco, quando a negociação a médio prazo é suficiente, para uma intrade com alavancagem gigantesca e um par de k$ depo, claro que não.

Acho que seria o suficiente para um intradiário também, se eu entrasse 50 pips melhor do que o sinal. Acho que será suficiente se entrarmos por 50 pips melhor do que o sinal. Vais ganhar melhor do que o spread.
 
Maxim Dmitrievsky:

Pode dar-me um link para a versão de trabalho e uma descrição?

O que significa? Um link para JPrediction?
 
Aliosha:
O seu conjunto, pelo contrário, é MUITO pequeno com 111 características, 452 pontos. Mas se os dados são coletados de forma sensata (o targeting não é confundido com chips), então há 3-4% de vantagem (precisão - 53,5%), se para um grande fundo de investimento ou banco, quando a negociação a médio prazo é suficiente, para intraday com alavancagem gigantesca e um par de k$ depo, claro que não.

Eu não sei sobre a pequenez. Isso é como um contrato de futuros inteiro em 3 meses. A questão é diferente. Tenho mais duas semanas que não estão na rede. Por isso, pensei em construir um modelo e executá-lo com esta amostra. Mas com o JPrediction o treino vai levar semanas, o que não é bom. É por isso que eu queria obter o modelo usando outros algoritmos e ver como o modelo funciona.
 
Mais uma vez, este conjunto é destinado à classificação. Ou seja, a variável de saída já traz uma previsão. Se usarmos um modelo resiliente, não precisamos prever a variável de saída, apenas precisamos de lhe fazer a proxy do modelo, porque a saída já está no futuro. É isso, se me entendes correctamente.
 

Outra coisa é executar o programa em uma GPU e aumentar a velocidade dos cálculos em pelo menos 10-20 vezes. Acho que haveria progresso aqui.... Mas a informação na Internet é muito antiga e não consigo perceber como o fazer. Eu não sou muito bom em programação. Eu sou uma galinha :-)

A ideia por detrás de todo este alarido é a seguinte. Não importa qual algoritmo é usado (embora mentira, é claro que é importante). É importante que a reciclagem seja mantida no mínimo) IMPORTANTE é o tipo de dados, como eles são coletados e preparados para o treinamento. Isto é o que eu queria verificar. Queria verificar se há mesmo peixe nos dados que recolho. Aqui está um exemplo.

Razão: