Prédiction du marché basée sur des indicateurs macroéconomiques - page 56
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
3 : Rendements de titres de différentes échéances, plus un autre.
Taux annuel en pourcentage pour l'achat et la conservation, de 1974 à aujourd'hui : TAEG = 7,35%.
Stratégie d'achat et de vente à l'aide d'indicateurs économiques : TAEG = 13,18 %.
Cette stratégie a donné un signal de vente en décembre 2019. Aucun signal d'achat n'a été donné jusqu'à présent. Apparemment, le marché va baisser.
Achetez et gardez.
Il serait intéressant de voir un test avancé d'un tel modèle, mais ce n'est pas possible ici.
Pour l'instant, d'après ce que je comprends, tout le monde attend les élections.
3 : Rendements de titres de différentes échéances, plus un.
Taux annuel en pourcentage pour l'achat et la conservation, 1974 - aujourd'hui : TAEG = 7,35%.
Stratégie d'achat et de vente à l'aide d'indicateurs économiques : TAEG = 13,18 %.
Cette stratégie a donné un signal de vente en décembre 2019. Aucun signal d'achat n'a été donné jusqu'à présent. Apparemment, le marché va baisser.
S'agit-il d'un instrument spécifique ou d'un indicateur général ?
Ainsi, la tâche consiste à 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 ici : http://research.stlouisfed.org/fred2/ Il en existe 240 000. Le plus important est la croissance du PIB. Cet indicateur est calculé chaque trimestre. D'où notre étape - 3 mois. Tous les indicateurs pour une période plus courte sont recalculés pour une période de 3 mois, le reste (annuel) est rejeté. Nous écartons également les indicateurs pour tous les pays sauf les États-Unis et les indicateurs qui n'ont pas une histoire profonde (au moins 15 ans). Ainsi, avec un travail minutieux, nous filtrons un tas d'indicateurs et obtenons environ 10 000 indicateurs. Nous formulons une tâche plus spécifique consistant à prédire l'indice S&P 500 un ou deux trimestres à l'avance, en ayant 10 000 indicateurs économiques disponibles avec une période trimestrielle. Je fais tout en MatLab, même si c'est possible en R.
Étape 2 : Convertir toutes les données sous forme stationnaire par différenciation et normalisation. Il existe de nombreuses méthodes ici. L'essentiel est que les données d'origine puissent être restaurées à partir des données converties. Sans stationnarité, aucun modèle ne fonctionnera. La série S&P 500 avant et après la conversion est présentée ci-dessous.
Étape 3 : Choisissez un modèle. Peut-être un réseau de neurones. On peut faire une régression linéaire multi-variable. Vous pouvez faire une régression polynomiale multivariable. Après avoir testé des modèles linéaires et non linéaires, nous arrivons à la conclusion que les données sont si bruyantes qu'il est insensé d'entrer dans un modèle non linéaire. Le graphique y(x), où y = S&P 500 et x = l'un des 10 000 indicateurs, est un nuage presque circulaire. Ainsi, nous formulons la tâche encore plus précisément : prédire l'indice S&P 500 un ou deux trimestres à l'avance, en ayant 10 000 indicateurs économiques avec une période trimestrielle, en utilisant une régression linéaire multivariable.
Étape 4 : Nous sélectionnons 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. Disons que nous prenons l'histoire du S&P 500 aussi longue que 30 ans (120 trimestres). Pour représenter le S&P 500 comme une combinaison linéaire d'indicateurs économiques de natures diverses, il suffit de disposer de 120 indicateurs pour décrire précisément le S&P 500 sur ces 30 années. De plus, les indicateurs peuvent être absolument quelconques afin de créer un modèle aussi précis de 120 indicateurs et 120 valeurs S&P 500. Vous devez donc réduire le nombre d'entrées en dessous du nombre de valeurs de fonction décrites. Par exemple, nous recherchons les 10 à 20 indicateurs d'entrée les plus importants. De telles tâches de description de données avec un petit nombre d'entrées sélectionnées parmi un grand nombre de bases candidates (dictionnaire) sont appelées codage parcimonieux.
Il existe de nombreuses méthodes pour sélectionner les entrées des prédicteurs. Je les ai tous essayés. Voici les deux principaux :
Voici le top 10 des indicateurs avec le coefficient de corrélation le plus élevé avec le S&P 500 :
Voici le top 10 des indicateurs avec le plus d'informations mutuelles avec le S&P 500 :
Le décalage est le retard de la série d'entrées par rapport à la série simulée du S&P 500. Comme on peut le voir dans ces tableaux, différentes méthodes de choix des entrées les plus importantes se traduisent par différents ensembles d'entrées. Étant donné que mon objectif ultime est de minimiser l'erreur de modèle, j'ai choisi la deuxième méthode de sélection d'entrée, c'est-à-dire énumération de toutes les entrées et sélection de l'entrée qui a donné le moins d'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 COEX, c'est pourquoi la régression linéaire utilisant cette méthode est si populaire. Le problème avec la méthode RMS est qu'elle est sensible aux valeurs aberrantes, c'est-à-dire ces valeurs aberrantes affectent significativement les coefficients du modèle. Pour réduire cette sensibilité, la somme des valeurs d'erreurs absolues peut être utilisée à la place de la somme des erreurs au carré, conduisant à la méthode des moindres modules (LSM) ou 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 effectuée par des méthodes numériques et prend beaucoup de temps. J'ai essayé les deux méthodes (régression maigre et MHM) et je n'ai pas remarqué beaucoup d'avantages de MHM. Au lieu de MHM, j'ai fait un détour. Dans 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. Autrement dit, la série d'origine x[1], x[2], ... x[i-1], x[i] ... est d'abord convertie 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. Pour u=1, on obtient la méthode COSE classique avec sa sensibilité aux valeurs aberrantes. À u = 0, toutes les valeurs de la série d'entrée sont remplacées par des valeurs binaires +/- 1 avec presque aucune valeur aberrante. Pour u=0.5, on obtient quelque chose proche de MNM. La valeur optimale de u se situe quelque part entre 0,5 et 1.
Il convient de noter que l'une des méthodes populaires pour convertir des données sous 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 d'une telle transformation est dangereux dans mon cas, car le dictionnaire de 10 000 entrées comporte de nombreuses lignes avec des valeurs nulles et négatives. Le logarithme a également l'avantage de réduire la sensibilité de la méthode RMS aux valeurs aberrantes.Essentiellement, ma fonction de transformation sign(x)*|x|^u a le même objectif que log(x), mais sans les problèmes associés à zéro et valeurs négatives.
Étape 6 : Calculez la prédiction du modèle en remplaçant les nouvelles données d'entrée et en calculant la sortie du modèle à l'aide des mêmes coefficients de modèle que ceux trouvés par régression linéaire dans les segments d'historique précédents. Ici, il est important de garder à l'esprit que les valeurs trimestrielles des indicateurs économiques et du S&P 500 arrivent presque simultanément (avec une précision de 3 mois). Par conséquent, afin de prédire le S&P 500 pour le prochain trimestre, le modèle doit être construit entre la valeur trimestrielle actuelle du S&P 500 et des entrées retardées d'au moins 1 trimestre (Lag>=1). Pour prédire le S&P 500 avec un trimestre d'avance, le modèle doit être construit entre la valeur trimestrielle actuelle du S&P 500 et des entrées retardées d'au moins 2 trimestres (Lag>=2). Etc. La précision des prédictions diminue de manière significative avec un retard croissant supérieur à 2.
Étape 7 : Vérifier l'exactitude des prédictions sur l'historique précédent. La technique originale décrite ci-dessus (mettre chaque entrée dans l'historique précédent, choisir l'entrée qui donne la plus petite MSE et calculer la prédiction à partir de la nouvelle valeur de cette entrée) a produit une prédiction MSD qui était encore pire que les prédictions aléatoires ou nulles. Je me suis posé cette question : pourquoi une entrée qui s'inscrit bien dans le passé devrait-elle avoir une bonne capacité de prévisibilité pour l'avenir ? Il est logique de sélectionner les entrées du modèle en fonction de leur erreur de prédiction précédente, plutôt qu'en fonction de la plus petite erreur de régression sur les données connues.
Au final, mon modèle peut être décrit pas à pas comme ceci :
En bref, le choix d'un prédicteur dépend de leur RMS des prédictions 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 de test, il cesse essentiellement de changer. Mon modèle a sélectionné PPICRM avec un décalage de 2 trimestres comme première entrée pour prédire Q2 2015. La régression linéaire du S&P 500 avec l'entrée PPICRM(2) sélectionnée pour 1960 - Q4 2014 est illustrée ci-dessous. Cercles noirs - régression linéaire. Cercles multicolores - données historiques pour 1960 - Q4 2014. La couleur du cercle indique l'heure.
Prédictions stationnaires du S&P 500 (ligne rouge) :
Prédictions S&P 500 sous forme brute (ligne rouge) :
Le graphique montre que le modèle prédit la croissance du S&P 500 au deuxième trimestre de 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 PERMIS1 (4)
où err1 est l'erreur de régression. Il est évident qu'il diminue dès l'ajout d'une seconde entrée. err2 est l'erreur de prédiction quadratique moyenne divisée par l'erreur de prédiction aléatoire. Autrement dit, 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 Permis de Construire - Dans des Structures avec 1 Unité
Le modèle décrit ci-dessus peut être reformulé de cette manière. Nous réunissons 10 000 économistes et leur demandons de prédire le marché pour le trimestre à venir. Chaque économiste fait sa propre prédiction. Mais au lieu de choisir une prédiction basée sur le nombre de manuels qu'ils ont écrits ou le nombre de prix Nobel qu'ils ont remportés dans le passé, nous attendons quelques années pour recueillir leurs prédictions. Après un nombre important de prédictions, nous voyons quel économiste est le plus précis et commençons à croire ses prédictions jusqu'à ce qu'un autre économiste le surpasse en précision.
Faux. Même si le sujet s'intitule "prévoir le marché sur la base d'indicateurs macroéconomiques", les indicateurs ne sont pas pertinents dans cette analyse. De simples variables substituées dans une formule après avoir été mathématiquement dépersonnalisées et désidentifiées de tous les liens sémantiques et logiques externes avec le monde. Des nombres secs, disposés en séries numériques abstraites, servent de modèle à un réseau neuronal, qui prédit... non, pas le marché, mais la même série numérique.
Il s'avère que l'analyse technique sur lesdonnées fondamentales.
L'analyse fondamentale n'est pas si simple.De nombreux facteurs influent sur les prix, qui ne relèvent pas des indicateurs économiques. Il s'agit des élections, du Brexit, de toutes sortes de rumeurs, etc. Ils peuvent influencer le prix plus que tous les indicateurs économiques.
Vous obtenez une analyse technique sur desdonnées fondamentales.
Ce n'est pas si simple avec l'analyse fondamentale.Il existe de nombreux facteurs influençant les prix qui ne relèvent pas des indicateurs économiques. Ce sont les élections, le Brexit, les rumeurs de toutes sortes, etc. Ils peuvent affecter le prix plus que tous les indicateurs économiques.
Pour Peter : Je ne prédis pas directement l'indice S&P500. L'objectif de ce document est de prédire les récessions afin de sortir du marché avant qu'elles ne surviennent et d'améliorer la rentabilité de la stratégie buy&hold. Bien que le S&P500 contienne les actions de 500 sociétés, il est piloté par des investisseurs institutionnels qui achètent et vendent l'indice lui-même (ou ses options), et non ses composants. 13 % par an, ça ne semble pas beaucoup, mais c'est suffisant pour les grosses sommes d'argent où la rotation est importante. Bernie Madoff a attiré ses clients en leur promettant un modeste 10 % par an, qu'il n'a pas réussi à atteindre.
A Uladzimir : Je suis d'accord que les fluctuations de prix dépendent de différents événements sociaux et politiques, élections, brexits, infections, etc. En fin de compte, tout se résume à l'offre et à la demande de produits/services, au chômage et à d'autres indicateurs de l'économie. Je ne me soucie pas des fluctuations quotidiennes des prix du marché. Même une simple stratégie d'achat et de conservation rapporte 7,4 % par an. Je tiens à éviter les positions longues pendant les récessions et à améliorer la rentabilité de cette stratégie. À propos, une autre stratégie consiste à acheter des biens immobiliers. Mais cela ne rapporte que 5 % par an, aux États-Unis.
Faux. Même si le sujet s'intitule "prévoir le marché sur la base d'indicateurs macroéconomiques", les indicateurs ne sont pas pertinents dans cette analyse. De simples variables substituées dans une formule après avoir été mathématiquement dépersonnalisées et désidentifiées de tous les liens sémantiques et logiques externes avec le monde. Des nombres secs, disposés en séries numériques abstraites, servent de modèle à un réseau neuronal, qui prédit... non, pas le marché, mais la même série numérique.
Alors, quelles sont les prévisions pour le S&P500 ?
Je suis désolé, mais tout ça pour 5-13% par an ??? Cela n'en vaut pas la peine).