Prédiction du marché basée sur des indicateurs macroéconomiques - page 9

 
transcendreamer:


Je ne suis toujours pas d'accord - la régression fonctionne bien avec n'importe quelles données, pas nécessairement mieux que d'autres méthodes, mais suffisamment bien, surtout si l'on considère l'absence extrême de demande de ressources informatiques.


La régression ne fonctionne PAS avec n'importe quelles données. Cela est particulièrement vrai pour la régression linéaire, qui est mentionnée au début de ce fil.

Le problème de l'application de la régression linéaire peut être divisé en deux niveaux.

1. Estimation primaire des coefficients de régression. Exactement l'ÉVALUATION. Si nous écrivons y=a+inx, il n'y a pas de précision ici, car la régression n'est pas une équation et l'entrée correcte y ~ a+inx, où le signe tilde souligne que les coefficients ne sont pas des constantes, mais des estimations de variables aléatoires avec une certaine précision, et donc nous ne pouvons pas les additionner, comme vous le suggérez dans votre message.

Par conséquent, lors de l'utilisation d'un progiciel d'ajustement de régression, chaque coefficient est associé à un ensemble de nombres qui caractérisent la valeur du coefficient spécifié comme une variable aléatoire. Le résultat total est affiché dans la colonne d'extrême droite sous forme d'astérisques. Trois astérisques signifient que vous pouvez considérer la valeur d'un coefficient comme une constante, ou plutôt comme une estimation d'une valeur aléatoire avec une petite erreur et un petit écart. S'il n'y a pas d'astérisque, la valeur donnée n'est rien du tout et ne peut être utilisée en aucune façon.

Mais ce n'est pas tout. Et les principaux problèmes sont les suivants.

2. la régression linéaire est applicable UNIQUEMENT aux données stationnaires, c'est-à-dire ayant un mo et une variance approximativement constants. La transformation que vous évoquez, qui conduit à la suppression de la tendance, est précisément la tentative de la ramener à une forme stationnaire. Tout ceci est généralisé sous la forme de modèles ARIMA, mais il existe de telles séries financières, et il en existe la plupart, où les modèles ARIMA ne résolvent pas les problèmes.

Si vous ne distinguez pas toutes ces subtilités, les résultats obtenus par régression linéaire ne sont qu'un jeu de chiffres vide.

 
faa1947:

La régression ne fonctionne PAS avec n'importe quelles données. Cela est particulièrement vrai pour la régression linéaire, qui est mentionnée au début de ce fil.

Le problème de l'application de la régression linéaire peut être divisé en deux niveaux.

1. Estimation primaire des coefficients de régression. Exactement l'ÉVALUATION. Si nous écrivons y=a+inx, ce n'est plus exact, car la régression n'est pas une équation et l'écriture correcte y ~ a+inx, où le signe tilde souligne que les coefficients ne sont pas des constantes, mais des estimations de variables aléatoires d'une certaine précision, et que nous ne pouvons donc pas les additionner, comme vous le suggérez dans votre message.

Par conséquent, lors de l'utilisation de tout progiciel d'ajustement de régression, chaque coefficient est associé à un ensemble de nombres qui caractérisent la valeur du coefficient spécifié en tant que variable aléatoire. Le résultat total est affiché dans la colonne d'extrême droite sous forme d'astérisques. Trois astérisques signifient que vous pouvez considérer la valeur d'un coefficient comme une constante, ou plutôt comme une estimation d'une valeur aléatoire avec une petite erreur et un petit écart. S'il n'y a pas d'astérisque, la valeur donnée n'est rien du tout et ne peut être utilisée d'aucune façon.

Mais ce n'est pas tout. Et les principaux problèmes sont les suivants.

2. la régression linéaire est applicable UNIQUEMENT aux données stationnaires, c'est-à-dire ayant un mo et une variance approximativement constants. La transformation dont vous parlez, qui conduit à la suppression de la tendance, est précisément la tentative de la ramener à une forme stationnaire. Tout ceci est généralisé sous la forme de modèles ARIMA, mais il existe de telles séries financières, et il en existe la plupart, où les modèles ARIMA ne résolvent pas les problèmes.

Si vous ne distinguez pas toutes ces subtilités, les résultats obtenus par régression linéaire ne sont qu'un jeu de chiffres vide.

cela fonctionne bien pour moi )))) et c'est juste une régression linéaire

additionner les coefficients est une méthode grossière, je suis d'accord.

J'ai essayé d'analyser la signification des coefficients et l'analyse de la variance, mais en pratique cela me semble peu utile

il est beaucoup plus facile et pratique de voir visuellement sur le graphique le comportement de la courbe finale et la manière dont elle rapproche les valeurs théoriques des données d'origine.

c'est pourquoi je prends le vecteur solution tel quel, et pour la plupart des cas, c'est suffisant

