A Dynare Toolbox for Social Learning Expectations

In the world of economic modeling, assumptions about how people form expectations play a crucial role. Traditionally, many macroeconomic models rely on the assumption that all agents are “representative” and form expectations rationally. However, this approach often fails to capture the diversity and complexity of actual human behavior—especially when it comes to how we respond to economic policies and external shocks.

Our recent paper, “A Dynare Toolbox for Social Learning Expectations,” published in the Journal of Economic Dynamics & Control, aims to address this gap. Through a novel extension of the popular Dynare platform, we provide economists with a new toolbox to explore the impacts of social learning (SL) on macroeconomic outcomes. This research marks an important shift, enabling the integration of learning games into large-scale DSGE (Dynamic Stochastic General Equilibrium) models, thus introducing a richer, more realistic framework for modeling heterogeneous agents.

Why Social Learning?

Most economic models assume rational expectations—a setup where agents predict future outcomes based on a complete understanding of the model. While this simplifies analysis, it often generates patterns that conflict with observed behavior. For example, in real life, people’s beliefs about inflation, interest rates, and growth vary widely. These beliefs are not always perfectly rational, and they evolve over time as agents interact, observe, and learn from one another.

Social learning is a way to capture these interactions. Originating from behavioral economics, social learning models assume that people update their expectations based on their peers’ experiences and actions. Agents are influenced by their social networks, adopting strategies that they perceive as successful or imitating the most credible sources in their environment.

A Tribute to Jasmina Arifovic’s Work

This work builds on a long-standing collaboration with Jasmina Arifovic, whose pioneering work with learning models inspired many of the concepts in this toolbox. Her contributions laid the foundation for embedding social learning mechanisms in economic models. Jasmina was one of the first to demonstrate how agent-based models and genetic algorithms could capture the diversity in expectations and decision-making processes. Her approach showed that social learning can yield unique insights into macroeconomic dynamics that differ from those based solely on rational expectations.

To learn more about this project, you can access our open-access publication:

Additional References

  • Arifovic, J. (2000). Evolutionary dynamics of inflationary expectations. Macroeconomic Dynamics, 4(3), 373–394.
  • Arifovic, J., Evans, G. W., & Salle, I. (2013). Learning to believe in simple equilibria in a complex macroeconomy. Journal of Economic Dynamics & Control, 37(10), 2187–2206.
  • Coibion, O., & Gorodnichenko, Y. (2015). Information rigidity and the expectations formation process: A simple framework and new facts. American Economic Review, 105(8), 2644–2678.
  • Evans, G. W., & Honkapohja, S. (2001). Learning and Expectations in Macroeconomics. Princeton University Press.
  • Hommes, C. (2021). Behavioral and Experimental Macroeconomics and Policy Analysis: A Complex Systems Approach. Journal of Economic Literature, 59(1), 149–219.

Deseasonalize time series with X13 in MATLAB

Seasonal component removed by x13 method

Most, if not all, macroeconomic time series exhibit seasonal patterns. A first step before estimating a model for any time series analyst is to remove the seasonal component. While very common, this step is however difficult to implement, in particular for MATLAB users.

The most accurate tool to deseasonalize time series is the X-13ARIMA-SEATS Seasonal Adjustment Program from Census Bureau. This post simply shows how to implement it based on the amazing (but yet undocumented) work of Stephane Adjemian.

Pre-requisite:

Let consider the most simple case of Airline data that are available in MATLAB that can be loaded with:

% load Airline data
load Data_Airline;

Then, we simply call the dseries object from Dynare’s libraries and initialize it:

% obtain Dynare directory
get_dynare_src = strrep(which('dynare'),'dynare.m','');
 
