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

 
Maxim Dmitrievsky:

Quais são os estados actuais? Se se trata de clusters, basta varrer as estatísticas sobre os novos dados. Se eles forem os mesmos, você pode construir TC.

Parâmetros na barra. Os incrementos, velocidades, médias históricas. Não entendo porque todos consideram parâmetros na última barra completa, mas é essencialmente incorrecto. As médias estão atrasadas pela metade ou um pouco menos do que a média, e os incrementos não são suficientemente significativos. E ninguém conta os parâmetros da série como um todo. As duas gradações de plano e tendência não são sequer engraçadas.
 
Maxim Dmitrievsky:

Se os clusters forem os mesmos, então você pode construir TCs. Se forem os mesmos, podemos construir o TC.

A área temática dos clusters e estatísticas precisa de ser claramente compreendida. Se for idêntico em todos os instrumentos de '70 a '20, então é possível))

 
mytarmailS:

O busto do gato não vai ajudar, o problema é o tamanho dos dados, eu nem vou ser capaz de criar traços, você nem vai chegar a treinar...

Faça uma amostra de 50k, que seja pequena, que não seja séria, que seja mais possível treinar demais, .... ..., ... O objetivo é criar um robô para produção, mas apenas para reduzir o erro usando esforços conjuntos, e então o conhecimento adquirido poderia ser aplicado a qualquer ferramenta e mercado, 50 K será suficiente para ver o que os sinais significam alguma coisa.

Ok, eu vou fazer uma pequena amostra.

mytarmailS:

Se você não conhece OHLK, você não tem que escrevê-lo, por que você deve deslocar toda a OHLK? Ninguém faz isso, você só tem que deslocar ZZ por um passo, como se olhar para o futuro por 1 passo para aprender e isso é tudo. Já leu pelo menos um artigo de Vladimir Perervenko sobre deserelearning? Por favor, leia-o. É muito desconfortável quando ações ótimas com dados se acomodam e todos estão acostumados a eles, e alguém tenta fazer o mesmo, mas de uma maneira diferente, é meio sem sentido e irritante, e causa muitos erros em pessoas que tentam trabalhar com os dados de tal autor.

Eu li seus artigos, mas não entendo o código R, então eu não posso realmente entender tudo lá.

Por isso vou perguntar-lhe, já que compreende a questão. A classificação é feita na barra zero, quando apenas o preço de abertura é conhecido, como eu entendo que você não usa o preço de abertura da barra zero, mas apenas informações da 1ª barra e mais tarde? De facto, o alvo determina o vector ZZ na barra de zero? Já percebi que o vector do próximo bar foi previsto - isso não é essencial, pois não? Caso contrário, tenho de voltar a fazer muito trabalho - é cansativo.

Eu só tenho uma solução pronta para pegar os dados e aplicar o modelo, não um modelo de cálculo.

mytarmailS:

Se depois de tudo isso você ainda quiser fazer algo, eu tenho os seguintes requisitos

1) os dados 50-60k não mais, de preferência um arquivo, basta concordar que o n da última vela será o teste

2) Os dados, de preferência sem colas, para que não só os últimos preços possam ser considerados, mas também suporte e resistência, o que é impossível com colas

3) o alvo já deve estar incluído nos dados

4) dados no formato data,hora,o,h,l,c, alvo


Ou devo fazer um conjunto de dados?

Você pode exigir daqueles que assumiram um compromisso - ou seja, não de mim :) Vamos fazer um acordo.

1. Vamos fazer 50 para o treinamento e outros 50 para o teste (amostragem fora do treinamento).

2. Está bem.

3. ok.

4. OK.

Adicionado: Percebeu que os futuros Si-3.20 não têm barras normais suficientes (22793) e você não quer colar.


Acrescentei uma amostra do sber - tenho um 67 de accurasy.

Arquivos anexados:
Setup.zip  891 kb
 
Aleksey Vyazmikin:

Por isso, vou perguntar-te, já que já descobriste isto. A classificação é feita na barra zero, quando apenas o preço de abertura é conhecido, como eu entendo que você não usa o preço de abertura da barra zero, mas apenas as informações da barra 1 e posteriores? De facto, o alvo determina o vector ZZ na barra de zero? Já percebi que o vector do próximo bar foi previsto - isso não é essencial, pois não? Caso contrário, tenho que fazer um monte de retrabalho de novo - cansativo.

A classificação é feita na última barra onde a cláusula conhecida (ou seja, uma vela OHLS completa), nós prevemos o sinal ZZ de uma vela futura. Por que levar em conta a vela na qual a única opção conhecida eu não consigo entender, qual é a vantagem além da complexidade ? tanto na compreensão como na realização, e se você entender que a opção[i] é quase sempre igual à cláusula[i-1], então eu só tenho um ponto de interrogação para esta abordagem


