Existe um padrão para o caos? Vamos tentar encontrá-lo! Aprendizado de máquina com o exemplo de uma amostra específica. - página 4

 
elibrarius #:

Redesenhado a partir do Alglibow.
Agora, executei mais árvores no cálculo. Pela manhã, acho que ele calculará uma nova versão.

Ou talvez eu tenha feito algo errado, se o resultado for muito pior que o seu.

Você pode ter refeito corretamente, mas precisa ajustar os parâmetros ou o próprio algoritmo não funciona - a situação não é simples.

Por que você não usa o CatBoost - o treinamento é mais rápido lá, especialmente se você tiver uma placa de vídeo da nVideo?

 
elibrarius #:
Há 9.046 linhas. Eu tenho 9000. Isso não fará muita diferença.

Você tem uma curva muito melhor. Vou tentar mexer um pouco mais nos parâmetros.

Não melhorou nada. É praticamente a mesma coisa. 0.01400

Você está se saindo melhor com o catbustom.

 
elibrarius #:

Não melhorou nada. Quase o mesmo. 0.01400

Você está se saindo melhor com o Catbustom.

Então, por que você não o usa?

Você já tentou dividir o alvo em três categorias?

 
Aleksey Vyazmikin #:

Então, devemos usá-lo?

Você já tentou marcar o alvo em três categorias?

Vou tentar 3 categorias um dia desses..... Bem, estou apenas treinando 2 modelos, não multiclasse.
 
elibrarius #:
Vou tentar 3 categorias no outro dia..... Bem, estou apenas treinando 2 modelos, não multiclasse.

Faça uma tentativa.

Você pode enviar sua amostra, e eu também tentarei treiná-la.

 

Vou tentar o treinamento e as referências. Como você refaz a segmentação?
As últimas 4 colunas


no alvo 1, negocie
direção 1; então, se a classe 1 for prevista, teremos lucro em 1 coluna do resultado financeiro e, se a classe -1 for prevista, teremos prejuízo em 2 colunas do resultado financeiro.
direção -1; então, se a classe -1 for prevista, teremos lucro em 2 colunas do resultado financeiro e, se a classe 1 for prevista, teremos prejuízo em 1 coluna do resultado financeiro.

no alvo 0, não negocie.

Se qualquer direção +1 ou -1 for prevista, teremos uma perda no módulo do resultado financeiro? De acordo com suas explicações anteriores, essa variante aparece. Mas o preço pode subir ou descer e, se a direção correta for escolhida, teremos lucro.

Ou será o mesmo que em 1 caso
direção 1, então, se a classe 1 for prevista, teremos lucro em 1 coluna do resultado financeiro e, se a classe -1 for prevista, teremos prejuízo em 2 colunas do resultado financeiro.
direção -1, então, se a classe -1 for prevista, teremos lucro em 2 colunas do resultado financeiro e, se a classe 1 for prevista, teremos prejuízo em 1 coluna do resultado financeiro.

Qual variante está correta?
Ou você pode mostrar como o alvo é formado diretamente no código por meio de if(){}else{}?

 
elibrarius #:

Vou tentar o treinamento e as referências. Como refazer a segmentação?
Últimas 4 colunas


se o alvo 1 for negociado
direção 1, se a classe 1 for prevista, teremos lucro em 1 coluna do resultado financeiro e, se a classe -1 for prevista, teremos prejuízo em 2 colunas do resultado financeiro.
direção -1, se a classe -1 for prevista, teremos lucro em 2 colunas do resultado financeiro e, se a classe 1 for prevista, teremos prejuízo em 1 coluna do resultado financeiro.

se o alvo 0 não for negociado.

se qualquer direção +1 ou -1 for prevista, teremos uma perda no módulo do resultado financeiro? De acordo com suas explicações anteriores, essa variante aparece. Mas o preço pode subir ou descer e, se a direção correta for escolhida, teremos lucro.


Ou será o mesmo que em 1 caso
direção 1, então, se a classe 1 for prevista, teremos lucro em 1 coluna do resultado financeiro e, se a classe -1 for prevista, teremos prejuízo em 2 colunas do resultado financeiro.
direção -1, então, se a classe -1 for prevista, teremos lucro em 2 colunas do resultado financeiro e, se a classe 1 for prevista, teremos prejuízo em 1 coluna do resultado financeiro.

Qual variante está correta?
Ou você pode mostrar como o alvo é formado diretamente no código por meio de if(){}else{}?

Os zeros permanecerão zeros, mas o "1" pode ser convertido em "-1" e "1", dependendo da direção. Dessa forma, se classificarmos "1" ou "-1" no alvo "0", obteremos um módulo de perda; caso contrário, obteremos um módulo de ganho de qualquer uma das duas últimas colunas.

Meu resultado financeiro é calculado por meio de posições/transações fechadas - e, se houve uma perda, é definido um zero, de modo que a abordagem não permite estimar o que teria acontecido se houvesse uma entrada oposta - na maioria das vezes uma perda, de acordo com a estratégia, porque um stop loss seria definido logo após o extremo da última barra.

O que fiz foi dividir a amostra em duas, de acordo com a direção de entrada - isso aumentou o número de modelos que ultrapassaram o limite de 3.000 pips.

Devo acrescentar que, se a meta for "1", mas o sinal foi classificado como "-1", aparentemente não haverá perda, porque, na realidade, esse sinal não passaria.
 
Aleksey Vyazmikin #:

Os zeros continuarão sendo zeros, e "1" pode ser reclassificado como "-1" e "1", dependendo da direção. Assim, se no alvo "0" classificarmos "1" ou "-1", teremos uma perda de módulo; caso contrário, teremos um ganho de módulo de qualquer uma das duas últimas colunas.

Meu resultado financeiro é calculado por meio de posições/transações fechadas - e, se houve uma perda, é definido um zero, de modo que a abordagem não permite estimar o que teria acontecido se houvesse uma entrada oposta - na maioria das vezes uma perda, de acordo com a estratégia, porque um stop loss seria definido logo após o extremo da última barra.

O que fiz foi dividir a amostra em duas, de acordo com a direção de entrada - isso aumentou o número de modelos que ultrapassaram o limite de 3.000 pips.

Devo acrescentar que, se a meta for "1", mas foi classificada como "-1", aparentemente não haverá perda, porque, na realidade, esse sinal não passaria.
Tudo isso é muito confuso. Acho que vou parar com os testes realizados.
 
elibrarius #:
É tudo um pouco confuso. Acho que vou parar com os testes que já fiz.

Não, não é confuso, é uma conversão lógica. Se você estiver confuso, posso fazer um alvo separado com reparticionamento e publicá-lo aqui.

 
Aleksey Vyazmikin #:

Não, não é confuso, é uma conversão lógica. Se você estiver confuso, posso criar um alvo separado com reparticionamento e publicá-lo aqui.

Você precisa de um resultado financeiro preciso dos erros. Sem eles, a linha de balanço não é confiável.
Fin. res. se escolhermos 0 (você não pode incluir, será sempre 0), se 1, se -1. Sempre, mesmo que você marque como classe 0, não negocie. O modelo estará errado e é necessário saber o preço do erro.