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

 
mytarmailS #:
Você acompanha, mas não entende nada...(

Por exemplo, para resolver qualquer problema, você precisa de um critério para resolver o problema, que também é um erro))))


Agora percebi que você concluiu a postagem. Portanto, vou me permitir responder.

Você não está procurando nada além de erros. É aí que reside o problema dos sonhadores do MO. Procuram erros, não resultados específicos de previsão. Mesmo o menor erro é 100% um erro)). Antes de tudo, nos mercados financeiros.

Continue errando))) Não responderei e não interferirei mais.

 
Uladzimir Izerski #:

Percebi agora que você atualizou a postagem.

Além disso, também respondi à sua pergunta há muito tempo)))


Uladzimir Izerski #:

Você não está procurando nada além de erros. Esse é o problema dos sonhadores do MO. Procurando por erros, não por resultados concretos de previsão.

Você tem uma visão muito, muito limitada do conceito de "erro".

Em um caso, foi um erro na previsão de um indicador,

em outro caso, por exemplo, o erro poderia ser a curva do balanço patrimonial, ou o desvio de algum capital ideal,

ou a dinâmica do crescimento do capital,

ou, por exemplo, o número de erros do algoritmo (o número de erros do algoritmo também é um erro).

Ou você pode olhar para o robô do algoritmo com seus olhos e dizer a ele (por código/botão) - Eu gosto deste, mas não faça este, e isso também pode ser considerado um erro....

E há milhões de variações diferentes, e mesmo o que você faz, você também tem algum critério (bom/ruim). Isso também é um erro.

O fato de você não perceber, não admitir, é apenas seu...


Um erro é um critério bom/ruim expresso por um número.

 

Uladzimir está novamente tentando, com sua mente infantilmente inquisitiva, compreender significados que são ótimos para ele e desacreditar os participantes deste tópico, ou seja, esses significados:

Equation Reconstruction (Reconstrução de equ ações):" caixapreta".

"Caixa preta " é aformulaçãomais difícile mais"sedutora " de um problema de modelagem,em quenãoinformações a priori sobre o objetoe, portanto,sobre a estrutura do modelo. Aintriga está no fato de que ummodelocapaz de reproduzir o comportamento observado ou de fornecer uma previsão de evolução futuradeve ser obtido somente a partir da série observada,ouseja,praticamente"do nada".As chances de sucesso são pequenas,mas, em caso de sorte, um"bom " modelo se torna uma ferramenta muito valiosa para caracterizar o objeto e entender os"mecanismos " deseu funcionamento: "quase um blefe pode levar a uma grande vitória".A ausência de informações a priori força o uso de estruturas universais de equações de modelos, como,por exemplo, redes neurais artific iais, funçõesde base radial,polinômios algébricos etc.Esses modelos geralmente são multidimensionais e contêm muitos parâmetros desconhecidos.


ZY e, há mais de um ano, ele escreveu que ele mesmo usa redes neurais e que todas as suas TSs são baseadas nelas... que palhaço esse abzdez

#870

#1826

Nosso querido Uladzimir aprendeu redes neurais muito rapidamente, em 2 meses, ao que parece.

Eu gostaria que ele tivesse aprendido, mas dois anos antes ele já estava recebendo sinais da NS.

#5758

Portanto, o tipo está falando bobagens em um estado de embriaguez e mentindo, mentindo, mentindo.... e só desacredita a si mesmo e a seus indicadores malucos.

 

Isso acaba sendo um teste muito bom do modelo por meio do viés da janela. Se ele apresentar muitas defasagens, em vez de zero, com estatísticas melhores (como mi), então o modelo se baseia em randomização.

Caso contrário, seria inequívoco, não pode haver tantas TS lucrativas ao mesmo tempo.

Tentei selecionar por meio do std de acordo com as instruções de Sanych - aproximadamente o mesmo quadro. Mas selecionei conjuntos de características, não cada uma separadamente.

Vou examinar as características separadamente novamente

 
>>> results = []
>>> for i in range(25):
...     pr = get_prices()
...     pr = labeling_shift(pr,shift=i)
...     mi = mutual_info_classif(pr[pr.columns[1:-1]], pr[pr.columns[-1]])
...     results.append([mi.mean(), mi.std(), mi, i])
...     print(i)
... 
results.sort()
results[-1]    
pd.DataFrame(results)

A melhor pontuação é o atraso 9, mas o padrão é melhor em 0:

