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

 
Aleksey Nikolayev:

Ou algo como um portfólio de folhas de sistema com um recálculo contínuo.

O que devo recalcular exactamente?

 
Aleksey Nikolayev:

Ou algo como um portfólio de listas de sistemas com recálculo deslizante.

Então é uma multiclasse. Faça um 2º modelo que irá escolher qual a folha que é melhor para negociar no momento. As vantagens não são óbvias e mais difíceis de obter.

 
Maxim Dmitrievsky:

Bem, tens de começar com a teoria. Por exemplo, de que serve seleccionar os modelos separadamente para venda e para compra?

Tudo o que não é comprar é vender, e vice-versa.

Minha ideologia é melhorar a estratégia básica de negociação, a estratégia é seguir a tendência; portanto, não prevê os flips em um lugar vazio -entradas de mercado do flat, e o "Não Entrar" elimina essencialmente falsos flop breaks.

Além disso, experimentei modelos para fechar posições lucrativas perto de picos ZZ longos e o resultado não foi satisfatório, ou seja, ou a capacidade de previsão é menor lá ou os meus preditores não funcionam bem lá, ou talvez sejam ambos, então não uso a estratégia de reversão. Pelo contrário, acho que é melhor treinar dois modelos diferentes aqui.

Maxim Dmitrievsky:

Quando se pode simplesmente filtrar as entradas através de um limite superior. A classe "não negociar" pode receber um peso indevido do modelo, fazendo com que o erro do modelo diminua e a capacidade de previsão (generalização) caia em geral.

Quase esta abordagem, com classificação binária para negociar/não para negociar onde é especificado por um limiar de modelo, eu uso em minhas experiências com CatBoost, mas o problema é que o modelo é construído como um aspirador de pó sugando tudo bom e ruim e a saída é um modelo rápido, mas com um baixo número de entradas.

Maxim Dmitrievsky:

O ponto do segundo modelo é que o primeiro terá erros do 1º e 2º tipo - falso positivo e falso negativo. Estamos interessados em removê-los. Para fazê-lo você alimenta as mesmas características para a entrada do segundo modelo e a saída do comércio do primeiro modelo, onde 0 - comércio era rentável, 1 - comércio estava perdendo. Treinar o segundo classificador e negociar somente quando ele mostrar 0, ou seja, filtrar sinais do 1º modelo. Os negócios de perdas quase desaparecerão na bandeja, você tem que testá-lo no teste - esse é um deles.

Você pode treinar o segundo modelo não só em uma bandeja, mas também capturar OOS, então ele corrigirá as negociações em novos dados - isso são dois. E depois testes.

Foi exatamente o que eu fiz, só que não usei preditores sem ligação, mas folhas como preditores, onde 1 é sinal de folha em preditor, e no alvo a classificação correta responde. Claro que o meu método não permite encontrar novas relações de previsão, mas permite procurar relações entre as relações existentes.

Vou tentar o seu método também, obrigado. No entanto, é possível realizá-lo neste conceito apenas como modelo CatBoost, para poupar tempo, mas receio que possa voltar a cortar tudo demasiado.

 
Maxim Dmitrievsky:

então é uma multiclasse. Faça um 2º modelo que irá escolher qual a folha que é melhor para negociar no momento. As vantagens não são óbvias e mais difíceis de obter.

Não, há demasiadas folhas, tal classificação não vai funcionar...

 
Aleksey Vyazmikin:

Minha ideologia é melhorar a estratégia básica de negociação, enquanto a estratégia está seguindo a tendência, de modo que ela não prevê a possibilidade de "flips" em um lugar vazio - entradas de mercado de flat, e "Do Not Enter" essencialmente elimina falsas quebras de flat.

Além disso, experimentei modelos para fechar posições lucrativas perto de picos ZZ longos e o resultado não foi satisfatório, ou seja, ou a capacidade de previsão é menor lá ou os meus preditores não funcionam bem lá, ou talvez sejam ambos, por isso não uso a estratégia de reversão. Pelo contrário, acho que é melhor treinar dois modelos diferentes aqui.

Quase esta abordagem, com classificação binária para negociar/não para negociar onde é especificado por um limite do modelo, eu uso em minhas experiências com CatBoost, mas o problema é que o modelo é construído como um aspirador de pó sugando tudo de bom e ruim e a saída é um modelo inteligente com baixo número de entradas.

