Modèles de prévision avec mise à jour automatique

Le sujet de cette lettre d'information est la mise en place d'un modèle de prévision (par exemple, ARMA, GARCH, régression) de manière à ce que vous (ou quelqu'un d'autre) puissiez facilement le maintenir au fur et à mesure que de nouveaux points de données sont disponibles et que les prévisions sont mises à jour automatiquement.

Pour le démontrer, nous avons défini un modèle GARCH pour les rendements mensuels de l'ETF S&P 500, calibré les valeurs des paramètres et construit une structure à terme de prévision de la volatilité pour les 36 mois suivants. Nous avons ensuite introduit un nouveau point de données et observé le modèle avancer la date de début de la prévision et mettre à jour les valeurs de la prévision.

Pourquoi s'en préoccuper ?

Dans la pratique, nous créons de nombreux modèles basés sur Excel, certains à usage unique, mais de nombreuses feuilles de calcul sont souvent partagées avec des collègues, révisées occasionnellement et conservées pendant longtemps. Préparer votre feuille de calcul pour une mise à jour automatique est relativement simple. Une fois cela fait, vous pouvez facilement ajouter de nouveaux points de données ou réviser les points existants et voir vos calculs mis à jour avec un minimum d'effort.

C'est parti !

Préparation des données

Pour ce tutoriel, nous utilisons les rendements logarithmiques mensuels de l'ETF S&P 500 (SPY) entre janvier 2010 et novembre 2019 :

Cette figure montre les rendements logarithmiques mensuels du S&P 500 de janvier 2010 à novembre 2019. L'ensemble de données a une composante date et une valeur.

Tout d'abord, nous devons ajouter des espaces réservés à l'ensemble de données actuel. Pour ce faire, nous avançons les dates (par exemple, déc. 2019, janv. 2019) et saisissons "#N/A" comme valeur.

Dans cette figure, nous montrons le processus d'ajout de points de données à la fin de l'ensemble de données de la série temporelle. Chaque nouveau point de données a une date valide et une valeur de #N/A.

Modélisation

Nous avons choisi un GARCH(2,2) avec les innovations de l'étudiant pour capturer la dynamique de la volatilité mensuelle variable dans le temps pour cet ensemble de données. Pour définir le modèle, localisez une cellule vide dans votre feuille de calcul, puis cliquez sur l'icône "GARCH" dans la barre d'outils "NumXL", et l'assistant GARCH apparaît.

Dans cette figure, nous montrons l'assistant GARCH affiché. L'ensemble de données d'entrée fait référence à la plage de cellules des séries temporelles d'entrée, y compris les points de données de remplacement insérés à la fin de l'ensemble de données.

Dans la section "Données d'entrée", sélectionnez la plage de cellules des rendements mensuels, y compris les espaces réservés que vous avez ajoutés précédemment. Ne vous inquiétez pas, les fonctions NumXL écarteront les observations avec des valeurs "#N/A" aux deux extrémités de la plage de cellules d'entrée.

Sélectionnez ARCH et GARCH dans la section Spécifications du modèle et réglez l'ordre sur 2. Cliquez sur "Student t-distribution" dans la section innovations. Cliquez ensuite sur le bouton "OK" pour confirmer votre sélection.

Cette figure montre le tableau du modèle GARCH(2,2), tel qu'il a été généré par l'assistant GARCH de NumXL.

L'assistant GARCH génère la table de modèle et initialise les valeurs de ses paramètres à des valeurs valides mais sous-optimales. Pour trouver un ensemble optimal de valeurs pour les paramètres GARCH, sélectionnez la cellule d'en-tête de la table de modèle et cliquez sur l'icône "Calibrer" dans la barre d'outils "NumXL". Microsoft Solver s'affiche avec toutes ses valeurs définies. Cliquez sur Solve

Cette figure montre le solveur Microsoft avec les valeurs initialisées pour optimiser la qualité de l'ajustement du modèle GARCH avec l'ensemble des données.

Le solveur Microsoft recherche une solution optimale pour le processus GARCH.

Cette figure montre les fenêtres de résultats du Solveur après qu'il ait trouvé une solution optimale.

Exploration des données

Nous avons mentionné précédemment que les fonctions NumXL écartent toute observation dans la plage de cellules d'entrée dont la valeur est égale à "#N/A". Comment savoir où se termine l'ensemble de données ?

Pour répondre à la question ci-dessus, vous devez d'abord calculer la taille de l'ensemble de données à l'aide de deux fonctions : RMNA(.) et COUNT(.). La fonction RMNA(.) écarte les points de données avec "#N/A" et renvoie un tableau de toutes les observations non manquantes, et la fonction COUNT(.) renvoie la taille de ce tableau.

Cette figure montre la formule de calcul de la taille effective de l'ensemble de données d'entrée à l'aide des fonctions COUNT et RMNA.

Vous pouvez également calculer la date de fin de l'ensemble de données en utilisant la fonction INDEX(.) intégrée à Excel et la taille de l'ensemble de données ci-dessus.

Cette figure montre la formule de calcul de la date de la dernière observation avec une valeur non manquante dans notre ensemble de données en utilisant la fonction INDEX et la taille effective de l'ensemble de données d'entrée.

En résumé, vous avez un ensemble de données de 119 valeurs non manquantes, et la dernière observation est tombée en novembre 2019.

Prévisions

pour ce tutoriel, vous devez construire la prévision de volatilité mensuelle pour les 36 mois à venir. Pour ce faire, sélectionnez la ligne d'en-tête de la table de modèle et cliquez sur l'icône "Prévision" dans la barre d'outils NumXL.