si elle correspond bien aux données, tout va bien.

J'ai essayé d'autres solutions, meilleures, d'autres méthodes - le résultat n'est pas très différent de celui de la régression.

j'ai remarqué que certains coefficients peuvent flotter dans certaines limites, et que cela n'affecte pas beaucoup la courbe finale

Mais ce n'est pas grave - ces coefficients sont de toute façon instables, ils changeront progressivement au fil du temps, il est donc inutile de les évaluer.

sur la stationnarité - bien sûr, elle n'existe pas sur le marché, alors que faire ?

il n'est probablement pas académique de faire comme je fais

mais alors que prendre comme substitut ?

 
transcendreamer:

.....

mais alors qu'est-ce qu'il faut substituer ?

Vous vous êtes limité à la régression linéaire, mais vous pourriez formuler la question de la manière suivante : choisissez le type de régression le plus approprié en fonction des tâches à accomplir. Vous pouvez considérer toutes les très nombreuses régressions (pas seulement linéaires) comme un ensemble de boîtes noires et vous concentrer sur les problèmes significatifs en évaluant les résultats obtenus.

Pour sortir d'une régression linéaire comme d'un pantalon court, il faut passer beaucoup de temps.

Ensuite, décidez du type de ce que vous prévoyez, à savoir : allez-vous prévoir la valeur, par exemple le prix d'une paire de devises, ou prévoir la direction du prix, une sorte de caractéristique qualitative "long-short" ou d'autres ordres du terminal.

Vous devez maintenant décider d'une sorte d'investissement en temps.

Dans un premier temps, je recommande Rattle comme porte d'entrée dans le monde de plus de 100 modèles. A en juger par le niveau de votre raisonnement sur la régression linéaire, cela représente un jour ou deux de votre temps. Vous vous retrouvez avec 6 types de modèles, l'un d'entre eux, presque votre préféré, s'appelle seulement "linéaire généralisé", mais les autres sont beaucoup plus intéressants, avec lesquels vous pouvez réellement faire des modèles de prédiction.

 
faa1947:

Vous vous êtes limité à la régression linéaire, mais vous pourriez formuler la question de la manière suivante : choisissez le type de régression le plus approprié en fonction des tâches à accomplir. Vous pouvez considérer les très nombreuses régressions (pas seulement linéaires) comme un ensemble de boîtes noires et vous concentrer sur les problèmes significatifs d'évaluation des résultats.

Pour sortir d'une régression linéaire comme d'un pantalon court, il faut passer beaucoup de temps.

Ensuite, décidez du type de ce que vous prévoyez, à savoir : allez-vous prévoir la valeur, comme le prix d'une paire de devises, ou prévoir la direction du prix, une sorte de caractéristique qualitative de "long-short" ou d'autres ordres du terminal.

Vous devez maintenant décider d'une sorte d'investissement en temps.

Dans un premier temps, je recommande Rattle comme porte d'entrée dans le monde de plus de 100 modèles. A en juger par le niveau de votre raisonnement sur la régression linéaire, cela représente un jour ou deux de votre temps. Vous vous retrouvez avec 6 types de modèles, l'un d'entre eux, presque votre préféré, s'appelle seulement "linéaire généralisé", mais les autres sont beaucoup plus intéressants, avec lesquels vous pouvez réellement faire des modèles de prédiction.

Malheureusement, comme je l'ai dit, les autres optimiseurs n'ont pas montré de résultats significativement meilleurs que la régression linéaire.

Peut-être que dans certaines applications scientifiques, elles peuvent donner un avantage, mais dans le commerce, la prédiction précise est une illusion.

Le GLM a été développé pour les assurances, si je ne me trompe pas, le SVM et l'ADA sont trop étroitement ciblés, la régression logistique ne convient pas pour des raisons évidentes.

les réseaux neuronaux et les forêts aléatoires sont polyvalents et plus avantageux car ils contournent le problème de la racine zéro et n'importe quelle fonction cible peut être spécifiée.

mais c'est un vrai casse-tête, du moins pour moi, un humanitaire.

la méthode des composantes principales a été une découverte pour moi, mais je n'ai pas réussi à l'appliquer à mon problème (portefeuilles)

les forêts aléatoires valent vraiment la peine qu'on s'y attarde et j'ai l'intention de les essayer après un certain temps, mais je ne m'attends pas à un grand effet.

Dommage qu'il n'y ait pas de GA dans le cliquetis, ou je ne pourrais pas en trouver un.

 

Je ne qualifierais pas la régression linéaire de "ringarde". Et il n'y a pas lieu de supposer que je n'ai pas essayé un tas d'autres modèles.

Chacun sait que tout modèle non linéaire y = f(x1,x2,...) peut être décomposé en une série de Taylor :

