L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 1783

 
Maxim Dmitrievsky:

Quels sont les états actuels ? S'il s'agit de clusters, il suffit de balayer les statistiques sur les nouvelles données. S'ils sont identiques, vous pouvez construire le TC.

Paramètres sur la barre. Les incréments, les vélocités, les moyennes de l'historique. Je ne comprends pas pourquoi tout le monde considère les paramètres sur la dernière mesure complète, mais c'est essentiellement incorrect. Les moyennes sont en retard de la moitié ou d'un peu moins que la plage de calcul des moyennes, et les incréments ne sont pas assez significatifs. Et personne ne compte les paramètres de la série dans son ensemble. Les deux gradations de plat et de tendance ne sont même pas drôles.
 
Maxim Dmitrievsky:

Si les clusters sont les mêmes, alors vous pouvez construire des CTs. S'ils sont les mêmes, nous pouvons construire le TC.

Le domaine des clusters et des statistiques doit être bien compris. Si elle est identique sur tous les instruments de 70 à 20 ans, alors c'est possible).

 
mytarmailS:

Le catbust n'aidera pas, le problème est la taille des données, je ne serai même pas capable de créer des traits, vous n'arriverez même pas à vous entraîner...

Faites un échantillon de 50k, que ce soit petit, que ce ne soit pas grave, que ce soit plus possible de se surentraîner, ..... ..., ... Le but est de créer un robot pour la production, mais juste de réduire l'erreur en utilisant des efforts conjoints, et ensuite les connaissances acquises pourraient être appliquées à n'importe quel outil et marché, 50 K seront bien suffisants pour voir quels signes signifient quelque chose.

Ok, je vais faire un petit échantillonnage.

mytarmailS:

Si vous ne connaissez pas l'OHLK, vous n'avez pas besoin de l'écrire, pourquoi devriez-vous déplacer tout l'OHLK ? Personne ne fait cela, vous devez juste déplacer ZZ d'un pas, comme si vous regardiez l'avenir d'un pas pour apprendre et c'est tout. Avez-vous lu au moins un article de Vladimir Perervenko sur deerelearning ? Lisez-le s'il vous plaît. C'est très désagréable quand des actions optimales avec des données se sont établies et que tout le monde y est habitué, et que quelqu'un essaie de faire la même chose mais d'une manière différente, c'est un peu insensé et ennuyeux, et cela provoque de nombreuses erreurs chez les personnes qui essaient de travailler avec les données d'un tel auteur.

Je lis ses articles, mais je ne comprends pas le code R, donc je ne peux pas vraiment tout comprendre.

Je vais donc vous demander, puisque vous comprenez le problème. La classification a lieu sur la barre zéro, lorsque seul le prix d'ouverture est connu, si je comprends bien, vous n'utilisez pas le prix d'ouverture de la barre zéro mais seulement les informations de la 1ère barre et des suivantes ? En fait, la cible détermine le vecteur ZZ sur la barre de zéro ? Je comprends que le vecteur de la barre suivante a été prédit - ce n'est pas essentiel, n'est-ce pas ? Sinon, je dois à nouveau retravailler beaucoup de choses - c'est fatigant.

J'ai juste une solution prête à l'emploi pour prendre des données et appliquer le modèle, pas un modèle de calcul.

mytarmailS:

Si après tout cela vous voulez toujours faire quelque chose, j'ai les exigences suivantes

1) les données 50-60k pas plus, de préférence un fichier, il suffit de convenir que le n de la dernière bougie sera le test

2) Les données, de préférence sans colle, afin de pouvoir prendre en compte non seulement les derniers prix, mais aussi le support et la résistance, ce qui est impossible avec des colles.

3) la cible devrait déjà être incluse dans les données

4) données au format date,heure,o,h,l,c, cible


Ou dois-je créer un ensemble de données ?

Vous pouvez demander à ceux qui se sont engagés - c'est-à-dire pas à moi :) Faisons un marché.

1. Faisons 50 pour la formation et 50 autres pour le test (échantillonnage hors formation).

2. ok.

3. ok.

4. OK.

Ajouté : Réalisé que les futures Si-3.20 n'ont pas assez de barres normales (22793) et que vous ne voulez pas de collage.