Cette figure montre l'assistant de prévision pour le modèle GARCH. Notez que la dernière observation fait référence à l'ensemble des données d'entrée, y compris les points de données de remplacement.

Dans la section "Obs. les plus récentes", sélectionnez la plage de cellules de la colonne "B", y compris l'observation avec des valeurs manquantes (c.-à-d. #N/A).

Pour la volatilité, laissez le champ vide et NumXL utilisera la volatilité en échantillon calculée par le modèle GARCH lui-même. Cliquez sur le bouton "OK".

L'assistant de prévision génère un tableau de prévision qui exprime l'unité de temps en termes d'étapes (c'est-à-dire de mois) mesurées après la fin de l'ensemble de données d'entrée.

Cette figure montre le tableau de prévision généré par l'assistant NumXL pour les 36 mois suivants. Notez qu'il utilise le pas (par exemple, le mois) comme unité de temps.

Au fil du temps, l'ajout de nouveaux points de données avance la date de la dernière observation (avec valeur non manquante), ce qui a un impact sur notre interprétation de l'unité d'étape dans le tableau de prévision. Pour remédier à ce problème, nous avons ajouté une colonne à gauche du tableau de prévision pour désigner la date calendaire correspondante.

Pour calculer la date correspondante à chaque étape, nous utilisons les fonctions NxEDATE(.) et CONCAT(.), comme indiqué ci-dessous :

Cette figure présente la formule de calcul de la date calendaire pour chaque période du tableau de prévision à l'aide de la fonction NxEDATE.

En utilisant la date de fin de l'ensemble de données, la fonction NxEDATE(.) renvoie les données qui tombent après N mois, où N est le nombre d'étapes du tableau de prévision.

Que se passe-t-il si les nouvelles données tombent un week-end ou un jour férié ? Comme notre jeu de données est une série temporelle financière, la date doit tomber un jour ouvrable ; sinon, déplacez la date à la date ouvrable la plus proche (NxAdjust(.)).

Cette figure montre la formule d'ajustement de la date calculée au jour ouvrable le plus proche à l'aide de la fonction NxAdjust(.).

C'est tout ! Examinons le tableau des prévisions et la courbe de structure par terme de la volatilité mensuelle.

Cette figure montre le tableau de prévision avec une colonne de calendrier et une prévision de la structure à terme de la volatilité pour les 36 mois suivants.

Le modèle GARCH révèle un environnement de faible volatilité - par rapport au niveau historique (c'est-à-dire 3,8 %) - mais prévoit une augmentation constante de la volatilité au cours de l'année à venir.

Ajouter des points de données

Examinons ce qui se passe lorsque nous avons le rendement mensuel de décembre 2019, disons -0,6 %.

Étape 1: Saisir la nouvelle valeur dans l'ensemble de données.

Cette figure montre le processus d'insertion d'un nouveau point de données et de remplacement d'un espace réservé donné.

Étape 2: Observateur

Cette figure montre le calcul actualisé de la taille de l'ensemble de données et de la date de fin, ainsi que le tableau de prévision et la courbe de structure à terme de la volatilité.

La taille du jeu de données d'entrée est passée à 120, et la date de fin est désormais fixée à décembre 2019.

Dans le tableau des prévisions, la date correspondant à la première étape est désormais janvier 2020 (contre décembre 2019), et la structure à terme de la volatilité est différente (moins lisse).

Étape 3: Avancé

Le tableau de prévisions ci-dessus utilise le même processus GARCH que nous avons calibré précédemment, en particulier la valeur des paramètres.

Pour les besoins de l'argumentation, supposons que vous souhaitiez recalibrer le modèle tout en conservant les ordres ARCH/GARCH (c.-à-d. P et Q) et la distribution de l'innovation (par exemple, t de l'étudiant).

Comme nous l'avons fait précédemment, localisez et sélectionnez la ligne d'en-tête du tableau du modèle GARCH et cliquez sur l'icône "Calibrer" dans la barre d'outils NumXL.

Le solveur s'affiche, mais cette fois, l'optimisation démarre (c'est-à-dire la valeur initiale) avec les valeurs optimales des paramètres de la dernière exécution. Nous nous attendons donc à une conversion rapide.

Cette figure illustre le processus de recalibrage du modèle GARCH à l'aide d'un ensemble de données comportant un nouveau point de données.

Cliquez sur le bouton "Solveur" pour lancer le processus d'optimisation.

Une fois l'opération terminée, le Solveur affiche une boîte de dialogue "Trouver la solution". Cliquez sur le bouton OK, et les valeurs des nouveaux paramètres seront copiées dans la table du modèle.

Pour examiner l'impact du recalibrage sur vos prévisions, regardez les valeurs de vos prévisions dans le tableau (et le graphique).

Conclusion

Dans ce tutoriel, nous avons examiné les deux étapes de la configuration de vos modèles pour la mise à jour automatique :

  • Ajout de points de données de remplacement à la fin de l'ensemble de données d'entrée,
  • Sélectionnez l'ensemble de données contenant les points de données fictifs dans le modèle et les prévisions.

Au fur et à mesure que le temps passe et que de nouvelles observations sont réalisées, nous saisissons leurs valeurs réelles dans l'ensemble de données (à la place du #N/A), et Excel met à jour le calcul de toutes les cellules de référence (par exemple, le tableau des prévisions).

  Pièces jointes

Commentaires

Vous devez vous connecter pour laisser un commentaire.

Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 1 sur 1