Então foi exatamente isso que eu fiz, só que eu não usei preditores desagregados, mas folhas como preditores, onde 1 é o sinal da folha no preditor, e as respostas corretas de classificação estão no alvo. Claro que o meu método não permite encontrar novas relações de previsão, mas permite procurar relações entre as relações existentes.

Vou tentar o seu método também, obrigado. No entanto, é possível realizá-lo no conceito dado apenas como modelo CatBoost, provavelmente, para poupar tempo, mas receio que volte a cortar fortemente tudo novamente.

As reversões não devem ser como tal, serão apenas filtradas pelos sinais falsos do 2º modelo. Bem, depende da implementação e do que você quer.

Então é estranho porque há muitos negócios perdidos, ou é uma imagem do OOS? Sim, para usar o 2º modelo deve haver muitas ofertas para filtrar, você pode até mesmo adicionar artificialmente ofertas para isso (sobreamostragem)

 
Maxim Dmitrievsky:

Não deve haver reversões como tal, apenas filtrará os sinais falsos com o 2º modelo. Bem, depende da implementação e do que você quer.

Então é estranho porque há muitos negócios perdidos, ou é uma imagem do OOS? Sim, devemos ter muitas negociações para filtrar o modelo 2, podemos até mesmo adicionar artificialmente negociações para isso (sobreamostragem)

As capturas de tela acima foram testes em dados que não estavam envolvidos de forma alguma no treinamento do modelo.

Aqui estão os resultados do treinamento, screenshots - o primeiro é a minha compilação de folhas sobre os dados que foram usados para treinamento (apenas 1/5 seção foi tirada)

Note que existem 52,86% de negócios longos lucrativos

Nós adicionamos uma árvore baseada em outras folhas de respostas.

E os resultados melhoraram, os negócios longos lucrativos tornaram-se 79,56%.

Resumindo, a abordagem funciona no todo, mas a saída quando aplicada na vida real não é tão grande - porque é que provavelmente algumas das folhas utilizadas para a aprendizagem não têm conexões estáveis ou essas conexões são poucas. Cada folha tem uma taxa de resposta na região de 1%-3% por amostra.

 
Outra opção que eu acho que é tentar a regressão em vez da classificação, e isolar exatamente as combinações de folhas de alto rendimento, talvez haja um efeito melhor em termos monetários.
 
Aleksey Vyazmikin:

Os screenshots acima foram testes sobre dados que não estavam envolvidos no treinamento do modelo de forma alguma.

Aqui estão os resultados do treinamento, os screenshots são o meu primeiro layout das folhas nos dados que foram usados para o treinamento (apenas a seção 1/5 foi tirada)

Note que existem 52,86% de negócios longos lucrativos

Nós adicionamos uma árvore baseada em outras folhas de respostas.

E os resultados melhoraram, os negócios longos lucrativos tornaram-se 79,56%.

Em resumo, a abordagem geralmente funciona, mas o resultado quando aplicado na vida real não é tão grande - porque é que provavelmente algumas das folhas utilizadas para a aprendizagem não têm conexões estáveis ou essas conexões são poucas. Cada folha tem uma taxa de resposta na região de 1%-3% por amostra.

Bem, se você apenas tentar melhorar o que você tem, essa é a opção Dobras. Divida-o em vários pedaços e treine o 1º em alguns pedaços e o 2º no resto. Já fiz até 500 faltas. Podes fazer menos, claro. Algum tipo de melhoria.

 
Maxim Dmitrievsky:

Bem, se você apenas tentar melhorar o que você tem, essa é a opção com as faltas. Divida-o em vários pedaços e treine o 1º em alguns pedaços e o 2º em outros. Já fiz até 500 faltas. Podes fazer menos, claro. Isso dá algumas melhorias.

Dividir a amostra em pedaços e treinar vários modelos, ou o quê?

Embora a minha amostra seja apenas cerca de 14 000 linhas...

 
Aleksey Vyazmikin:

Dividir a amostra em peças e treinar vários modelos, ou o quê?

Mas só tenho uma amostra de cerca de 14.000 linhas...

Eu escrevi acima. O modelo básico em uma metade dos pedaços, o segundo modelo de correção no outro

5-10 faltas serão suficientes, talvez mais