15  0.002473  0.002008  [0.0, 0.0, 0.0, 7.738132773948969 e-05, 0.00428...   0
16  0.002482  0.002536  [0.0027194272625081783, 0.004082692968791601, ...   4
17  0.002544  0.002137  [0.00016451381901605444, 0.003159073557252867,...   2
18  0.002678  0.002174  [0.0, 0.0015686230398428425, 0.000974887322880...   8
19  0.002749  0.001978  [0.0, 0.001425018820565338, 0.0, 0.0, 0.002788...   1
20  0.002793  0.002378  [0.00535509344523355, 0.0, 0.00400320235670181...  12
21  0.002897  0.002330  [0.00406257691063705, 0.001421806087245736, 0....  13
22  0.003113  0.002501  [0.0, 0.0, 0.004822852461999094, 3.66068989796...  10
23  0.003195  0.002560  [0.0024128008240758003, 0.0, 0.001845732619932...  11
24  0.003255  0.002406  [0.0, 0.0, 0.0034648745240082324, 0.0063568287...   9

Okabe, dê uma olhada nos backtests de ambos, 9º:

0-я:

O 0 tem, logicamente, uma dispersão menor de valores no backtest, porque o std para mi é inicialmente menor. Mas isso não afeta os resultados em OOS, nem o valor mais alto de mi (informação mútua)

Digamos que estejamos treinando novamente com um grande número de recursos (14 recursos aqui).

MA_PERIODS = [i for i in range(10, 150, 10)]

Vamos examinar as estatísticas de cada recurso e escolher apenas os melhores para o modelo com 9 defasagens:

>>> results[24]
[0.003255328338368026, 0.002405621052220332, array([0.        , 0.        , 0.00346487, 0.00635683, 0.00490859,
       0.        , 0.00305732, 0.00268664, 0.00877952, 0.00305562,
       0.00138638, 0.00320064, 0.00415751, 0.00452067]), 9]
>>> 

Alguns recursos são totalmente anulados, ou seja, não têm valor. Vamos escolher apenas aqueles que são maiores que 0,004 e treinar com eles:

>>> per = results[24][2]
>>> np.array(per) > 0.004
array([False, False, False,  True,  True, False, False, False,  True,
       False, False, False,  True,  True])
>>> 

MA_PERIODS = [40, 50, 90, 130, 140] - отобранные фичи

Treinamento e teste:

Mnde.

Conclusão: a correlação de informações mais alta na amostra de treinamento não ajuda a melhorar o modelo na amostra de teste.

Mas isso pode ser usado para extrair frações de % em competições, que é o que os profissionais dizem, que a pré-seleção de recursos para modelos modernos como o Busting não dá quase nada.

 
Maxim Dmitrievsky #:

Isso acaba sendo um teste muito bom do modelo por meio do viés da janela. Se ele produzir muitas defasagens, em vez de zero, com estatísticas melhores (como mi), então o modelo foi construído com base na aleatoriedade

Caso contrário, seria inequívoco: não pode haver tantas TCs lucrativas ao mesmo tempo.

Tentei selecionar por meio do std de acordo com as instruções de Sanych - aproximadamente o mesmo quadro. Mas selecionei conjuntos de sinais, não cada um separadamente.

Vou examinar as características separadamente novamente

O std da estimativa numérica da correlação entre uma característica e uma característica de destino?

Primeiro você precisa remover as características correlacionadas. Por algum motivo, a correlação ideal em minhas características é de 75%.

Em seguida, selecione de 5 a 10 características com pontuação máxima.

Desenhe figuras, como acima em minha postagem, para garantir que a correlação divida as notas.

O erro de previsão deve ser inferior a 30%. Se não for, as características terão de ser descartadas.

 
СанСаныч Фоменко #:

std uma estimativa numérica da relação de uma característica com um alvo?

Primeiro você precisa remover os correlacionados. Em minhas características, por algum motivo, a correlação ideal é de 75%.

Em seguida, selecione de 5 a 10 atributos com a pontuação máxima.

Desenhe figuras, como acima em minha postagem, para garantir que a correlação seja dividida por classes.

O erro de previsão deve ser inferior a 30%. Se não for, os recursos terão de ser descartados.

Você pode ver na entropia que a correlação é insignificante (0,003), mas deve tender a 1.

Mas eu estimei a diferença, portanto, não importa. Ainda assim, deve haver uma pequena melhoria. Talvez não haja porque a diferença é mínima.

Em geral, mesmo que tudo seja bom (há bons recursos no conjunto), você não precisa remover os outros recursos

É assim, um tarugo para outras coisas, como uma janela fora do padrão
 
Maxim Dmitrievsky #:

fica claro pela entropia que a correlação é insignificante (0,003), mas deve tender a 1.

mas estimei a diferença, portanto, não importa. Ainda assim, deve haver uma pequena melhoria. Talvez não haja porque a diferença é mínima.

Em geral, mesmo que tudo esteja bom (há chips bons no conjunto), o restante dos chips não precisa ser removido

A pontuação em si é uma coisa relativa.

Vou repetir as imagens.

Ruim, sem esperança


Melhor, se houver várias delas, podemos falar em 30% de erro de previsão.



E o lixo deve ser removido, porque no conjunto de treinamento o chip pode ficar a favor do lixo, é mais fácil encontrar o valor que leva ao ótimo.

 
Maxim Dmitrievsky #:

a pré-seleção de recursos para modelos modernos do tipo Busting não produz quase nada.

O Busting procura as melhores divisões de todas as colunas e de todos os exemplos. Ou seja, ele usa as melhores fichas.
Schuch. forest pega metade das fichas e metade dos exemplos (a fração é configurável) para cada árvore e, em seguida, de 20 a 100 árvores, encontra a média. Se houver apenas 5 chips informativos de 200 chips, algumas das árvores não conterão chips informativos (em média, 2,5 chips informativos por árvore). E faremos a média de uma parte das árvores informativas com árvores de ruído. O resultado também será muito ruidoso.
Uma árvore de ruído funcionará bem se houver muitas fichas informativas (como nos exemplos clássicos/tarefas de MO).

O Busting encontrará e usará as fichas mais informativas, pois verifica todas elas. Portanto, pela lógica do bousting, ele selecionará as melhores fichas por si só. Mas o bousting também tem seus próprios problemas.

 
elibrarius #:

O Busting encontrará e usará as fichas mais informativas, pois verifica todas elas. Portanto, de acordo com a lógica do bousting, ele selecionará as melhores fichas. Mas o bousting também tem seus próprios problemas.

Criei um tópico com uma amostra que prova o contrário: o reforço não é onipotente, especialmente fora da caixa.