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

 
Maxim Dmitrievsky:

Eu escrevi acima. O modelo básico em uma metade das peças, o segundo modelo corretivo na outra metade

então 5-10 faltas serão suficientes, e ainda mais

O que foi escrito acima é claro.

Só não entendo o que significa "5-10 faltas".

 
Aleksey Vyazmikin:

O que foi escrito acima é claro.

Só não entendo o que significa "5-10 faltas".

dividir o conjunto de dados em partes iguais, digamos 5 peças

fundir 1,3,4 e ensinar o modelo principal sobre eles

combinar 2,5. Treine o 1º modelo neles e obtenha os resultados.

Treinar o 2º modelo nestes 2,5 usando os resultados do 1º modelo e corrigir operações não lucrativas.

Execute os dois modelos em todo o conjunto de dados e em novos dados e veja os resultados.

 
Aleksey Vyazmikin:

O que exatamente deve ser recalculado?

Como de costume em um portfólio - pesos (ativos, sistemas). No seu caso poderia ser, por exemplo, 0 - troca de sinal de folha virtual, 1 - real e você pode adicionar -1 - inversão de sinal. Cada carteira corresponde a um vector de comprimentos de 0, 1 ou -1. A otimização é feita, por exemplo, para cada último mês por lucro com penalidades por saque e volume de carteira.

 
Maxim Dmitrievsky:

dividir o conjunto de dados em secções iguais, digamos 5 peças

combinar 1,3,4 e treinar o modelo principal sobre eles

combinar 2,5. Execute o 1º modelo neles, obtenha resultados.

Treinar o 2º modelo nestes 2,5 usando os resultados do 1º modelo e corrigir operações não lucrativas.

Execute os dois modelos em todo o conjunto de dados e os novos dados e veja os resultados

Ah, agora eu vejo, eu só queria misturar a amostra e treinar o segundo modelo onde o primeiro não foi treinado, por assim dizer. Preciso pensar como ele pode ser implementado, mas provavelmente não neste projeto, exceto para ensinar o segundo modelo em 2019, mas então não haverá lugar para verificar os resultados fora do treinamento.

 
Aleksey Nikolayev:

Como de costume em um portfólio - pesos (ativos, sistemas). No seu caso poderia ser, por exemplo, 0 - troca de sinal de folha virtual, 1 - real e você pode adicionar -1 - inversão de sinal. Cada carteira corresponde a um vector de comprimentos de 0, 1 ou -1. A otimização é feita, por exemplo, para cada último mês por lucro com penalidades por saque e volume de carteira.

Aqui a questão é quantas vezes os coeficientes são alterados - se forem raros, ficamos atrás da tendência, se forem frequentes, enfrentaremos ajustes horríveis, porque a própria estratégia permite drawdowns, enquanto a folha pode nunca dar um sinal durante um trimestre, o que complica esta abordagem.

 
Maxim Dmitrievsky:

Parece que o testador está arranjado, sem espreitar em lado nenhum, resultados:

Comboio EURUSD+valid, barras de 10k


Teste EURUSD 50k barras

Mesmo modelo treinado em EURUSD, mas teste em GBPUSD, 50k barras

O mesmo modelo também foi treinado em USDCHF

Parece fazer sentido. Há, por assim dizer, uma tendência de crescimento).

Talvez me tenha escapado alguma coisa, mas, na mosca, é claramente melhor do que a floresta de algibeira (embora eu tenha acrescentado muitas outras coisas para a melhorar)

É rápido, há muitos sinais, podemos tentar criar um portfólio. Qual é o período de tempo da amostra?

 
Aleksey Vyazmikin:

Executando com rapidez, muitos sinais, você pode tentar fazer um portfólio. E qual é o intervalo de tempo da amostra?

Um ano e meio em cerca de 15 minutos.

Eu tenho que limpar o drawdown e tudo o resto, é isso que vou fazer.

 
Maxim Dmitrievsky:

Um ano e meio em cerca de 15 minutos.

Bem, é um teste, preciso de limpar o desenho e tudo o resto, e é isso que vou fazer.

Parece haver muitos negócios, como se a propagação não estivesse a corroer tudo... De qualquer forma, o potencial existe - boa sorte!

 

Decidi olhar um pouco para a dinâmica dos indicadores métricos dos modelos durante a decomposição, dei 1, 20 e 48 passos (o último processado), a seguinte tabela de resumo ficou

Indicadores da amostra utilizada para o treinamento.

