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

 
avtomat:


n'est vrai que pour la classe limitée de modèles que "vos universités" vous ont enseignés.


Je ne l'ai pas étudié dans les universités. Je suis autodidacte. Je pense avec mon propre cerveau. Je remets tout en question et je vérifie tout. La nécessité de la stationnarité m'est apparue après de multiples tentatives infructueuses d'obtenir un modèle sur des données non stationnaires. Je peux le prouver en détail, mais je suis désolé pour le temps, car tout le monde s'en tiendra à son opinion.

J'ai commencé à m'intéresser à ce sujet après avoir regardé les actualités du marché, où le professeur Steve Keen se vantait de la manière dont son modèle économique avait prédit le krach de 2008, alors que le modèle DSGE utilisé par la Fed était incapable de prédire quoi que ce soit. J'ai donc étudié le modèle DSGE et le modèle de Keen. Pour ceux qui veulent suivre mon chemin, je suggère de commencer par cet article Matlab sur le modèle DSGE. Il dispose de tous les codes nécessaires, y compris le code permettant d'échanger des données économiques à partir de la base de données FRED fedreserve :

http://www.mathworks.com/help/econ/examples/modeling-the-united-states-economy.html

Le modèle de la Fed utilise les prédicteurs suivants :

FRED Series Description% ---------------------------------------------------------------------------% COE Paid compensation of employees in $ billions% CPIAUCSL Consumer price index% FEDFUNDS Effective federal funds rate% GCE Government consumption expenditures and investment in $ billions% GDP Gross domestic product in $ billions% GDPDEF Gross domestic product price deflator% GPDI Gross private domestic investment in $ billions% GS10 Ten-year treasury bond yield % HOHOANBS Indice des heures travaillées dans le secteur des entreprises non agricoles% M1SL Masse monétaire M1 (monnaie étroite)% M2SL Masse monétaire M2 (monnaie large)% PCEC Dépenses de consommation personnelle en milliards de dollars% TB3MS Rendement des bons du Trésor à trois mois% UNRATE Taux de chômage


Ensuite, regardez les conférences de Steve Keen sur YouTube :

https://www.youtube.com/watch?v=aJIE5QTSSYA

https://www.youtube.com/watch?v=DDk4c4WIiCA

https://www.youtube.com/watch?v=wb7Tmk2OABo

Et lisez ses articles.

Modeling the United States Economy - MATLAB & Simulink Example
  • www.mathworks.com
The Smets-Wouters model (2002, 2004, 2007) is a nonlinear system of equations in the form of a Dynamic Stochastic General Equilibrium (DSGE) model that seeks to characterize an economy derived from economic first principles. The basic model works with 7 time series: output, prices, wages, hours worked, interest rates, consumption, and...
 
Le programmeMinsky (simulateur économique) est joint, ainsi que le site d'où il est tiré, le site a beaucoup de vidéos expliquant comment il fonctionne, et beaucoup d'autres choses.

/go?link=http://www.ideaeconomics.org/minsky/

Dossiers :
 
ProfSteveKeen
ProfSteveKeen
  • www.youtube.com
Rethinking Economics at the London School of Economics I was invited by the Rethinking Economics student association at the London School of Economics to give a talk about Greece, Austerity, Post Keynesian Economics and anticipating the crisis. There...
 
Et pour les sous-développés, en langage lisible
 
Vinin:
Et pour les sous-développés dans un langage facile à comprendre

Pour les Allemands :)

https://translate.google.com.ua/translate?sl=en&tl=ru&js=y&prev=_t&hl=ru&ie=UTF-8&u=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FSteve_Keen&edit-text=

 
gpwr:

La tâche consiste donc à prédire l'indice S&P 500 sur la base des indicateurs économiques disponibles.

Étape 1 : Trouvez les indicateurs. Les indicateurs sont accessibles au public à l'adresse suivante : http://research.stlouisfed.org/fred2/. Ils sont au nombre de 240 000. La plus importante est la croissance du PIB. Cet indicateur est calculé chaque trimestre. Notre étape est donc de 3 mois. Tous les indicateurs à court terme sont recalculés à 3 mois, les autres (annuels) sont rejetés. Nous éliminons également les indicateurs pour tous les pays, à l'exception des États-Unis, et les indicateurs qui n'ont pas un historique profond (au moins 15 ans). Nous passons donc laborieusement au crible un tas d'indicateurs, et obtenons environ 10 000 indicateurs. Formulons une tâche plus spécifique pour prédire l'indice S&P 500 pour un ou deux trimestres à venir, en disposant de 10 000 indicateurs économiques avec une période trimestrielle. Je fais tout dans Matlab, mais il est également possible de le faire dans R.