y = a0 + a11*df/dx1*x1 + a12*df/dx2*x2 + ... + a21*d^2f/dx1^2*x1^2 + a22*d^2f/dx2^2*x2^2 + b11*d^2f/dx1/dx2*x1*x2 + ...

Les personnes versées dans les mathématiques savent qu'il s'agit d'une décomposition de la fonction f(x1,x2,...) en bases polynomiales (plus précisément monomiales) x, x^2, x^3, etc. Une régression linéaire ne retient que les termes linéaires de cette expansion, il s'agit donc d'une approximation de premier ordre. Les bases non linéaires peuvent être choisies parmi divers polynômes bien connus, par exemple Chebyshev, Hermite, Legendre, etc. Mais la méthode correcte de sélection des polynômes est la décomposition QR ou, dans un cas plus général, la sélection de polynômes orthogonaux prenant en compte les propriétés statistiques des entrées x1, x2, .... Les réseaux neuronaux tentent d'effectuer la même décomposition mais sur des fonctions exp des entrées selon le théorème de Kolmogorov. Il s'agit d'une décomposition assez peu pratique car les fonctions exponentielles des entrées ne sont pas orthogonales entre elles, ce qui entraîne de nombreux problèmes numériques et des variantes de solution. Dans tous les cas, toutes ces décompositions de notre fonction non linéaire auront un modèle linéaire comme approximation de premier ordre. Ainsi, si une approximation linéaire (régression) ne nous donne pas le résultat attendu, il est inutile de passer à des degrés supérieurs de non-linéarité. Même la régression linéaire peut être résolue par différentes méthodes (RMS, MNM, et autres fonctions d'erreur arbitraires), que j'ai toutes essayées.

Au fait, tous les modèles économétriques ARMA, ARIMA et autres sont des cas particuliers du modèle ci-dessus y[n] = f(x1[n-d1],x2[n-d2],...) où certaines entrées sont des sorties retardées, c'est-à-dire y[n-1], y[n-2], d'où le nom de modèles "autorégressifs". Bien qu'il ne soit pas sain de résoudre les modèles autorégressifs par les méthodes RMS ou CMM car les coefficients obtenus conduisent à des modèles oscillatoires. Nous avons besoin de Burg, Modified Covariance et ainsi de suite. Mais j'ai passé ce chapitre "autorégressif" il y a longtemps et je ne veux pas y revenir. Bien que mon modèle de marché permette de sélectionner une sortie différée comme l'une des entrées. Mais jusqu'à présent, il n'a jamais choisi une telle entrée "autorégressive", ce qui signifie que les indicateurs économiques sont plus aptes à prédire le prix que le prix lui-même dans le passé (qui constitue la base de la grande majorité des méthodes des traders basées sur l'analyse technique)

 
faa1947:

J'ai une suggestion.

Déposer un fichier tsv.avec les noms des colonnes. Spécifier quelles (quelles) colonnes doivent être utilisées comme variables cibles. Naturellement, la ligne du tableau doit se référer à un seul moment dans le temps.

Je l'exécuterai dans Rattle et avec votre permission, je posterai ici le résultat pour 6 modèles très décents.


Suggestion acceptée. Indiquez un format de fichier de données acceptable. Le tapis fera l'affaire ? C'est beaucoup de données, CSV va manger tout le disque. MAT seulement 6MB.

Mais j'ai une condition : les prévisions sont faites pour la période de 2000 à 2015, mais uniquement sur la base des données disponibles avant la date prévue. En d'autres termes, si vous faites des prédictions pour le premier trimestre 2000, vous travaillez avec des données jusqu'au premier trimestre 2000. Sélectionner des prédicteurs à partir de toutes les données disponibles, y compris 2015, puis les utiliser pour prédire le premier trimestre 2000, même si les coefficients du modèle sont calculés à partir de données antérieures au premier trimestre 2000, c'est anticiper. J'ai eu cette erreur dans le passé et mon modèle a eu des prédictions d'une précision stupéfiante. En bref, ma condition est que les prédicteurs soient sélectionnés et que le modèle prédictif lui-même soit calculé à partir de données AVANT la date prédite.

 
gpwr:

Offre acceptée. Indiquez un format de fichier de données acceptable. Est-ce que Mat va bien ? Trop de données, le CSV occupera tout le disque. MAT seulement 6MB.


Le premier problème est le fichier. Nous devrons y réfléchir. Je suis sûr que MAT prend R - R et MATLAB sont très conviviaux, mais je ne sais pas comment faire. Dès que je serai prêt, je vous répondrai.

 
gpwr:

Je ne qualifierais pas la régression linéaire de "ringarde".



"Pitoyable" pour les données non stationnaires.

Et pour résumer mes posts : l'outil doit être adapté au problème.