% load dseries object
addpath([get_dynare_src 'modules\dseries\src\'],[get_dynare_src 'missing\rows_columns\'])
initialize_dseries_class();

Next, we convert the vector of Airline passengers into a dseries object:

% convert data into dseries object
ts = dseries(Data,'1949M1');

Finally, we call the exe file of the X-13 lib and pass it arguments as follows:

% create the x13 object
o = x13(ts);
% adjust options
o.transform('function','log');
o.arima('model',' (0 1 1)12');
o.x11('save','(d10)');
% run
o.run();

Note that this step can be changed based on options that can be found in the Census bureau documentation. Here we consider the default option, combined with 12 lag ARMA process to be consistent with monthly data. This must be adjusted manually by the user.

The seasonal component can be found in:

% extract the multiplicative seasonal pattern
season_y = o.results.d10;

We can simply draw the deseasonalized time series and its original counterpart:

% display results
figure;
plot(dates,o.y.data,dates,(o.y.data)./(season_y.data))
xlim([min(dates),max(dates)])
datetick('x','mm-yyyy','keeplimits')
grid on;

Note that because the seasonal component is multiplicative, we simply divide our time series with its seasonal component. The full code can be downloaded here.

Le modèle AS-AD

Equilibre Macroéconomique entre AS et AD

Equilibre macroéconomique entre AS et AD

Le modèle AS-AD commence peu à peu à s’imposer dans l’enseignement de la macroéconomie, pour la faculté de sciences économiques à Rennes, nous venons de l’enseigner pour la première fois cette année. Je profite de ce post pour montrer les enjeux de ce nouveau modèle qui permet en quelques courbes de montrer les effets de chocs sur une économie. Tout d’abord, il faut d’abord rappeler que ce modèle résulte d’une nouvelle synthèse entre la nouvelle macroéconomie classique des années 70 et les principes keynésiens les plus importants comme la rigidité des prix. C’est pour cette raison que ce modèle présente les principaux apports de la nouvelle macroéconomie keynésienne développée depuis les années 80 et qui est en constante évolution. Le principal apport de ce modèle, par rapport aux modèles keynésiens standards types IS-LM ou ceux d’offre classiques, est qu’il arrive à intégrer la dimension des prix. On arrive par ce modèle à avoir des effets prix qui comblent la carence du modèle IS-LM standard tout en conservant des aspects de demande. Read More

Plotting like ggplot2 with TikZ/LatexDessiner comme ggplot2 avec TikZ/LateX

I appreciate the graphics drawn by the ggplot2 package with R, results are nice and elegant. I decided to imitate the style of ggplot2 with TikZ. Here is a working example:

% Gauthier Vermandel 2014
\documentclass{standalone}
\usepackage{pgfplotstable}
 
 
\definecolor{mygrey}{RGB}{229,229,229}
\definecolor{mygrey2}{RGB}{127,127,127}
\definecolor{mygrey3}{RGB}{240,240,240}
 
 
\pgfplotsset{
 	axis background/.style={fill=mygrey},
	tick style=mygrey2,
	tick label style=mygrey2,
	grid=both,
	xtick pos=left,
	ytick pos=left,
	tick style={
		major grid style={style=white,line width=1pt},minor grid style=mygrey3,
		tick align=outside,
	},
	minor tick num=1,
}
 
 
\begin{document}
  \begin{tikzpicture}
 
	\begin{axis}[draw=white]
 
		\addplot {1/sqrt(2*pi)*exp(-x^2/2)};
 
    	\end{axis}
 
\end{tikzpicture}
\end{document}

TikZggplot2

Risque de déflation et inefficacité de la politique monétaire

[latexpage]Les chiffres sont tombés pour Janvier 2014 : l’inflation de la zone Euro recule encore à niveau bas de 0.7%, soit un résultat bien inférieur à l’objectif de 2%. Il faut remonter à la période la crise financière en 2009 pour trouver des valeurs aussi faibles, preuve que la crise n’est pas toujours pas finie en zone euro.

Indice des prix à la consommation depuis 1999

Indice des prix à la consommation depuis 1999

Les armes de la théorie économique contre la déflation

La question qui peut alors se poser est comment lutter contre ce risque de déflation ? De ce point de vue, la théorie économique nous suggère plusieurs possibilités :

1) Du point de vue des monétaristes et des classiques, l’inflation est avant tout un phénomène monétaire, il suffit alors de faire croître la masse monétaire pour créer de l’inflation. Cette possibilité a déjà été explorée par la BCE en 2011 et 2012, elle s’est notamment lancée dans d’importants plans d’injections monétaires (LTRO) mais les effets ont été faibles : ni le crédit ni l’investissement n’ont redémarré.

2) Dans une perspective keynésienne, l’inflation est un phénomène de demande, il convient alors de relancer l’économie et plus particulièrement la consommation et l’investissement. Dans le contexte actuel, on voit difficilement les Etats relancer l’activité par des déficits, ces derniers sont fortement incités par la Commission et la BCE à une réduction drastique des déficits. Le financement des Etats par la planche à billets étant interdite par le traité de Maastricht, cette possibilité est également écartée.

3) La dernière arme, issue de la nouvelle synthèse néokeynésienne, consiste alors à contrôler l’inflation par le taux d’intérêt nominal de la Banque Centrale. Cette théorie nous dit qu’une banque centrale peut ancrer les anticipations d’inflation des agents économiques en utilisant la règle de taux d’intérêt (dite règle de Taylor) suivante :