Étape 2 : Convertir toutes les données en une forme stationnaire en les différenciant et en les normalisant. Il y a beaucoup de méthodes. L'essentiel est que les données transformées puissent être récupérées à partir des données originales. Aucun modèle ne fonctionne sans stationnarité. La série S&P 500 avant et après transformation est présentée ci-dessous.

Étape 3 : Choisissez un modèle. Vous pourriez avoir un réseau neuronal. Il peut s'agir d'unerégression linéaire multivariable. Peut être une régression polynomiale multi-variable. Après avoir essayé des modèles linéaires et non linéaires, nous concluons que les données sont si bruyantes qu'il est inutile d'ajuster un modèle non linéaire car le graphique y(x) où y = S&P 500 et x = un des 10 000 indicateurs est presque un nuage rond. Ainsi, nous formulons la tâche de manière encore plus concrète : prédire l'indice S&P 500 pour un ou deux trimestres à venir en disposant de 10 mille indicateurs économiques avec une période trimestrielle, en utilisant la régression linéaire multivariable.

Étape 4 : Sélectionner les indicateurs économiques les plus importants parmi 10 000 (réduire la dimension du problème). C'est l'étape la plus importante et la plus difficile. Supposons que nous prenions l'historique du S&P 500 qui s'étend sur 30 ans (120 trimestres). Afin de représenter le S&P 500 comme une combinaison linéaire de divers indicateurs économiques, il suffit de disposer de 120 indicateurs pour décrire avec précision le S&P 500 au cours de ces 30 années. De plus, les indicateurs peuvent être absolument n'importe quel type d'indicateurs, afin de créer un modèle aussi précis de 120 indicateurs et 120 valeurs du S&P 500. Ainsi, nous réduirons le nombre d'entrées en dessous du nombre de valeurs de fonctions décrites. Par exemple, nous recherchons 10 à 20 indicateurs/entrées les plus importants. De telles tâches consistant à décrire des données par un petit nombre d'entrées sélectionnées parmi un grand nombre de bases candidates (dictionnaire) sont appelées codage clairsemé.

Il existe de nombreuses méthodes de sélection des entrées du prédicteur. Je les ai tous essayés. Voici les deux principales :

  1. Nous classons toutes les données 10k par leur capacité de prédiction du S&P 500. La capacité prédictive peut être mesurée par le coefficient de corrélation ou l'information mutuelle.
  2. Examinons les 10 000 indicateurs un par un et sélectionnons celui qui a donné le modèle linéaire y_mod = a + b*x1 décrivant le S&P 500 avec l'erreur minimale. Puis nous sélectionnons à nouveau la deuxième entrée en essayant les 10 mille -1 indicateurs restants de façon à ce qu'elle décrive le résidu y - y_mod = c + d*x2 avec l'erreur minimale. Et ainsi de suite. Cette méthode est appelée régression par étapes ou recherche d'appariement.

Voici les 10 premiers indicateurs ayant le coefficient de corrélation maximal avec le S&P 500 :

ID de la série Lag Corr Info Mut
PPICRM 2 0.315 0.102
CWUR0000SEHE 2 0.283 0.122
CES1021000001 1 0.263 0.095
B115RC1Q027SBEA ". 2 0.262 0.102
CES1000000034 1 0.261 0.105
"A371RD3Q086SBEA 2 0.260 0.085
B115RC1Q027SBEA ". 1 0.256 0.102
CUUR0000SAF111 1 0.252 0.117
"CUUR0000SEHE". 2 0.251 0.098
USMINE 1 0.250 0.102

Voici les 10 principaux indicateurs présentant une information mutuelle maximale avec le S&P 500 :