J'ai ajouté un échantillon du sber - j'ai obtenu une précision de 67.

Dossiers :
Setup.zip  891 kb
 
Aleksey Vyazmikin:

Donc je vais vous demander, puisque vous avez compris. La classification a lieu sur la barre zéro, lorsque seul le prix d'ouverture est connu. Si je comprends bien, vous n'utilisez pas le prix d'ouverture de la barre zéro, mais uniquement les informations de la barre 1 et des suivantes ? En fait, la cible détermine le vecteur ZZ sur la barre de zéro ? Je comprends que le vecteur de la barre suivante a été prédit - ce n'est pas essentiel, n'est-ce pas ? Sinon, il faut tout retravailler, ce qui est fastidieux.

La classification se fait sur la dernière barre où la clause connue (c 'est-à-dire une bougie OHLS à part entière), nous prédisons le signe ZZ d'une future bougie. Pourquoi prendre en compte la bougie dont je ne comprends pas la seule option connue, quel est l'avantage outre la complexité ? tant dans la compréhension que dans la réalisation, et si vous comprenez que l'option[i] est presque toujours égale à la clause[i-1], alors je n'ai qu'un point d'interrogation pour cette approche.


Aleksey Vyazmikin:

Vous pouvez exiger de ceux qui se sont engagés - c'est-à-dire pas de moi :) Mettons-nous d'accord.

Je n'exige rien de vous personnellement). Exigence pour l'échantillon, l'échantillon doit être le même pour tous afin que quelque chose puisse être comparé, n'est-ce pas ? Je pense que c'est évident.


Et merci d'avoir écouté)

1) données 50-60k pas plus, de préférence un fichier.........

Prenons 50 pour la formation et 50 autres pour le test (échantillon hors formation).

J'ai pensé à 50-60k peut-être par curiosité, pourquoi ne pas doubler ? )))

)))

1) données 50-60k pas plus, mieux un fichier, juste d'accord

Et merci de remplir un seul dossier au lieu de deux ! ))
 

Je l'ai essayé en premier, hors de la boîte, pour ainsi dire...

Seules les n dernières valeurs sont impliquées dans la prédiction, comme vous, car l'erreur est la même.

J'ai 217 indicateurs, je suis sûr qu'il y a quelques redondances mais je suis trop paresseux pour les nettoyer.

J'ai utilisé le fichierOHLC_Train.csv pour former et valider un total de 54147 personnes.


testé le modèle sur les 10k premières observations (pour être exact, 8k, les 2k premières n'ont pas été prises en compte, car les indicateurs ont été calculés sur elles)

testé le modèle sur les 44k données restantes, donc je pense qu'il n'y a pas de ré-entraînement. 5.5 fois train 44/8 =5.5


Parmi les modèles, j'ai essayé boosting et forrest, boosting n'a pas été impressionné et j'ai arrêté à forrest.

dans l'ensemble de la formation un fort déséquilibre des classes, mais je suis trop paresseux pour shaman

table(d$Target[tr])

   0    1 
3335 4666 

modèle final sur les caractéristiques actuelles - forrest 200 arbres

sur trayne...

 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

sur le test

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  

Comme vous pouvez le constater, les résultats sont identiques aux vôtres, et il n'est pas nécessaire de disposer de millions de données. 50 000 données suffisent pour trouver un modèle, si tant est qu'il y en ait un.

Nous avons obtenu les mêmes résultats, c'est notre point de départ, maintenant il faut améliorer cette erreur.

 

)) Hohma ))

Suppression de tous les indicateurs dits d'analyse technique

Il y a 86 indicateurs, et non 217 comme dans l'exemple ci-dessus.

Et la qualité du modèle n'a fait que s'améliorer ;)


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:

La classification se produit sur la dernière barre où la clause connue (ceux à part entière bougie OHLS), prédire le signe ZZ bougie future . Pourquoi prendre en compte la bougie dont je ne comprends pas la seule option connue, quel est l'avantage outre la complexité ? tant dans la compréhension que dans la mise en œuvre, et si vous comprenez que l'option[i] est presque toujours égale à la clause[i-1], alors je n'ai qu'un point d'interrogation pour cette approche.