Pour les régressions - la non-stationnarité des séries financières est le problème sous-jacent. Ainsi, lors du choix d'une boîte à outils, vous devez examiner comment l'outil choisi résout le problème de non-stationnarité. L'ARIMA que j'ai mentionné résout le problème de non-stationnarité dans une certaine mesure, mais je n'ai jamais entendu dire que les séries de Taylor résolvaient le problème de non-stationnarité. Dans le cadre des régressions, ARIMA n'est pas le seul outil, bien qu'il soit encore utilisé dans les structures gouvernementales américaines et qu'il ne soit pas le plus avancé. Parmi les plus connus, je citerai ARCH avec un tas de modifications.

Le résultat de la non-stationnarité est le superfitting du modèle. Cela se manifeste par le fait que vous pouvez construire un modèle avec une précision extraordinaire, mais qu'il ne fonctionne pas en dehors de l'échantillon d'entraînement, et de manière sournoise : ensuite, il fonctionne, ensuite, il ne fonctionne pas. Vos propos sur la supériorité des modèles simples sur les modèles complexes est un fait bien connu et repose sur le fait qu'un modèle complexe est beaucoup plus facile à superposer qu'un modèle simple.

 
gpwr:

Je ne qualifierais pas la régression linéaire de "ringarde". Et il n'est pas nécessaire de supposer que je n'ai pas essayé un tas d'autres modèles.

Chacun sait que tout modèle non linéaire y = f(x1,x2,...) peut être décomposé en une série de Taylor :

y = a0 + a11*df/dx1*x1 + a12*df/dx2*x2 + ... + a21*d^2f/dx1^2*x1^2 + a22*d^2f/dx2^2*x2^2 + b11*d^2f/dx1/dx2*x1*x2 + ...

Les personnes bien versées dans les mathématiques savent qu'il s'agit d'une décomposition de la fonction f(x1,x2,...) en bases polynomiales (plus précisément monomiales) x, x^2, x^3 etc. Une régression linéaire ne retient que les termes linéaires de cette expansion, il s'agit donc d'une approximation de premier ordre. Les bases non linéaires peuvent être choisies parmi divers polynômes bien connus, par exemple Chebyshev, Hermite, Legendre, etc. Mais la méthode correcte de sélection des polynômes est la décomposition QR ou, dans un cas plus général, la sélection de polynômes orthogonaux prenant en compte les propriétés statistiques des entrées x1, x2, .... Les réseaux neuronaux tentent d'effectuer la même décomposition mais sur des fonctions exp des entrées selon le théorème de Kolmogorov. Il s'agit d'une décomposition assez peu pratique car les fonctions exponentielles des entrées ne sont pas orthogonales entre elles, ce qui entraîne de nombreux problèmes numériques et des variantes de solution. Dans tous les cas, toutes ces décompositions de notre fonction non linéaire auront un modèle linéaire comme approximation de premier ordre. Ainsi, si une approximation linéaire (régression) ne nous donne pas le résultat attendu, il est inutile de passer à des degrés supérieurs de non-linéarité. Même la régression linéaire peut être résolue par différentes méthodes (RMS, MNM, et autres fonctions d'erreur arbitraires), que j'ai toutes essayées.

Au fait, tous les modèles économétriques ARMA, ARIMA et autres sont des cas particuliers du modèle ci-dessus y[n] = f(x1[n-d1],x2[n-d2],...) où certaines entrées sont des sorties retardées, c'est-à-dire y[n-1], y[n-2], d'où le nom de modèles "autorégressifs". Bien qu'il ne soit pas sain de résoudre les modèles autorégressifs par les méthodes RMS ou CMM car les coefficients obtenus conduisent à des modèles oscillatoires. Nous avons besoin de Burg, Modified Covariance et ainsi de suite. Mais j'ai passé ce chapitre "autorégressif" il y a longtemps et je ne veux pas y revenir. Bien que mon modèle de marché permette de sélectionner une sortie différée comme l'une des entrées. Mais jusqu'à présent, il n'a jamais choisi une telle entrée "autorégressive", ce qui signifie que les indicateurs économiques sont plus aptes à prédire le prix que le prix lui-même dans le passé (ce qui est la base de la grande majorité des méthodes des traders basées sur l'analyse technique)

Je suppose que c'est ce que je voulais dire ))))

Je construis une régression sur l'ensemble des données et j'obtiens des modèles "médiocres", et les autres méthodes donnent presque toujours des modèles "médiocres" également.

et si une régression linéaire donne un modèle "plus ou moins", je remarque que d'autres méthodes peuvent l'améliorer un peu

 
Il serait utile de donner une définition claire, ou du moins une clarification, de ce que l'on entend par "prévision", "prédiction", etc. Sans cela, les "prévisions" n'ont aucun sens. Car, selon l'horizon, la même "prévision" peut être correcte pour un horizon et incorrecte pour un autre horizon. De plus, ces parcelles peuvent alterner plusieurs fois.