\[
R_t  = 2\% + \phi \times \pi_t
\]

Où $R_t$ est le taux directeur nominal, 2% est la cible d’inflation, $\pi_t$ est l’inflation pénalisée à un niveau $\phi$.  Si cette arme s’est révélée être redoutable contre  l’inflation depuis les années 70, elle se montre bien moins puissante dès qu’il s’agit de lutter contre la désinflation, voire la déflation.

Déflation et inefficacité de la politique monétaire

S’il est bien plus facile de conduire une voiture en marche avant qu’en marche arrière, ce fait peut aussi s’appliquer à la politique monétaire. Pour s’en convaincre, il suffit de regarder les trois taux d’intérêt directeurs de la BCE pour comprendre l’essoufflement de celle-ci face au risque de déflation.

Taux directeurs de la BCE sur les dépôts, les opérations de refinancement et les facilités permanentes.

Taux directeurs de la BCE sur les dépôts, les opérations de refinancement et les facilités permanentes.

Depuis début 2012, les taux sur les facilités de dépôts ont touché la borne minimale de 0, tandis que les principales opérations de refinancement sont à 0,25%. A ce stade, la BCE n’a quasiment plus de marge de manoeuvre pour lutter contre l’inflation. Pour s’en convaincre, on peut simuler la valeur du taux directeur sur les dépôts si celui-ci admettait des valeurs négatives: on observe clairement en rouge qu’un taux optimal serait autour de -0,75%. La politique monétaire est donc devenue moins efficace depuis mi-2012.

Si le taux directeur sur les dépots admettait des valeurs négatives, il serait en dessous de 0 depuis 2012

Si le taux directeur sur les dépots admettait des valeurs négatives, il serait en dessous de 0 depuis 2012

Si l’inflation continue sur sa trajectoire descendante, la politique monétaire deviendra alors inefficace car elle ne pourra ajuster son taux d’intérêt. Si ce scénario se confirme, la BCE peut décider de mettre son taux de refinancement à 0, mais l’expérience japonaise montre qu’une fois à 0, il est difficile pour une banque centrale d’en sortir. Soit la BCE, constatant l’épuisement de son arme de taux d’intérêt, peut décider d’entrer dans une nouvelle politique non conventionnelle par des injections monétaires massives dans le système bancaire, hypothèse pour le moment écartée par le président de la BCE hier. Enfin, dernière possibilité, rendre négatif le taux directeur sur les dépôts, ce qui pénaliserait le dépôt des banques et in fine des ménages mais contraindrait les banques à investir dans l’économie.

Multiplicateur keynésien : où en sommes-nous depuis la crise ?

Janvier dernier, l’économiste en chef du FMI publie un papier dans lequel il affirme avoir sous-estimé  le multiplicateur keynésien dans les pays de l’OCDE.  Cette publication avait alors fait couler beaucoup d’encre car le multiplicateur keynésien est un outil essentiel pour le FMI : son aide aux pays en difficulté est offerte en échange de plans d’ajustement basés notamment sur les calculs du multiplicateur.

Intéressons-nous d’abord aux aspects théoriques du multiplicateur keynésien. Celui-ci est enseigné dès la 1ère ES, on apprend alors aux lycéens que quand un gouvernement augmente les dépenses publiques de 1%, le PIB doit proportionnellement bouger de Δ%. Et c’est le calcul de Δ qui pose problème car une valeur plus ou moins élevée de Δ changera totalement le sens des recommandations du FMI.

En réalité, la valeur calculée de Δ dépend essentiellement de la théorie économique que l’on utilise. Dans un article intitulé « Multiplicateur de dépenses publiques Nouveaux Keynésiens contre Anciens Keynésiens » , les économistes comparent les valeurs du multiplicateur en fonction de la théorie économique et les résultats sont assez percutants :

Table 1. Impact d’une hausse permanence des dépenses publiques de 1% sur le PIB (avec taux directeur mis à 0 entre 2009 et 2010) aux USA

Pourcentage de hausse du PIB réel


    2009T1     2009T4     2010T4     2011T4     2012T4
Romer/Bernstein (modèle keynésien) 1,05% 1,44% 1,57% 1,57% 1,55%
Smets/Wouters (modèle nouveau keynésien) 1,03% 0,89% 0,61% 0,44% 0,40%

Le modèle keynésien (proche de l’IS-LM) donne une valeur du multiplicateur deux à trois fois plus importante que le son homologue nouveau keynésien. Et c’est bien là le problème car le FMI a effectué ses recommandations pour la Grèce et l’Irlande sur la base du modèle de Smets et Wouters. Le FMI a encouragé une baisse des dépenses publiques grecques drastique de plus de 10% début 2010, il n’imaginait pas que la réponse du PIB serait plus que proportionnelle.

