O O O FTL LAREQ Publication PREMIERS PAS AVEC DYNARE Auteur(s) : Cédrick Tombola Muke & Jean Paul K. Tsasa Vangu Source : Laboratoire d analyse recherche en économie quantitative Publié par : LAREQ Publication Volume : Série alpha-i, numéro 3 [pp. 25 31] Web : http://www.lareq.com Courriel : economiconepager@lareq.com 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 : eopl@makroeconomica.org. 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 la deuxième fiche, la présentation s est focalisé sur la description des éléments connexes de la plateforme logicielle Dynare, ainsi que sur la démarche à suivre pour son installation et sa configuration. Dans la présente fiche (FTL alpha- I.3), nous procédons aux premiers pas dans l utilisation de la plateforme Dynare, comme outil de modélisation macroéconomique. 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.
I. Introduction : les premiers pas... La mise en œuvre de la plateforme Dynare nécessite l écriture d un programme. Le fichier générique qui contient les instructions à donner à Dynare a comme extension :.mod Ainsi, on aura un fichier du type : où name indique le nom du fichier. name.mod Ce fichier doit contenir la description du modèle et les tâches de calcul à exécuter. Le contenu de ce fichier [name.mod] sera explicité dans les fiches qui suivront. Une fois le contenu du fichier name.mod est bien défini, l étape qui suit, consiste à l exécution du modèle programmé. En effet, pour lancer l exécution du programme sur Dynare, il suffit de passer la commande : dynare sur l invite de commande MatLab et Octave, suivi du nom du fichier name.mod, comme argument. Ainsi, on aura : dynare name II. Traitement du fichier name.mod Généralement et en pratique, le traitement du fichier name.mod se fait en deux étapes : Le modèle et les instructions de traitement écrites par l utilisateur dans un fichier name.mod sont interprétés ; et les instructions MatLab ou GNU Octave sont générées ; Le programme en cours exécute les calculs. En réalité, les deux étapes sont automatiquement déclenchées par la commande : dynare MatLab/ Octave Commande lancement programme Dynare dynare name [.mod] [OPTIONS...] 26 Cédrick Tombola & Jean-Paul K. Tsasa Premiers pas avec Dynare
En effet, la commande dynare lance le logiciel Dynare et autorise l exécution des instructions contenues dans le fichier name.mod. Ce fichier fourni par l utilisateur contient le modèle et les instructions de traitement. Par défaut, à moins que l option use_dll ait été assignée au modèle, le préprocesseur crée 3 fichiers intermédiaires : name.m Ce fichier contient les déclarations des variables, et les tâches de calculs. name_dynamic.m Ce fichier comprend les équations du modèle dynamique. name_static.m Ce fichier contient les équations du modèle statique de long terme. Techniquement, ces fichiers peuvent faire l objet d examen afin de bien comprendre la nature des erreurs pouvant survenir au stade de simulations. In fine, la commande dynare déroule les tâches computationnelles en exécutant name.m. III. Revue de quelques fonctions Dynare Ci après la description de quelques options Dynare. Chacune d elles sera mieux appréhendée dans les fiches qui suivront. noclearall à par défaut, la commande dynare émet la commande clear all au logiciel MatLab ou GNU Octave, supprimant ainsi toutes les variables de l espace de travail. Ainsi, cette option instruit dynare de ne pas supprimer l espace de travail. debug à instruit le préprocesseur d écrire des informations de débogage sur la numérisation et l analyse du fichier name.mod. notmpterms à instruit le préprocesseur d omettre temporairement les termes dans les fichiers statiques et dynamiques ; cela réduit généralement la performance, mais il est utilisé à des fins de débogage, car rendant les fichiers statiques et dynamiques plus lisibles. Fiche technique Laréq, Série alpha I, Num. 3, pp. 25 31 27 Cédrick Tombola & Jean-Paul K. Tsasa
savemacro [=FILENAME] à instruit Dynare d enregistrer le fichier intermédiaire qui est obtenu après macro traitement (macro processing) ; l output enregistré sera logé dans un fichier spécifié, ou sinon dans FILENAME macroexp.mod, si aucun fichier n est spécifié. onlymacro à instruit le préprocesseur pour effectuer uniquement l étape de macro processing, et de s arrêter juste après. Cette option est principalement utile pour le débogage ou l utilisation de macro processeur indépendamment du reste de la boîte à outils de Dynare. nolinemacro à instruit le macro processeur de supprimer la numérotation des lignes d informations dans le fichier intermédiaire name.mod créé après l étape de macro processing (macro traitement). Il est utile, en conjonction avec savemacro, notamment quand on veut réutiliser l intermédiaire name.mod, sans l encombré par la numérotation des lignes d instructions. nolog à instruit Dynare de ne pas créer le logfile (un fichier journal) d un processus dans FILENAME.log. L option Dynare par défaut est de créer le fichier journal. Note : Un logfile ou log, en français journal, est un fichier qui contient l enregistrement séquentiel ou l historique des tâches computationnelles (logging). warn_uninit à affiche un avertissement pour chaque variable ou paramètre qui n est pas initialisé. console à active le mode console : Dynare n utilisera pas les graphical waitbars pour de longs calculs. Il sied de noter que cette option n est utile que sous le logiciel MatLab, car GNU Octave ne fournit pas toutes les capacités de la graphical waitbar. Note : Une graphical waitbar (ou encore une barre d attente) est une option qui est généralement utilisée à l intérieur d une boucle effectuant de longs calculs. Il indique le pourcentage de calcul complété, ainsi que celui restant. msvc à indique à Dynare que le logiciel MatLab de l utilisateur est configuré pour compiler les fichiers MEX avec Microsoft Visual C++. Cette option n est disponible que sous Windows, et elle est utilisée en conjonction avec use_dll. 28 Cédrick Tombola & Jean-Paul K. Tsasa Premiers pas avec Dynare
cygwin à indique à Dynare que le logiciel MatLab de l utilisateur est configuré pour compiler les fichiers MEX avec Cygwin. Cette option n est disponible que sous Windows, et elle est utilisée en conjonction avec use_dll. Note : Cygwin est une collection de logiciels libres à l'origine développés par Cygnus Solutions [Cygnus, Your GNU Support], une entreprise créée en 1989 par John Gilmore, Michael Tiemann et David Henkel Wallace, dont l objectif est de fournir du support commercial aux logiciels libres. Cygwin vise principalement l'adaptation à Windows de logiciels qui fonctionnent sur des systèmes POSIX, notamment les systèmes GNU/Linux, BSD et Unix. En simulant un environnement Unix sous Windows, Cygwin rend ainsi possible l'exécution de ces différents logiciels après une simple compilation. Généralement, les programmes portés sur Cygwin, fonctionnent mieux sur Windows NT, 2000 et XP que sur ses versions antérieures. parallel [=CLUSTER_NAME] à ordonne à Dynare d effectuer des calculs en parallèle. Si CLUSTER_NAME est périmé, Dynare utilisera le cluster spécifié pour effectuer les calculs parallèles. Sinon, Dynare utilisera le premier cluster spécifié dans le fichier de configuration. conffile = FILENAME à spécifie l emplacement du fichier de configuration si celui là diffère du fichier par défaut ; parallel_slave_open_mode à instruit Dynare de quitter la connexion au dernier nœud ouvert après que le calcul soit complété, en ne fermant cette connexion que si Dynare finit le traitement requis ; parallel_test à teste l installation parallèle spécifiée dans le fichier de configuration, sans exécuter le fichier name.mod ; DMACRO_VARIABLE=MACRO_EXPRESSION à définit une macro variable à partir de la ligne de commande (le même effet qu en utilisant la directive Macro @#define dans un fichier name.mod) Fiche technique Laréq, Série alpha I, Num. 3, pp. 25 31 29 Cédrick Tombola & Jean-Paul K. Tsasa
IV. Output Dynare Le logiciel Dynare génère trois structures, généralement enregistrées dans un fichier appelé : name_results.mat Ainsi, après exécution des calculs, l output Dynare apparaît dans trois principales variables dans l espace MatLab/ Octave : M_ ; options_ ; oo_ M_ [Variable MatLab/ Octave] Cette structure contient diverses informations sur le modèle. options_ [Variable MatLab/ Octave] Cette structure contient les références de différentes options utilisées par Dynare durant l exécution du programme. oo_ [Variable MatLab/ Octave] Cette structure contient les différents résultats de calculs. En somme, selon les tâches computationnelles requises dans le fichier name.mod, l exécution de la commande dynare laissera dans l espace de travail, les variables contenant les résultats disponibles pour les traitements ultérieurs. Dans la quatrième fiche, nous allons procéder à l introduction de principales conventions à respecter par un utilisateur de la plateforme logicielle. En effet, la maîtrise de ces conventions est particulièrement très importante car elles aideront l utilisateur à éviter les erreurs de forme et de fond lors de la gestion des fichiers Dynare ou lors de la programmation du modèle d analyse. 30 Cédrick Tombola & Jean-Paul K. Tsasa Premiers pas avec Dynare
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. 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. 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. 3, pp. 25 31 31 Cédrick Tombola & Jean-Paul K. Tsasa