ID de la série Lag Corr Info Mut
CPILEGSL 3 0.061 0.136
"B701RC1Q027SBEA 3 0.038 0.136
CUSR0000SAS 3 0.043 0.134
GDPPOT 3 0.003 0.134
NGDPPOT 5 0.102 0.134
OTHSEC 4 0.168 0.133
3 "LNU01300060". 3 0.046 0.132
LRAC25TTUSM156N 3 0.046 0.132
'LRAC25TTUSQ156N' (EN ANGLAIS) 3 0.046 0.131
CUSR0000SAS 1 0.130 0.131

Lag est le retard de la série d'entrée par rapport à la série simulée du S&P 500. Comme vous pouvez le voir dans ces tableaux, différentes méthodes de sélection des entrées les plus importantes donnent lieu à différents ensembles d'entrées. Comme mon objectif ultime est de minimiser l'erreur du modèle, j'ai choisi la deuxième méthode de sélection des entrées, c'est-à-dire l'énumération de toutes les entrées et la sélection de l'entrée qui donne la plus petite erreur.

Étape 5 : Choisissez une méthode pour calculer l'erreur et les coefficients du modèle. La méthode la plus simple est la méthode RMS, c'est pourquoi la régression linéaire utilisant cette méthode est si populaire. Le problème de la méthode RMS est qu'elle est sensible aux valeurs aberrantes, c'est-à-dire que ces valeurs aberrantes ont un effet significatif sur les coefficients du modèle. Pour réduire cette sensibilité, la somme des valeurs absolues des erreurs peut être utilisée au lieu de la somme des carrés des erreurs, ce qui conduit à une méthode des moindres modules (LMM) ou à une régression robuste. Cette méthode n'a pas de solution analytique pour les coefficients du modèle, contrairement à la régression linéaire. Habituellement, les modules sont remplacés par des fonctions d'approximation lisses/différentiables et la solution est numérique et longue. J'ai essayé les deux méthodes (régression linéaire et LNM) et je n'ai pas remarqué d'avantage particulier pour la LNM. Au lieu de DOM, j'ai pris un chemin détourné. A la deuxième étape d'obtention de données stationnaires en les différenciant, j'ai ajouté une opération de normalisation non linéaire. C'est-à-dire que les séries originales x[1], x[2], ... x[i-1], x[i] ... est d'abord converti en une série de différences x[2]-x[1] ... x[i]-x[i-1] ... puis chaque différence est normalisée en la remplaçant par sign(x[i]-x[i-1])*abs(x[i]-x[i-1])^u, où 0 < u < 1. Lorsque u=1, nous obtenons la méthode classique RMS avec sa sensibilité aux valeurs aberrantes. A u=0, toutes les valeurs des séries d'entrée sont remplacées par des valeurs binaires +/-1 avec presque aucune valeur aberrante. À u=0,5, nous obtenons quelque chose de proche de RMS. La valeur optimale de u se situe entre 0,5 et 1.

Notez que l'une des méthodes populaires de conversion des données en une forme stationnaire consiste à remplacer les valeurs de la série par la différence des logarithmes de ces valeurs, c'est-à-dire log(x[i]) - log(x[i-1]) ou log(x[i]/x[i-1]). Le choix de cette transformation est dangereux dans mon cas car il y a beaucoup de lignes avec des valeurs nulles et négatives dans le dictionnaire de 10k entrées. Le logarithme a également l'avantage de réduire la sensibilité de la méthode RMS aux valeurs aberrantes. Ainsi, ma fonction de transformation sign(x)*|x|^u a le même objectif que log(x) mais sans les problèmes associés aux valeurs nulles et négatives.

Étape 6 : Nous calculons la prédiction du modèle en ajustant les nouvelles données d'entrée et en calculant la sortie du modèle en utilisant les mêmes coefficients de modèle que ceux trouvés par la régression linéaire dans la section historique précédente. Il est important de se rappeler que les indicateurs économiques trimestriels et les valeurs du S&P 500 arrivent presque simultanément (dans les 3 mois). Par conséquent, afin de prédire le S&P 500 pour le trimestre suivant, le modèle doit être construit entre la valeur trimestrielle actuelle du S&P 500 et les entrées retardées d'au moins un trimestre (Lag>=1). Pour prévoir le S&P 500 un trimestre à l'avance, le modèle doit être construit entre la valeur trimestrielle actuelle du S&P 500 et des données retardées d'au moins 2 trimestres (Lag>=2). Et ainsi de suite. La précision des prédictions diminue considérablement avec des retards supérieurs à 2.

