L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 3257
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
dans statistics.mqh.
functions
PearsonCorrM - La corrélation de toutes les lignes avec toutes les lignes est la plus rapide.
Je me trompe quelque part, mais je ne le vois pas.
Mais cela fonctionne avec cette chaîne
const matrix<double> matrix1 = {{2, 2, 3}, {3, 2, 3}, {1, 2, 1}} ;
[0,0,0]
[0.8660254037844387,0,1]]
Apparemment, si toutes les données d'une colonne sont identiques, le calcul est ignoré.
Dans la deuxième colonne, j'ai laissé toutes les données à 2 et la deuxième ligne de la matrice est restée à zéro. Bien qu'il soit probablement correct de remplir la diagonale avec des 1.
PS. J'ai d'abord pensé qu'il s'agissait d'un bogue avec Alglib.
Dans l'ancien code, les valeurs des éléments étaient fixées par
m[row].Set(col, val) ;
Et maintenant
m.Set(row,col, val) ;
Il est dommage qu'il n'y ait pas de compatibilité ascendante. Cela n'a pas d'importance pour moi. Je ne travaille pas avec Alglib en ce moment. Si les anciens codes de quelqu'un cessent de fonctionner, il sera nécessaire de les corriger.
Le plus triste est que l'ancienne version de
m[row].Set(col, val) ;
n'écrit pas de message d'erreur, elle ne fait tout simplement rien. Les gens ne remplaceront pas et ne sauront pas qu'ils doivent changer le code. Il comptera quelque chose, mais avec des matrices inchangées.
Apparemment, si toutes les données d'une colonne sont identiques, le calcul est ignoré.
Pearson ne calcule pas entre les lignes, mais entre les colonnes ?
On dirait bien. Il donne une seule matrice.Pearson ne calcule pas entre les lignes, mais entre les colonnes ?
ZY Il semble que oui. Il produit une matrice unitaire.Alglib est une bonne bibliothèque, elle a tout ce qu'il faut pour la MO. Les réseaux neuronaux y sont très lents, c'était le cas dans les premières versions.
dans statistics.mqh.
PearsonCorrM - La corrélation de toutes les lignes avec toutes les lignes est la plus rapide.
Sur cette base, j'ai calculé la matrice de corrélation.
J'ai mesuré la performance.
Résultat.
Il est évident qu'Alglib calcule la matrice plus rapidement que la méthode matricielle standard.
Cependant, pour la recherche de motifs, le calcul de la matrice de corrélation est insensé en termes de consommation de RAM.
Combien de temps faut-il à Python pour lire la même taille de la matrice originale que dans l'exemple ci-dessus ?
Cependant, la lecture d'une matrice de corrélation pour trouver des modèles est une folie qui consomme de la mémoire vive.
Ma matrice intégrée a fonctionné plus rapidement sur mon i7-6700
C'est étrange que l'algorithme natif soit plus lent, ils auraient pu simplement le copier. Il est peu probable qu'Alglibe dispose d'un algorithme accéléré unique sous licence.
Avez-vous essayé les 2 autres variantes d'Alglib ?
Si vous comptez en boucle chaque ligne vers chaque ligne ou chaque ligne vers toutes les lignes, la mémoire sera plus économique (2 lignes ou 1 ligne + matrice). Mais cela prendra plus de temps, je ne me souviens pas exactement, mais je pense que ce sera plus lent que la fonction intégrée.
Cependant, la lecture d'une matrice de corrélation pour trouver des modèles est une folie qui consomme de la mémoire vive.
C'est pire avec la mémoire.
Avant le lancement
Et pendant le travail d'Alglibov PearsonCorrM la mémoire augmente sans cesse : j'ai vu 5 gg et 4.6 à l'écran.
et pendant le travail de Matrix.CorrCoef standard.
Apparemment, le programme standard est optimisé pour une utilisation minimale de la mémoire, et le programme Alglibov est optimisé pour la vitesse.
J'ai réussi à faire fonctionner la version intégrée plus rapidement : sur un i7-6700.
Et pendant l'exécution de PearsonCorrM d'Alglib, la mémoire continue de croître : et 5 gg ont été vus, 4,6 ont été affichés à l'écran.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
L'apprentissage automatique dans le trading : théorie, modèles, pratique et algo-trading
fxsaber, 2023.09.25 18:01
C'est juste une transition de CMatrixDouble à matrix<double>. J'ai même dû faire cette comparaison de matrices à cause de la mémoire.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
L'apprentissage automatique dans le trading : théorie, modèles, pratique et algo-trading
fxsaber, 2023.09.25 18:01