La différence majeure entre un modèle nouveau et ancien keynésien vient des anticipations : les modèles nouveaux keynésiens intègrent des agents représentatifs qui anticipent parfaitement le futur. Cette hypothèse, appelée anticipation rationnelle,  amène à des estimations parfois peu réalistes du multiplicateur car dans un monde où tout est prévisible, une hausse des dépenses publiques entrainera obligatoirement une hausse des impôts futurs et donc diminuera l’effet du multiplicateur.

En somme, il n’existe pas de valeur universelle du multiplicateur, celle-ci varie dans le temps et dépend de beaucoup du contexte. A la lumière de l’exemple grec et irlandais, il devient évident qu’exiger une baisse drastique des dépenses ne réglera pas le problème de compétitivité et de dette, pire, il l’aggravera.

Converting Scientific Workplace to Matlab by copy/pastingConvertir du code Scientific Workplace vers du code Matlab par copier/coller

For my PhD I’d been needing  a Scientific Workplace to Matlab/R converter to test fastly different steady states. I wrote that converter to get in one clic some matlab code directly from scientific workplace. In the picture, i give an example with Hansen’s steady states: you just have to copy from your scientific workplace document and paste it in the LaTeX2Matlab windows. I wrote the converter in PHP directly.
→direct link to LaTeX2Matlab

Scientific Workplace to Matlab Converter

Scientific Workplace to Matlab Converter

Pendant ma thèse, j’ai eu le besoin de coder un convertisseur afin de tester rapidement plusieurs formules mathématiques (cela est assez récurrent avec les équilibres stationnaires à calibrer pour avoir des résultats réalistes). Par exemple pour le modèle d’Hansen, il suffit de copier ses équations d’état stationnaire dans scientific workplace et il en sort un code executable dans matlab/R ou encore Scilab. Pour info, le convertisseur est écrit en PHP directement.

→lien vers LaTeX2Matlab

Scientific Workplace to Matlab Converter

Scientific Workplace to Matlab Converter

R Codes from my post about the Reinhart-Rogoff working paperCodes R pour l’article : “Austérité en zone euro et l’erreur calcul de Reinhart-Rogoff”

[latexpage]In this post, I explain how to make two graphs from my post dealing with the article of Reinhart and Rogoff (french). The first figure is simple plot while the other is non parametric estimate by Splines.

Evolution depuis de la création des ratios dette/PIB Lien Croissance PIB et ratio

[latexpage]Je vais expliquer dans ce post comment faire les deux graphiques du post sur l’article de Reinhart et Rogoff sous le logiciel R en faisant un peu d’économétrie non paramétrique.

Evolution depuis de la création des ratios dette/PIB Lien Croissance PIB et ratio

Read More

Austérité en zone euro et l’erreur calcul de Reinhart-Rogoff

Dans leur article présenté en 2010, deux célèbres économistes K. Rogoff et C. Reinhart publient un article dans la très prestigieuse American Economic Review une étude empirique montrant le lien qui unit l’endettement public et croissance économique. Ces auteurs démontrent une relation négative telle qu’un endettement public dépassant un seuil de 90% ralentirait fortement le potentiel de croissance d’une économie (développée ou en développement).

Déficits massifs en zone euro après la crise

Ces auteurs ont indiqué avoir commencé l’écriture de cet article en 2008 lorsque gouvernements américain et européens se lançaient dans d’importants plans de relance, accélérant fortement le rapprochement des économies occidentales vers ce seuil des 90%. On voit effectivement dans la figure 1 l’explosion du ratio dette/PIB pour beaucoup de pays de la zone euro. Le trafic des comptes publics grecs et la trajectoire presque incontrôlable de ses finances publiques ont alors entraîné l’Etat et toute la zone euro dans une crise toujours non résolue à ce jour.

Evolution depuis la création de la zone euro des ratios dette/PIB

Evolution depuis la création de la zone euro des ratios dette/PIB (voir annexe 1 pour le calcul)

La réponse de la commission européenne, appuyée par l’Allemagne, a été d’imposer dès 2010 une consolidation budgétaire drastique afin d’augmenter les perspectives de croissance de long terme de la zone euro.  Cette consolidation était par ailleurs justifiée par le papier de Reinhart-Rogoff: en diminuant le poids de la dette dans le PIB impliquerait à long terme un rythme de croissance plus élevé. Read More