Vous ne pouvez pas le comprendre parce que vous avez des données dans R et le terminal ne sait pas quand l'OHLC est formé sur la barre actuelle, donc vous pouvez obtenir l'OHLC seulement sur la barre zéro de la première barre. Well Open on the zero bar is new time data - particulièrement pertinent pour les grandes TFs, car j'ai une classe de mêmes prédicteurs dans mon échantillon, mais appliqués sur différentes TFs.


mytarmailS:


1) données 50-60k pas plus, de préférence un fichier.........

Donnons 50 pour la formation et 50 autres pour le test (échantillon hors formation).

Je viens probablement de nommer 50-60k, pourquoi ne pas le doubler ? )))

)))

1) données 50-60k pas plus, un seul fichier est mieux, juste d'accord

Et merci de remplir un seul dossier au lieu de deux ! ))
mytarmailS:

formé et validé sur le fichierOHLC_Train.csv un total de 54147

testé le modèle sur les 10k premières observations (pour être exact, 8k, les 2k premières n'ont pas été prises en compte, car elles ont été utilisées pour calculer les indicateurs)

j'ai testé le modèle sur les 44k données restantes, donc je pense qu'il n'y a pas de ré-entraînement. le test est 5,5 fois plus important que le train 44/8 =5,5

Comme vous pouvez le constater, les résultats sont identiques aux vôtres et je n'ai pas besoin de millions de données : 50 000 sont suffisantes pour trouver les modèles, voire aucun.

Nous avons obtenu les mêmes résultats, c'est notre point de départ, maintenant cette erreur doit être améliorée.

J'ai divisé l'échantillon en deux fichiers, le premier pour les tentatives d'apprentissage tordues, et le second pour vérifier les résultats de l'apprentissage.

N'avez-vous pas la possibilité d'enregistrer le modèle et de le tester sur les nouvelles données ? Si c'est le cas, veuillez le vérifier, j'ai donné le résultat pour l'échantillon OHLC_Exam.csv

Pouvez-vous renvoyer de la même manière, en divisant ces deux fichiers, mais en ajoutant vos prédicteurs et la colonne avec le résultat de la classification ?


Concernant le surentraînement ou le manque d'entraînement.

À mon avis, c'est clairement un surentraînement.

 
Aleksey Vyazmikin:

Ouaip... Tout est plus triste sur les nouvelles données (((.

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


Voici les fichiers, N' utilisez PAS les 2k premières chaînes dans le plateau

dans les 100 premières lignes du test

UPD====

les fichiers ne correspondent pas, veuillez m'envoyer un courriel dans votre boîte de réception

 
mytarmailS:

Ouaip... Tout est plus triste sur les nouvelles données (((


Voici les fichiers, N' utilisez PAS les 2k premières lignes du parcours.

dans le test, les 100 premières lignes.

Il n'y a pas de fichiers dans l'application.

J'ai changé la répartition de l'échantillonnage pour la formation et la validation, pour la validation j'ai pris toutes les 5 lignes, j'ai obtenu un drôle de graphique.

Sur l'échantillon OHLC_Exam.csv Précision 0.63


Par X, chaque nouvel arbre diminue le résultat, ce qui indique un surentraînement dû à l'insuffisance d'exemples dans l'échantillon.

Compresser le fichier avec un zip.
 
Aleksey Vyazmikin:

Il n'y a pas de fichiers dans l'application.

J'ai changé la répartition de l'échantillonnage pour la formation et la validation, pour la validation j'ai pris toutes les 5 lignes et j'ai obtenu un drôle de graphique

Sur l'échantillon OHLC_Exam.csv Précision 0.63


Par X, chaque nouvel arbre diminue le résultat, ce qui indique un surentraînement dû à l'insuffisance d'exemples dans l'échantillon.

Compresser le fichier avec un zip.

Oui, oui nos modèles sont surentraînés...

Voici un lien pour télécharger les fichiers, même le fichier compressé ne tiendra pas sur le forum

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


Essayez le modèle sur mes panneaux, je me demande quelle sera la précision.