Aleksey Vyazmikin:

Você pode exigir daqueles que assumiram um compromisso - ou seja, não de mim :) Vamos chegar a um acordo.

Eu não exijo nada de ti pessoalmente.) Requerimento para a amostra, a amostra deve ser a mesma para todos para que algo possa ser comparado, certo? Eu acho que é óbvio.


E obrigado por ouvir )

1) dados 50-60k não mais , de preferência um arquivo.........

Vamos ter 50 para o treinamento e outros 50 para o teste (amostra fora do treinamento).

Pensei que 50-60k talvez por curiosidade, porque não duplicar? )))

)))

1) dados 50-60k não mais, melhor um arquivo, basta concordar

E obrigado por preencher um ficheiro em vez de dois! ))
 

Tentei primeiro, fora da caixa, por assim dizer...

Apenas os últimos n valores estão envolvidos na previsão, como você, porque o erro é o mesmo.

Tenho 217 indicadores, tenho a certeza que há algumas redundâncias, mas sou demasiado preguiçoso para as limpar.

Utilizei o arquivoOHLC_Train.csv para treinar e validar um total de 54147


testou o modelo nas primeiras 10k observações (para ser exato, 8k, os primeiros 2k não foram levados em conta, pois os indicadores foram calculados sobre eles)

testei o modelo nos restantes 44k dados, por isso acho que não há reciclagem. 5,5 vezes trayn 44/8 =5,5


Dos modelos que eu tentei impulsionar e forrest, o impulsionamento não foi impressionado e eu parei na forrest.

na formação, mas eu sou demasiado preguiçoso para ser xamã.

table(d$Target[tr])

   0    1 
3335 4666 

modelo final sobre as características actuais - forrest 200 árvores

no comboio...

 Type of random forest: classification
                     Number of trees: 200
No. of variables tried at each split: 14

        OOB estimate of  error rate: 14.75%
Confusion matrix:
     0    1 class.error
0 2557  778  0.23328336
1  402 4264  0.08615517

no teste

Confusion Matrix and Statistics

          Reference
Prediction     0     1
         0 12449  5303
         1  9260 17135
                                          
               Accuracy : 0.6701          
                 95% CI : (0.6657, 0.6745)
    No Information Rate : 0.5083          
    P-Value [Acc > NIR] : < 2.2e-16       
                                          
                  Kappa : 0.3381          
                                          
 Mcnemar's Test P-Value : < 2.2e-16       
                                          
            Sensitivity : 0.5734          
            Specificity : 0.7637          
         Pos Pred Value : 0.7013          
         Neg Pred Value : 0.6492          
             Prevalence : 0.4917          
         Detection Rate : 0.2820          
   Detection Prevalence : 0.4021          
      Balanced Accuracy : 0.6686          
                                          
       'Positive' Class : 0  

Como você pode ver os resultados são idênticos aos seus, e não precisa de milhões de dados 50k é o suficiente para encontrar um padrão, se é que algum é

Então obtivemos os mesmos resultados, este é o nosso ponto de partida, agora este erro precisa de ser melhorado.

 

)) Hohma ))

Removidos todos os chamados indicadores de análise técnica

Existem 86 indicadores, não 217 como no exemplo acima

E a qualidade do modelo só tem melhorado )


Confusion Matrix and Statistics

          Reference
Prediction     0     1
         0 12769  5597
         1  8940 16841
                                          
               Accuracy : 0.6707          
                 95% CI : (0.6663, 0.6751)
    No Information Rate : 0.5083          
    P-Value [Acc > NIR] : < 2.2e-16       
                                          
                  Kappa : 0.3396          
                                          
 Mcnemar's Test P-Value : < 2.2e-16       
                                          
            Sensitivity : 0.5882          
            Specificity : 0.7506          
         Pos Pred Value : 0.6953          
         Neg Pred Value : 0.6532          
             Prevalence : 0.4917          
         Detection Rate : 0.2892          
   Detection Prevalence : 0.4160          
      Balanced Accuracy : 0.6694          
                                          
       'Positive' Class : 0 
 
mytarmailS:

A classificação ocorre na última barra onde a cláusula conhecida (aquelas velas OHLS de pleno direito), prevê o sinal ZZ vela futura . Por que levar em conta a vela na qual a única opção conhecida não consigo entender, qual é a vantagem além da complexidade ? tanto na compreensão como na implementação, e se você entender que a opção[i] é quase sempre igual à cláusula[i-1], então eu só tenho um ponto de interrogação para esta abordagem