Os resultados parecem-me interessantes; antes de mais devo prestar atenção que estamos a trabalhar com árvores dando apenas 52%-53% de Precisão, o que é muito baixo para o modelo como um todo.No entanto não estamos interessados em todo o modelo, porque para a negociação é mais importante entrar na direção certa do que perder uma entrada e, portanto, devemos estar interessados antes de tudo na precisão da classificação e podemos ver que a precisão das classes "-1" e "1" em algum momento tornou-se 4% e 3% maior do que na versão inicial, enquanto a precisão da classe "0" perdeu apenas 1-2%, mas ao mesmo tempo a completude das classes "-1" e "1" diminuiu e a completude da classe "0" cresceu junto com ela.

Nesta fase, aproximadamente 10% dos preditores de raiz foram removidos da amostra - um em cada etapa - mas o modelo não entrou em colapso e mesmo os indicadores individuais, importantes para nós, melhoraram.

Naturalmente, mais informação sobre a dinâmica pode ser obtida processando todas as 48 partições, talvez haja lacunas nos indicadores, ou pelo contrário, todos os indicadores estão em movimento no vetor selecionado. Mas o principal é que a negociação precisa de um método próprio de criação de modelos, cujo princípio não é tentar descrever toda a estrutura, mas entender melhor parte da estrutura do que outras partes, e agora um bom modelo, em todos os métodos que conheço, o modelo é estimado por entropia ou logloss, ou seja, para aprender todo o modelo - conhecimento de zero e um, se você quiser, enquanto só precisamos saber mais sobre o um.

Bem, como mostrei anteriormente, a árvore por folhas, e o meu método de selecção por folhas, melhora a precisão da classificação na amostra de treino em 20%-25% em comparação com o modelo convencional.

A questão é como podemos acelerar o processo, estou procurando pessoas interessadas com as quais possamos trabalhar juntos para repensar o funcionamento do roteiro R, que agora gera árvores, e para pensar em melhorar e acelerar a metodologia.

 
Aleksey Vyazmikin:

Decidi olhar um pouco para a dinâmica dos indicadores métricos dos modelos durante a decomposição, dei 1, 20 e 48 passos (o último processado), a seguinte tabela de resumo ficou

Indicadores da amostra utilizada para o treinamento.

Os resultados parecem-me interessantes; antes de mais devo prestar atenção que estamos a trabalhar com árvores dando apenas 52%-53% de Precisão, o que é muito baixo para o modelo como um todo.No entanto não estamos interessados em todo o modelo, porque para a negociação é mais importante entrar na direção certa do que perder uma entrada e, portanto, devemos estar interessados antes de tudo na precisão da classificação e podemos ver que a precisão das classes "-1" e "1" em algum momento tornou-se 4% e 3% maior do que na versão inicial, enquanto a precisão da classe "0" perdeu apenas 1-2%, mas ao mesmo tempo a completude das classes "-1" e "1" diminuiu e a completude da classe "0" cresceu junto com ela.

Nesta fase, aproximadamente 10% dos preditores de raiz foram removidos da amostra - um em cada etapa - mas o modelo não entrou em colapso e mesmo os indicadores individuais, importantes para nós, melhoraram.

Naturalmente, mais informação sobre a dinâmica pode ser obtida processando todas as 48 partições, talvez haja lacunas nos indicadores, ou pelo contrário, todos os indicadores estão em movimento no vetor selecionado. Mas o principal é que a negociação precisa de um método próprio de criação de modelos, cujo princípio não é tentar descrever toda a estrutura, mas entender melhor parte da estrutura do que outras partes, e agora um bom modelo, em todos os métodos que conheço, o modelo é estimado por entropia ou logloss, ou seja, para aprender todo o modelo - conhecimento de zero e um, se você quiser, enquanto só precisamos saber mais sobre o um.

Bem, como mostrei anteriormente, a árvore por folhas, e o meu método de selecção por folhas, melhora a precisão da classificação na amostra de treino, em comparação com o modelo convencional, em 20%-25%.

A questão é como posso acelerar o processo, estou à procura de pessoas interessadas com quem possa trabalhar em conjunto para repensar o funcionamento do roteiro R que gera árvores agora, e pensar em melhorar e acelerar a metodologia.

por isso você tem um logloss de ~1, então o modelo está em um estado de fluxo.

Você quer encontrar um logloss separado para uma única entrada? Ou seja, a quantidade de informação entre os valores da folha e os valores-alvo?

a classe "não fazer nada" é claramente desequilibrada em relação às outras, como escrevi acima que poderia ser um problema tão grande por causa do modelo de 3 classes. Outros indicadores são deprimentes.

Razão: