7 Conditions intiales et Terminales sur Dynare
Transcription
7 Conditions intiales et Terminales sur Dynare
OOO FTL LAREQ Publication C ONDITIONS INITIALES ET TERMINALES SUR Auteur(s) : Israël Makambo Monga & Jean – Paul K. Tsasa Vangu Source : Laboratoire d’analyse – recherche en économie quantitative Publié par : LAREQ Publication D YNARE Volume : Série alpha-I, numéro 7 [pp. 58 – 65] Web : http://www.lareq.com Courriel : [email protected] Soumission : Juillet 26, 2013 Publication : Janvier 25, 2014 Le LAREQ Publication collabore avec Makroeconomica Review dans la production et la diffusion de la série des fiches techniques Lareq (FTL). MAKROECONOMICA REVIEW Web : http://www.makroeconomica.org Vous pouvez utiliser le contenu des FTL uniquement pour un usage personnel et non – commercial. Si vous désirez exploiter tout le contenu de cette fiche, s'il vous plaît, citer la source. Pour un usage commercial, prière contacter l'éditeur pour en obtenir l’autorisation, en vous dirigeant à l’adresse suivante : http://www.makroeconomica.org/contact.ws. MAKROECONOMICA REVIEW travaille en collaboration avec le Laboratoire d'analyse-recherche en économie quantitative et le réseau congolais de recherche en économie quantitative dans l'objectif de contribuer à la construction d’une plate-forme de recherche commune qui favorise la découverte et l'utilisation de ces ressources au sein des universités africaines. Pour plus d'informations sur MAKROECONOMICA, s'il vous plaît, contactez : [email protected]. Résumé1 Cette série de fiches techniques (alpha–I) propose une introduction à la modélisation DSGE et une initiation à la plateforme logicielle Dynare et aux logiciels Dynare++ et MatLab. L’ensemble de publications dans le cadre de cette série, une fois complété, sera diffusé dans un document unique sous forme d’un manuel d’initiation. Dans ce cadre, la présente fiche (FTL alpha-‐I.7) s’inscrit dans la suite de la sixième fiche, consacrée à la description des instructions qu’a besoin l’utilisateur pour déclarer son modèle sur la plateforme logicielle Dynare. Puisque dans les exercices de simulations des modèles DSGE, il est important que l’utilisateur définisse les conditions initiales et terminales, ainsi, dans la 1 L’utilisateur désirant accéder au manuel de référence Dynare, peut se diriger au site internet suivant : http://www.dynare.org. présente fiche, nous nous attachons à montrer comment cette opération peut être faite sur Dynare. I. Introduction Dans la plupart d’exercices de simulation, notamment des modèles DSGE, il est nécessaire de fournir des conditions initiales et de fois, les conditions terminales. Aussi, il est nécessaire de préciser les valeurs des conditions initiales notamment, lorsqu’on recourt aux solveurs non linéaires. Ainsi, la présente fiche se propose de présenter les instructions qui permettent d’administrer ces conditions initiales et terminales sur la plateforme Dynare. Dans de nombreux contextes (déterministes ou stochastiques), il est nécessaire de calculer l’état stationnaire d’un modèle non linéaire. En effet, sur Dynare, on sert de l’instruction initval afin de spécifier les valeurs initiales numériques du solveur non linéaire. Et la commande resid peut être utilisée pour calculer les résidus de l’équation pour les valeurs initiales données. Par ailleurs, il vient qu’en utilisant sous l’hypothèse de prévision parfaite, les modèles d’anticipation (forward – looking models), pour qui le logiciel Dynare a été conçu, l’utilisateur est appelé à déterminer à la fois les conditions initiales et terminales. Et généralement, et donc pas nécessairement, ces conditions initiales et terminales sont définies comme des équilibres statiques. Une application typique est de : ⎯ considérer une économie à l’équilibre ; ⎯ ensuite, déclencher un choc à la première période ; ⎯ et enfin, étudier la trajectoire de retour à l’équilibre initial. Pour ce faire, on a besoin des blocs initval et shocks. Une autre application est celle consistant à étudier comment une économie, à partir des conditions initiales arbitraires, converge vers l’équilibre. De même, il faut initval et endval. Pour les modèles avec retards (décalages) sur plus d’une période, le bloc histval permet de spécifier les différents historiques des valeurs initiales pour les périodes avant le début de la simulation. Fiche technique Laréq, Série alpha–I, Num. 7, pp. 58 – 65 Israël Makambo & Jean-Paul K. Tsasa 59 II. Bloc initval initval; [Bloc] Le bloc initval sert à deux fins : ⎯ déclarer les conditions initiales, et de fois terminales, dans un exercice de simulation ; ⎯ fournir des valeurs initiales pour les solveurs non linéaires. Lee bloc initval se termine par « end; », et contient des lignes de la forme : VARIABLE_NAME = EXPRESSION; « initval » dans un modèle déterministe : ⎯ Premièrement, ce bloc fournit les conditions initiales pour toutes les variables endogènes et exogènes à toutes les périodes précédant la première période de simulation, sauf si certaines de ces valeurs initiales sont modifiées par histval. ⎯ Deuxièmement, en l'absence du bloc endval, le bloc initval définit les conditions terminales pour l'ensemble des périodes succédant la dernière période de simulation. ⎯ Troisièmement, en l'absence du bloc endval, initval fournit des valeurs de condition initiale à toutes les dates de simulation pour le solveur non linéaire mis en œuvre dans simul. ⎯ Quatrièmement, il est nécessaire de fournir des valeurs pour toutes les variables endogènes dans un bloc initval, même si, en théorie, les conditions initiales ne sont nécessaires que pour les variables retardées. Si certaines variables, endogènes ou exogènes, ne sont pas mentionnées dans le bloc initval, une valeur nulle est supposé par défaut. Par ailleurs, à noter que si le bloc initval est immédiatement suivi d'une commande steady, sa sémantique sera modifiée. En effet, la commande steady va calculer l'état stationnaire du modèle pour toutes les variables endogènes, en supposant que les variables exogènes sont maintenus constants à la valeur déclarée dans le bloc initval, et en utilisant les valeurs déclarées pour les variables endogènes comme des valeurs initiales pour le solveur non linéaire. Un bloc initval suivi la commande steady est formellement équivalent à un bloc initval avec les mêmes valeurs pour les variables exogènes, et avec les valeurs des variables endogènes correspondant à l'état stationnaire. 60 Israël Makambo & Jean-Paul K. Tsasa Conditions initiales et terminales sur Dynare « initval » dans un modèle stochastique : Dans ce cas, le but principal de initval est de fournir des valeurs de condition initiale pour le solveur non linéaire dans le calcul de l'état stationnaire. Il sied de noter que si le bloc initval n'est pas suivie par la commande steady, le calcul de l'état stationnaire sera toujours déclenchée notamment, par les commandes suivantes : stoch_simul ; estimation. Il n'est pas nécessaire de déclarer 0 comme valeur initiale pour les variables stochastiques exogènes, car il s’agit de la seule valeur possible qu’elles peuvent prendre à cet effet. Dans ce cas (cas stochastique), l’état stationnaire en cause sera utilisé comme condition initiale à toutes les périodes précédant la première période de simulation pour les deux types possibles de simulations : ⎯ stoch_simul, si les options period sont spécifiées ; ⎯ forecast, dans ce cas, il est important de préciser qu'il est toujours possible de modifier certaines valeurs initiales avec le block histval. Exemple : initval; c = 1.2; k = 12; x = 1; end; steady; III. Bloc endval endval; [Bloc] Ce bloc se termine par « end; » initval sert à deux fins et contient des lignes de la forme : VARIABLE_NAME = EXPRESSION; Le bloc endval n'a de sens que dans un modèle déterministe, et sert à deux fins : ⎯ Premièrement, il définit les conditions terminales pour toutes les périodes succédant la dernière période de simulation ; ⎯ Deuxièmement, il fournit des valeurs des conditions initiales à toutes les dates de simulation pour le solveur non linéaire mis en œuvre dans simul. Fiche technique Laréq, Série alpha–I, Num. 7, pp. 58 – 65 Israël Makambo & Jean-Paul K. Tsasa 61 Pour cette dernière raison, il est nécessaire de fournir des valeurs pour toutes les variables endogènes dans un bloc endval, même si en théorie, les conditions initiales ne sont nécessaires que pour les variables anticipées. Si certaines variables, endogènes ou exogènes, ne sont pas mentionnées dans le bloc endval, une valeur zéro sera supposée par défaut. A noter que si le bloc endval est immédiatement suivie par la commande steady, sa syntaxe sera modifiée. En effet, la commande steady va calculer l'état stationnaire du modèle pour toutes les variables endogènes, en supposant que les variables exogènes sont maintenus constants à la valeur déclarée dans le bloc endval, et en utilisant les valeurs déclarées pour les variables endogènes comme des valeurs des conditions initiales pour le solveur non linéaire. In fine, un bloc endval suivi par la commande steady, est formellement équivalent à un bloc endval avec les mêmes valeurs pour les variables exogènes, et avec les valeurs des variables endogènes correspondant à l'état stationnaire. Exemple : var c k; varexo x; ... c = 1.2; k = 12; x = 1; end; steady; endval; c = 2; k = 20; x = 2; end; steady; L’équilibre initial est calculé par steady pour x = 1, et le terminal, pour x = 2. IV. Bloc histval initval; [Bloc] Dans les modèles avec des retards sur plus d’une période, le bloc histval permet de spécifier les différentes valeurs historiques des valeurs initiales pour les différentes périodes. Ce bloc se termine par « end; », et contient des lignes de la forme : VARIABLE_NAME(INTEGER) = EXPRESSION; 62 Israël Makambo & Jean-Paul K. Tsasa Conditions initiales et terminales sur Dynare Décrivons à présent l’expression Dynare « EXPRESSION » reprises dans le second membre de la ligne de différents blocs. EXPRESSION est une expression Dynare qui retourne une valeur numérique. Elle peut contenir les noms de variables déjà initialisés. Par convention, dans Dynare, la période 1 est la première période de la simulation. En reculant dans le temps, la première période avant le début de la simulation est la période 0, ensuite la période –1, et ainsi de suite. Si les variables retardées sont liées par des identités, il est important de veiller à ce que ces identités soient satisfaites lorsqu’on définit des valeurs initiales historiques. Par ailleurs, les variables non initialisées dans le bloc histval sont supposés avoir une valeur de zéro à la période 0 et précédente. A noter que ce comportement diffère du cas où il n'y a pas de bloc histval, où toutes les variables sont initialisées à leur valeur d'état stationnaire à la période 0 et précédente, à moins que la commande steady ne suit pas un bloc initval. Exemple : var x y; varexo e; model; x = y(-1)^alpha*y(-2)^(1 - alpha) + e ... end; initval; x = 1; y = 1; e = 0.5; end; steady; histval; y(0) = 1.1; y(-1) = 0.9; end; V. Commandes « resid » et « initval_file » resid; [Commande] Cette commande permet d'afficher les résidus des équations statiques du modèle en utilisant les valeurs indiquées pour les variables endogènes dans le dernier bloc initval ou endval, ou encore dans le fichier steady state , si ce dernier était fourni. Fiche technique Laréq, Série alpha–I, Num. 7, pp. 58 – 65 Israël Makambo & Jean-Paul K. Tsasa 63 initval_file(filename = FILENAME); [Commande] Cette commande permet d'afficher les résidus des équations statiques du modèle en utilisant les valeurs indiquées pour les variables endogènes dans le dernier bloc initval ou endval, ou encore dans le fichier steady state, si ce dernier était fourni. Dans un cadre déterministe, cette commande est utilisée pour spécifier un chemin pour toutes les variables endogènes et exogènes. La longueur de ces chemins doit être égal au nombre de périodes de simulation, plus le nombre de décalages (avances et retards) du modèle. Par exemple, avec 50 périodes de simulation, dans un modèle avec 2 retards et 1 avance, les chemins doit avoir une longueur de 53. Aussi, on notera que ces chemins couvrent deux choses différentes : ⎯ les contraintes du problème, qui sont données par le chemin pour les variables exogènes et les valeurs initiales et finales pour les variables endogènes ; ⎯ Les conditions initiales pour le programme de calcul (solveur) non linéaire, qui sont données par le chemin pour les variables endogènes pour les périodes de simulation, excepté les conditions initiales et terminales. La commande initval_file; accepte trois formats de fichiers : ⎯ M-file (extension « .m ») : pour chaque variable endogène et exogène, le fichier doit contenir un vecteur ligne du même nom ; ⎯ MAT-file (extension « .mat ») : même chose que pour M-Files ; ⎯ Excel file (extension « .xls » ou « .xlsx ») : pour chaque variable endogène et exogène, le fichier doit contenir une colonne du même nom (pris en charge sous Octave si les packages io et java de Octave – Forge sont installés, avec Java Runtime Environment). Liens pour téléchargement : à io : http://octave.sourceforge.net/io/ à java : http://octave.sourceforge.net/java/ à Runtime Environment : http://www.java.com/fr/download/index.jsp Note : l'extension doit être omis dans l'argument de commande. Le logiciel Dynare détermine automatiquement l'extension et sélectionne le type de fichier approprié. 64 Israël Makambo & Jean-Paul K. Tsasa Conditions initiales et terminales sur Dynare In fine, les instructions permettant de mettre en œuvre les conditions initiales et terminales conformément à la logique de la plateforme logicielle Dynare seront sollicitées dans les fiches ultérieures, notamment lorsqu’il sera question de mettre en évidence à l’aide d’un exemple la simulation d’un modèle stochastique. Par ailleurs, dans la fiche technique alpha–I.8, décrivons explicitement le traitement des chocs sur Dynare, dans le cadre des modèles déterministe, stochastique et mixte. Références bibliographiques • ADJEMIAN Stéphanie, Houstan BASTANI, Michel JUILLARD, Frédéric KARAME, Junior MAIH, Ferhat MIHOUDI, George PERENDIA, Marco RATO et Sébastien VILLEMOT, 2011, “Dynare: Reference Manual, Version 4”, Dynare Working Papers, 1, CEPREMAP. Web: http://www.dynare.org/. • COLLARD Fabrice et Michel JUILLARD, 2001, "Accuracy of stochastic perturbation methods: the case of asset pricing models", Journal of Economic Dynamics and Control, 25 (6 – 7): 979 – 999. • JUDD Kenneth L., 1998, Numerical Methods in Economics, MIT Press, Cambridge, MA, 656p. • KING Robert G. et Mark W. WATSON, 1998, "The Solution of Singular Linear Difference Systems under Rational Expectations", International Economic Review, 4(39): 1015 – 1026. • LOKOTA Michel – Ange et Jean – Paul TSASA, 2014, « Aperçu du Développement de la Macroanalyse », Fiche Technique Laréq, Série Alpha–I, 1, 1 – 15. • MATATA Amsini et Jean – Paul TSASA, 2014, « Déclaration des Variables et Paramètres sur Dynare », Fiche Technique Laréq, Série Alpha–I, 5, 36 – 50. • MAVUNGU Marina et Jean – Paul TSASA, 2014, « Déclaration d’un modèle sur Dynare », Fiche Technique Laréq, Série Alpha–I, 6, 51 – 57. • MAVUNGU Marina et Jean – Paul TSASA, 2014, « Conventions Dynare », Fiche Technique Laréq, Série Alpha–I, 4, 32 – 35. • SCHMITT – GROHE Stephanie et Martin URIBE, 2004, “Solving Dynamic General Equilibrium Models using a Second – Order Approximation to the Policy Function”, Journal of Economic Dynamics and Control, 28 (4): 755 – 775. • SIMS Christopher A., 2002, “Solving Linear Rational Expectations Models”, Computational Economics (octobre), 20 (1 – 2): 1–20 • TOGBA Yves et Jean – Paul TSASA, 2014, « Eléments Connexes de la Plateforme Dynare, Installation et Configuration », Fiche Technique Laréq, Série Alpha–I, 2, 16 – 24. • TOMBOLA Cédrick et Jean – Paul TSASA, 2014, « Premiers pas avec Dynare », Fiche Technique Laréq, Série Alpha–I, 3, 25 – 31. • TSASA Jean – Paul, (octobre) 2012, « Construction et Application d’un Modèle DSGE pour la RDC : Analyse comparée des estimations bayésiennes et VAR », Discussion Paper Laréq (octobre), S2, DPN 001, 1 – 71. Fiche technique Laréq, Série alpha–I, Num. 7, pp. 58 – 65 Israël Makambo & Jean-Paul K. Tsasa 65