Étape 7 : Vérifiez l'exactitude des prédictions sur l'historique précédent. La méthodologie originale décrite ci-dessus (écrire chaque entrée dans l'historique précédent, choisir l'entrée avec la valeur RMS la plus basse, et utiliser la nouvelle valeur de cette entrée pour faire la prédiction) donnait des résultats encore plus mauvais que les prédictions aléatoires ou nulles. Je me suis posé la question suivante : pourquoi une donnée qui s'adapte bien au passé devrait-elle avoir une bonne capacité de prédiction du futur ? Il est judicieux de sélectionner les entrées du modèle en fonction de leur erreur de prédiction antérieure, plutôt qu'en fonction de la plus petite erreur de régression sur des données connues.

Après tout, mon modèle peut être décrit étape par étape comme ceci :

  1. Nous téléchargeons les données économiques de stlouisfed (environ 10k indicateurs).
  2. Transformer les données en une forme stationnaire et les normaliser.
  3. Sélectionnez un modèle linéaire de l'indice S&P 500, résolu analytiquement par la méthode RMS (régression linéaire).
  4. Nous choisissons la durée de l'historique (1960 - Q2 2015) et la divisons en une période de formation (1960 - Q4 1999) et une période de test (Q1 2000 - Q2 2015).
  5. Nous commençons les prédictions avec 1960 + N + 1 années, où N*4 est le nombre initial de valeurs trimestrielles connues du S&P 500.
  6. A partir des N premières données, un modèle linéaire y_mod = a + b*x est construit pour chaque indicateur économique, où y_mod est le modèle S&P 500 et x est un des indicateurs économiques.
  7. Nous prévoyons N + 1 barres avec chaque modèle.
  8. Calculer les erreurs de prédiction de N + 1 barres par chaque modèle. Souvenez-vous de ces erreurs.
  9. Nous augmentons le nombre de valeurs connues du S&P 500 de 1, c'est-à-dire N + 1, et répétons les étapes 6 à 9 jusqu'à ce que nous atteignions la fin de la période d'apprentissage (Q4 1999). A ce stade, nous avons mémorisé les erreurs de prédiction de 1960 + N +1 ans au T4 1999 pour chaque indicateur économique.
  10. Nous commençons à tester le modèle sur le deuxième intervalle historique (Q1 2000 - Q2 2015).
  11. Pour chacune des 10 000 entrées, nous calculons l'erreur quadratique moyenne des prédictions pour la période 1960 - Q4 1999.
  12. Parmi 10 000 entrées, choisissez celle qui présente l'erreur de prédiction RMS la plus faible de 1960 à Q4 1999.
  13. Nous construisons un modèle linéaire y_mod = a + b*x pour chaque indicateur économique pour 1960 - Q4 1999.
  14. Nous prévoyons le premier trimestre 2000 pour chaque modèle.
  15. Nous sélectionnons la prédiction de l'entrée sélectionnée avec le RMS le plus bas des prédictions de la période précédente (1960 - Q4 1999) comme notre prédiction principale de Q1 2000.
  16. Calculez les erreurs de prédiction de toutes les entrées sur Q1 2000 et ajoutez-les aux RMS des mêmes entrées dans l'intervalle de temps précédent (1960 - Q4 1999).
  17. Nous passons à Q2 2000 et répétons les étapes 12-17 jusqu'à ce que nous atteignions la fin de la section de test (Q2 2015) avec une valeur inconnue du S&P 500, dont la prédiction est notre objectif principal.
  18. Nous accumulons les erreurs de prédiction pour Q1 2000 - Q4 2014 faites par les entrées avec le RMS le plus bas des prédictions dans les segments précédents. Cette erreur (err2) est notre modèle d'erreur de prédiction hors échantillon.

En bref, le choix du prédicteur dépend de son RMS de prédictions des valeurs précédentes du S&P 500. Il n'y a pas de regard vers l'avenir. Le prédicteur peut changer au fil du temps, mais à la fin du segment d'essai, il cesse fondamentalement de changer. Mon modèle a choisi le PPICRM avec un décalage de 2 trimestres comme première entrée pour prévoir le T2 2015. La régression linéaire du S&P 500 par l'entrée PPICRM(2) sélectionnée pour 1960 - Q4 2014 est présentée ci-dessous. Les cercles noirs représentent la régression linéaire. Les cercles multicolores correspondent aux données historiques pour la période 1960 - Q4 2014. La couleur du cercle indique l'heure.