Você não pode entendê-lo porque você tem dados em R e o terminal não sabe quando OHLC é formado na barra atual, então você pode obter OHLC apenas na barra zero a partir da primeira barra. Bem abertos na barra de zero são novos dados de tempo - especialmente relevantes para grandes TFs, porque eu tenho uma classe dos mesmos preditores na minha amostra, mas aplicados em TFs diferentes.


mytarmailS:


1) dados 50-60k não mais, de preferência um arquivo.........

Vamos dar 50 para o treinamento e outros 50 para o teste (amostra fora do treinamento).

Eu provavelmente acabei de nomear 50-60k, porque não dobrá-lo? )))

)))

1) dados 50-60k não mais, um arquivo é melhor, basta concordar

E obrigado por preencher um ficheiro em vez de dois! ))
mytarmailS:

formado e validado no arquivoOHLC_Train.csv um total de 54147

testou o modelo nas primeiras 10k observações (para ser exato, 8k, os primeiros 2k não foram levados em conta, pois foram usados para calcular os indicadores)

testei o modelo nos restantes 44k dados, por isso acho que não há reciclagem. o teste é 5,5 vezes mais comboio 44/8 =5,5

Como você pode ver os resultados são idênticos aos seus e não preciso de milhões de dados 50k é suficiente para encontrar os padrões, se é que

Então obtivemos os mesmos resultados, este é o nosso ponto de partida, agora este erro precisa de ser melhorado.

Eu dividi a amostra em dois arquivos, o primeiro arquivo para qualquer tentativa de aprendizagem distorcida, e o segundo para verificar os resultados da aprendizagem.

Você não tem a opção de salvar o modelo e testá-lo com os novos dados? Se sim, por favor, verifique, eu dei o resultado para a amostra OHLC_Exam.csv

Você pode enviar de volta da mesma maneira, dividir esses dois arquivos, mas adicionando seus preditores e a coluna com o resultado da classificação?


Em relação ao sobretreinamento ou à falta dele.

Na minha opinião, é um claro sobretreinamento.

 
Aleksey Vyazmikin:

Sim... Tudo é mais triste em novos dados (((.

Confusion Matrix and Statistics

          Reference
Prediction    0    1
         0 9215 5517
         1 3654 7787
                                          
               Accuracy : 0.6496          
                 95% CI : (0.6438, 0.6554)
    No Information Rate : 0.5083          
    P-Value [Acc > NIR] : < 2.2e-16       
                                          
                  Kappa : 0.3007          
                                          
 Mcnemar's Test P-Value : < 2.2e-16       
                                          
            Sensitivity : 0.7161          
            Specificity : 0.5853          
         Pos Pred Value : 0.6255          
         Neg Pred Value : 0.6806          
             Prevalence : 0.4917          
         Detection Rate : 0.3521          
   Detection Prevalence : 0.5629          
      Balanced Accuracy : 0.6507          
                                          
       'Positive' Class : 0


Aqui estão os arquivos, NÃO use as primeiras 2k cordas na bandeja

nas primeiras 100 linhas de teste

UPD====

os ficheiros não cabem, por favor envie-me um e-mail para a sua caixa de correio

 
mytarmailS:

Sim... Tudo fica mais triste com os novos dados (((


Aqui estão os arquivos, NÃO utilize as primeiras linhas de 2k no trilho

no teste, as primeiras 100 linhas.

Não há arquivos na aplicação.

Eu mudei a divisão da amostragem para treinamento e validação, para validação eu peguei a cada 5 linhas, recebi um gráfico engraçado

Na amostra OHLC_Exam.csv Precisão 0,63


Por X, cada nova árvore diminui o resultado, indicando sobretreinamento devido à insuficiência de exemplos na amostra.

Comprime o ficheiro com um zip.
 
Aleksey Vyazmikin:

Não há arquivos na aplicação.

Eu mudei a divisão da amostragem para treinamento e validação, para validação eu peguei cada 5 linhas e recebi um gráfico engraçado

Na amostra OHLC_Exam.csv Precisão 0,63


Por X, cada nova árvore diminui o resultado, indicando sobretreinamento devido à insuficiência de exemplos na amostra.

Comprime o ficheiro com um zip.

Sim, sim, os nossos modelos estão sobreformados...

Aqui está um link para baixar os arquivos, mesmo o arquivo comprimido não caberá no fórum

https://dropmefiles.com.ua/56CDZB


Tente o modelo nos meus sinais, pergunto-me que acuracracia será