Prédictions du S&P 500 sous forme stationnaire (ligne rouge) :

Prévisions du S&P 500 sous forme brute (ligne rouge) :

Le graphique montre que le modèle prévoit une hausse du S&P 500 au deuxième trimestre 2015. L'ajout d'une deuxième entrée augmente l'erreur de prédiction :

1 err1=0,900298 err2=0,938355 PPICRM (2)

2 err1=0,881910 err2=0,978233 PERMIT1 (4)

Où err1 est l'erreur de régression. Elle diminue évidemment avec l'ajout de la deuxième entrée. err2 est l'erreur quadratique moyenne de prédiction divisée par l'erreur de prédiction aléatoire. Donc err2>=1 signifie que la prédiction de mon modèle n'est pas meilleure que les prédictions aléatoires. err2<1 signifie que la prédiction de mon modèle est meilleure que les prédictions aléatoires.

PPICRM = Indice des prix à la production : matières brutes pour transformation ultérieure

PERMIT1 = Nouvelles unités de logement privées autorisées par des permis de construire - dans des structures comportant 1 unité.

Le modèle décrit ci-dessus peut être reformulé comme suit. Nous réunissons 10 000 économistes et leur demandons de prédire le marché pour le trimestre à venir. Chaque économiste fait part de ses prédictions. Mais au lieu de choisir une prédiction basée sur le nombre de manuels scolaires qu'ils ont écrits ou de prix Nobel qu'ils ont reçus dans le passé, nous attendons quelques années, en recueillant leurs prédictions. Après un nombre important de prédictions, nous voyons quel économiste est le plus précis, et nous commençons à croire ses prédictions jusqu'à ce qu'un autre économiste les surpasse en précision.

La réponse est simple : négociez sur des échelles de temps annuelles.....
 
IvanIvanov:
La réponse est simple : négociez sur des échelles de temps annuelles.....
C'est une blague ?
 
gpwr:
C'est une blague ?

:-) je ne sais pas.... si l'analyse est sur years..... je ne sais pas sur quoi trader... Sur la M5, il est peu probable que cela ait un effet pratique...

En option, essayez d'appliquer votre analyse à H4...

 

gpwr:

...Après un nombre significatif de prédictions, nous voyons quel économiste est le plus précis et nous commençons à croire ses prédictions jusqu'à ce qu'un autre économiste le surpasse en précision...


Mmmm, ça contredit un peu Taleb avec son cygne noir. Comment des économistes qui prédisent bien dans un environnement peuvent-ils prédire un effondrement ?

Je ne veux pas dire comment, mais pourquoi cela va-t-il se produire ? Parce qu'ils sont pratiquement sûrs d'avoir raison, pourquoi voudraient-ils réviser ce droit, de sorte que nous avons des lemmings qui se précipitent avec enthousiasme dans l'abîme.

 

Voici l'article de Keane sur son modèle :

http://keenomics.s3.amazonaws.com/debtdeflation_media/papers/PaperPrePublicationProof.pdf

Même si je dois dire d'emblée que je n'aime pas son modèle. Son objectif est d'expliquer les cycles et les effondrements économiques, et non de prédire avec précision le marché ou les performances économiques en tant que PIB. Par exemple, son modèle prévoyait que l'augmentation de la dette des ménages entraînerait l'effondrement de l'économie. Mais quand exactement son modèle a-t-il prédit. Elle n'est pas non plus capable de prédire ce qui se passera après l'effondrement. Toutes ses courbes théoriques vont à l'infini et y restent indéfiniment, bien que le marché et l'économie des États-Unis se soient redressés en 2009. C'est sans doute pour cela qu'il continue à être très négatif à propos de cette reprise, qu'il n'y croit pas et qu'il affirme qu'une grande dépression pire que celle qui a duré deux décennies au Japon est à venir. Je pense que c'est le problème de tous les modèles économiques dynamiques : ils sont difficiles à stabiliser et s'ils deviennent instables, ils se bloquent et ne peuvent plus prédire l'avenir. Bien qu'un célèbre fonds spéculatif ait engagé Kean comme conseiller économique.

Raison: