#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:nil -:t f:t *:t TeX:t LaTeX:t skip:t d:t tags:not-in-toc creator:t timestamp:nil author:nil title:nil html5-fancy:t #+HTML_DOCTYPE: html5 #+HTML_HEAD: #+HTML_HEAD: #+HTML_HEAD: #+HTML_HEAD: #+HTML_HEAD: #+HTML_HEAD: #+LANGUAGE: fr #+STARTUP: latexpreview #+TITLE: La règle d'or confrontée aux données #+DATE: Septembre 2026 #+AUTHOR: Stéphane Adjemian #+EMAIL: stephane.adjemian@univ-lemans.fr #+PROPERTY: header-args:python :python /tmp/blog-regle-d-or/bin/python #+BEGIN_QUOTE Dans le modèle de Solow, la règle d'or désigne le taux d'épargne qui maximise la consommation par tête à long terme. À l'état stationnaire, elle s'écrit de plusieurs façons équivalentes\nbsp{}: le rendement net du capital égal au taux de croissance de l'économie, le taux d'épargne égal à la part du capital dans le revenu, ou encore le revenu du capital égal à l'investissement. Cette note confronte ces écritures aux données des Penn World Tables, pour 79 pays entre 1960 et 2023. Celles qui font intervenir le stock de capital concluent à la sous-accumulation dans 71 pays, et leur verdict dépend fortement de la part du capital retenue. Celle qui ne fait intervenir que des flux conclut à la sous-accumulation dans tous les pays, et résiste mieux à la mesure de la part du capital. La note explique pourquoi les deux verdicts diffèrent et pourquoi le second est plus fiable. Les calculs sont faits en Python, et les corrigés des exercices sont donnés dans des blocs dépliables. #+END_QUOTE \\ \\ \\ #+BEGIN_SRC bash :results silent :exports none :async t python3 -m venv /tmp/blog-regle-d-or source /tmp/blog-regle-d-or/bin/activate pip install numpy matplotlib pandas openpyxl #+END_SRC #+begin_src python :session regle-d-or :exports none :results none import os import urllib.request as request import urllib.error as error import numpy as np import pandas as pd import matplotlib.pyplot as plt #+end_src * La règle d'or :PROPERTIES: :CUSTOM_ID: regle-d-or :END: On considère le modèle de Solow avec progrès technique, dans les notations de la note sur [[https://stephane-adjemian.fr/posts/simulation-du-modele-de-solow/][la simulation du modèle de Solow]]. La production est $Y = F(K, AL)$, où $F$ est une fonction de production néoclassique à rendements d'échelle constants, la population $L$ croît au taux $n$ et l'efficacité du travail $A$ au taux $x$. On note $\hat k = K/(AL)$ le capital par tête efficace et $f(\hat k) = F(\hat k, 1)$ la production par tête efficace. Les ménages épargnent une fraction constante $s$ de leur revenu, le capital se déprécie au taux $\delta$, et le capital par tête efficace obéit à la loi d'évolution \begin{equation*} \dot{\hat k}(t) = s f\bigl(\hat k(t)\bigr) - (n + x + \delta)\,\hat k(t) \end{equation*} À l'état stationnaire $\hat k^{\star}$, l'investissement par tête efficace compense exactement la dépréciation et la dilution du capital\nbsp{}: \(s f(\hat k^{\star}) = (n + x + \delta)\hat k^{\star}\). Le capital, la production et la consommation croissent alors tous au même taux, que l'on notera \begin{equation*} g = n + x \end{equation*} et le ratio capital/production est constant, égal à \(\hat k^{\star}/f(\hat k^{\star}) = s/(g + \delta)\). \\ Les marchés des facteurs sont parfaitement concurrentiels. Le capital est loué aux firmes au prix $R = f'(\hat k)$, sa productivité marginale, et le travail est payé au salaire \(w = A\bigl(f(\hat k) - \hat k f'(\hat k)\bigr)\). Le propriétaire du capital supporte son usure\nbsp{}: son rendement net, le taux d'intérêt réel, est \begin{equation*} r = R - \delta = f'(\hat k) - \delta \end{equation*} #+BEGIN_remarque La note sur [[https://stephane-adjemian.fr/posts/modele-de-solow/][le modèle de Solow]] appelle $r$ le prix de location du capital, c'est-à-dire $f'(k)$. Ici, comme dans le cours, $R$ désigne le prix de location et $r$ le rendement net de la dépréciation. La distinction compte pour la règle d'or, qui compare un rendement net à un taux de croissance. #+END_remarque La consommation par tête efficace à l'état stationnaire est ce qui reste de la production une fois l'investissement effectué\nbsp{}: \begin{equation*} \hat c^{\star} = (1 - s) f(\hat k^{\star}) = f(\hat k^{\star}) - (g + \delta)\,\hat k^{\star} \end{equation*} Comme $\hat k^{\star}$ est une fonction croissante de $s$, choisir le taux d'épargne revient à choisir le capital d'état stationnaire. La consommation par tête, $c = A\hat c$, s'en déduit en multipliant par l'efficacité du travail, qui est exogène\nbsp{}: maximiser $\hat c^{\star}$ revient donc à maximiser la consommation par tête à chaque date le long du sentier de croissance équilibrée. Le capital de la règle d'or, $\hat k_{\mathrm{or}}$, annule la dérivée de $\hat c^{\star}$ par rapport à \(\hat k^{\star}\)\nbsp{}: \begin{equation*} f'(\hat k_{\mathrm{or}}) = g + \delta \quad\Leftrightarrow\quad r_{\mathrm{or}} = g \end{equation*} et il s'agit bien d'un maximum puisque $f$ est concave. À la règle d'or, le rendement net du capital est égal au taux de croissance de l'économie. En deçà de $\hat k_{\mathrm{or}}$, le rendement net du capital dépasse le taux de croissance, et accumuler davantage augmenterait la consommation de long terme\nbsp{}: l'économie est en /sous-accumulation/. Au-delà, c'est l'inverse, et l'on parle de /sur-accumulation/. Le taux d'épargne de la règle d'or est celui qui conduit à \(\hat k_{\mathrm{or}}\)\nbsp{}: \begin{equation*} s_{\mathrm{or}} = \frac{(g + \delta)\,\hat k_{\mathrm{or}}}{f(\hat k_{\mathrm{or}})} = \frac{f'(\hat k_{\mathrm{or}})\,\hat k_{\mathrm{or}}}{f(\hat k_{\mathrm{or}})} \end{equation*} Le dernier rapport est la part du revenu du capital dans le revenu total, évaluée au capital de la règle d'or\nbsp{}: quelle que soit la fonction de production, le taux d'épargne de la règle d'or est égal à la part du capital à la règle d'or ([[ex-phelps][exercice 1]]). Avec une fonction de production Cobb-Douglas, $f(\hat k) = \hat k^{\alpha}$, cette part vaut $\alpha$ quel que soit le capital, et l'on retrouve le résultat du cours, $s_{\mathrm{or}} = \alpha$. #+NAME: prop-ecritures #+BEGIN_proposition Avec une fonction de production Cobb-Douglas, les quatre propositions suivantes sont équivalentes à l'état stationnaire\nbsp{}: 1. l'économie est en sous-accumulation, \(\hat k^{\star} < \hat k_{\mathrm{or}}\)\nbsp{}; 2. le rendement net du capital dépasse le taux de croissance, \(r^{\star} > g\)\nbsp{}; 3. le taux d'épargne est inférieur à la part du capital, \(s < \alpha\)\nbsp{}; 4. le ratio capital/production est inférieur à celui de la règle d'or, \(K/Y < \alpha/(g + \delta)\). #+END_proposition #+BEGIN_proof La productivité marginale du capital décroît\nbsp{}: \(\hat k^{\star} < \hat k_{\mathrm{or}}\) équivaut à \(f'(\hat k^{\star}) > f'(\hat k_{\mathrm{or}}) = g + \delta\), c'est-à-dire à \(r^{\star} > g\). Avec la fonction Cobb-Douglas, \(f'(\hat k) = \alpha\hat k^{\alpha - 1} = \alpha Y/K\), et à l'état stationnaire \(K/Y = s/(g + \delta)\), d'où \begin{equation*} r^{\star} - g = \alpha\,\frac{g + \delta}{s} - (g + \delta) = (g + \delta)\left(\frac{\alpha}{s} - 1\right) \end{equation*} qui est positif si et seulement si \(s < \alpha\). Enfin, puisque \(K/Y = s/(g + \delta)\) à l'état stationnaire, \(s < \alpha\) équivaut à \(K/Y < \alpha/(g + \delta)\). #+END_proof Ces quatre écritures sont équivalentes dans le modèle, mais elles ne mobilisent pas les mêmes données. Les écritures 2 et 4 font intervenir le stock de capital, son taux de dépréciation et le taux de croissance. Elles reviennent d'ailleurs au même test empirique, puisque le rendement net se mesure par \(r = \alpha Y/K - \delta\), et que \(r > g\) équivaut alors à \(K/Y < \alpha/(g + \delta)\). Nous l'appellerons le /test en stock/. L'écriture 3 ne fait intervenir que deux parts dans le revenu, celle du capital et celle de l'investissement\nbsp{}; nous l'appellerons le /test en flux/. Les deux tests ne coïncident que si le ratio capital/production observé est celui de l'état stationnaire, \(K/Y = s/(g + \delta)\). La suite de la note montre que ce n'est pas le cas dans les données, et que les deux tests rendent alors des verdicts très différents. * Une lecture en flux :PROPERTIES: :CUSTOM_ID: flux :END: Le test en flux a une interprétation simple. La production est entièrement distribuée aux facteurs, puisque les rendements d'échelle sont constants et que les facteurs sont payés à leur productivité marginale\nbsp{}: $Y = wL + RK$. Elle est aussi entièrement consommée ou investie\nbsp{}: $Y = C + I$. En égalisant les deux écritures, on obtient \begin{equation*} C = wL + (RK - I) \end{equation*} La consommation est égale aux salaires, augmentés du flux net que le capital procure à l'économie\nbsp{}: le revenu qu'il rapporte, moins l'investissement qu'il absorbe. Avec une fonction de production Cobb-Douglas, le revenu du capital est une fraction constante du revenu, $RK = \alpha Y$, et l'investissement vaut $I = sY$, de sorte que \begin{equation*} RK - I = (\alpha - s)\,Y \end{equation*} À la règle d'or, \(s = \alpha\)\nbsp{}: l'économie réinvestit exactement ce que rapporte le capital, et la consommation est égale aux salaires. En sous-accumulation, le capital rapporte plus qu'il n'absorbe, et l'on consomme davantage que les salaires. En sur-accumulation, c'est l'inverse\nbsp{}: maintenir et accroître le capital coûte plus qu'il ne rapporte, et la consommation est inférieure aux salaires. L'économie gagnerait alors à épargner moins, et ramener le taux d'épargne à $\alpha$ augmente la consommation immédiatement et à toutes les dates futures ([[ex-repas-gratuit][exercice 2]]). \\ Sur le sentier de croissance équilibrée, l'investissement compense la dépréciation et fait croître le capital au taux $g$, soit $I = (g + \delta)K$, tandis que le revenu du capital vaut $RK = (r + \delta)K$. Le flux net s'écrit alors \begin{equation*} RK - I = (r - g)\,K \end{equation*} et la lecture en flux rejoint la comparaison du rendement net et du taux de croissance. Hors de l'état stationnaire, en revanche, les deux écritures se séparent. Le flux net, $(\alpha - s)Y$, garde à chaque date le signe de \(\alpha - s\). L'écart \(r(t) - g = \alpha\hat k(t)^{\alpha - 1} - \delta - g\), lui, dépend du capital accumulé à la date $t$, et n'a le signe de \(\alpha - s\) qu'une fois l'économie assez proche de son état stationnaire. Pour le voir, simulons deux économies qui épargnent 20\nbsp{}% de leur revenu alors que la part du capital est de \(1/3\)\nbsp{}: elles sont en sous-accumulation. La première part d'un capital égal à la moitié de son capital d'état stationnaire, la seconde du double du capital de la règle d'or. On utilise la solution exacte de l'équation de Solow, présentée dans la note sur [[https://stephane-adjemian.fr/posts/simulation-du-modele-de-solow/][sa simulation]]. #+begin_src python :session regle-d-or :exports code :results none alpha, s = 1/3, 0.2 n, x, delta = 0.01, 0.02, 0.04 g = n + x k_etoile = (s/(g + delta))**(1/(1 - alpha)) k_or = (alpha/(g + delta))**(1/(1 - alpha)) def trajectoire(k0, t): """Solution exacte de l'équation de Solow avec une technologie Cobb-Douglas.""" z = (s/(g + delta) + (k0**(1 - alpha) - s/(g + delta))*np.exp(-(1 - alpha)*(g + delta)*t)) return z**(1/(1 - alpha)) t = np.linspace(0, 80, 801) k_bas = trajectoire(k_etoile/2, t) k_haut = trajectoire(2*k_or, t) r_etoile = alpha*k_etoile**(alpha - 1) - delta print(k_etoile, k_or, r_etoile - g) #+end_src #+begin_src python :session regle-d-or :exports none :results none fig, axes = plt.subplots(1, 2, figsize=(10, 4), sharey=True) for k, couleur, nom in ((k_bas, 'b', r'$\hat k(0) = \hat k^{\star}/2$'), (k_haut, 'r', r'$\hat k(0) = 2\hat k_{\mathrm{or}}$')): axes[0].plot(t, alpha*k**(alpha - 1) - delta - g, couleur, label=nom) axes[1].plot(t, (alpha - s)*k**(alpha - 1), couleur, label=nom) for ax in axes: ax.axhline(0, color='k', linewidth=.5) ax.axhline(r_etoile - g, color='k', linewidth=.5, linestyle='--') ax.set_xlabel(r'$t$') ax.legend() axes[0].set_title(r'$r(t) - g$') axes[1].set_title(r'$\left(R(t)K(t) - I(t)\right)/K(t)$') fig.tight_layout() fig.savefig("regle-d-or-transition.svg", transparent=True) #+end_src #+CAPTION: *Deux transitions vers le même état stationnaire en sous-accumulation ($\alpha = 1/3$, $s = 0{,}2$, $g = 0{,}03$, $\delta = 0{,}04$). À gauche, écart entre le rendement net du capital et le taux de croissance. À droite, flux net du capital rapporté au stock de capital. Les pointillés indiquent la valeur commune des deux écarts à l'état stationnaire, $r^{\star} - g$.* #+LABEL: fig:transition [[file:regle-d-or-transition.svg]] Les deux mesures convergent vers la même valeur, \(r^{\star} - g \approx 0{,}047\), mais pas de la même façon. Le flux net, rapporté au capital pour être comparable à \(r - g\), reste positif tout au long des deux transitions. Dans l'économie qui part d'un capital élevé, en revanche, le rendement net est d'abord inférieur au taux de croissance, et le reste tant que le capital dépasse celui de la règle d'or. Avec la solution exacte, on calcule la date $T$ à laquelle $\hat k(T) = \hat k_{\mathrm{or}}$ ([[ex-duree][exercice 4]])\nbsp{}: #+begin_src python :session regle-d-or :exports code :results none T = -np.log((alpha - s)/((2*k_or)**(1 - alpha)*(g + delta) - s))/((1 - alpha)*(g + delta)) print(T) #+end_src Pendant un peu plus de 19 ans, le test en stock diagnostique une sur-accumulation dans une économie qui accumule trop peu. Cette économie a hérité d'un capital abondant qu'elle ne renouvelle pas\nbsp{}: son rendement net est faible parce que son capital est élevé, pas parce qu'elle épargne trop. Le test en flux, lui, ne se trompe à aucune date. C'est l'une des raisons pour lesquelles les économistes préfèrent comparer le revenu du capital et l'investissement plutôt qu'un taux d'intérêt et le taux de croissance[fn:amsz: Abel, Mankiw, Summers et Zeckhauser (1989) montrent que c'est le signe de ce flux net, s'il se maintient à toutes les dates, qui caractérise l'efficacité dynamique d'une économie, et que ce critère reste valable en univers incertain, où la comparaison d'un taux d'intérêt et du taux de croissance ne permet plus de conclure. Leur démonstration repose sur un modèle à générations imbriquées stochastique, qui dépasse le cadre de cette note.]. * Les données :PROPERTIES: :CUSTOM_ID: donnees :END: Pour confronter la règle d'or aux données, nous avons besoin, pour chaque pays, de la part du capital $\alpha$, du taux d'investissement $s$, du taux de dépréciation $\delta$, du taux de croissance $g$ et du ratio capital/production $K/Y$. Toutes ces grandeurs sont disponibles dans la version 11.0 des Penn World Tables (PWT), qui couvre 185 pays entre 1950 et 2023. Le code suivant lit la feuille de données du classeur Excel des PWT. #+begin_src python :session regle-d-or :exports none :results none PWT = 'pwt110.xlsx' class SansRedirection(request.HTTPRedirectHandler): def redirect_request(self, *args, **kwargs): return None def adresse(url): """Adresse de téléchargement directe d'un fichier DataverseNL.""" ouvreur = request.build_opener(SansRedirection) try: with ouvreur.open(request.Request(url, method='HEAD')) as reponse: return reponse.headers.get('Location') or url except error.HTTPError as echec: return echec.headers.get('Location') or url if not os.path.exists(PWT): request.urlretrieve(adresse('https://dataverse.nl/api/access/datafile/554105'), PWT) #+end_src #+begin_src python :session regle-d-or :exports code :results none pwt = pd.read_excel('pwt110.xlsx', 'Data') #+end_src Nous retenons la période 1960-2023 et les pays pour lesquels les variables utiles sont renseignées toutes les années\nbsp{}: #+begin_src python :session regle-d-or :exports code :results none DEBUT, FIN = 1960, 2023 VARIABLES = ['labsh', 'csh_i', 'pl_i', 'pl_gdpo', 'delta', 'pop', 'rgdpna', 'rnna'] donnees = (pwt[(pwt['year'] >= DEBUT) & (pwt['year'] <= FIN)] .set_index(['countrycode', 'year'])[VARIABLES] .sort_index()) complet = donnees.notna().all(axis=1).groupby('countrycode').sum() == FIN - DEBUT + 1 donnees = donnees.loc[complet[complet].index] print(complet.sum()) #+end_src L'échantillon compte 79 pays. Pour chacun, nous calculons les grandeurs du modèle comme des moyennes sur la période\nbsp{}: - la part du capital, $\alpha$, est le complément à un de la part des rémunérations du travail dans le PIB, =labsh=, mesurée aux prix courants nationaux\nbsp{}; - le taux d'investissement, $s$, est la part de la formation brute de capital dans le PIB. Les PWT la donnent aux parités de pouvoir d'achat courantes (=csh_i=), c'est-à-dire en valorisant l'investissement et la production aux mêmes prix internationaux. Pour la comparer à la part du capital, mesurée aux prix nationaux, nous la multiplions par le rapport du niveau des prix de l'investissement à celui de la production (=pl_i= et =pl_gdpo=), ce qui donne la part de l'investissement aux prix nationaux\nbsp{}; - le taux de dépréciation, $\delta$, est le taux moyen de dépréciation du capital, =delta=\nbsp{}; - le taux de croissance, $g = n + x$, est la somme du taux de croissance annuel moyen de la population, =pop=, et de celui du PIB par tête en volume, =rgdpna/pop=, entre 1960 et 2023\nbsp{}; - le ratio capital/production, $K/Y$, rapporte le stock de capital, =rnna=, au PIB, =rgdpna=, tous deux aux prix nationaux constants de 2021. #+begin_src python :session regle-d-or :exports code :results none def calibrage(pays): duree = FIN - DEBUT population = pays['pop'].to_numpy() par_tete = (pays['rgdpna']/pays['pop']).to_numpy() n = (population[-1]/population[0])**(1/duree) - 1 x = (par_tete[-1]/par_tete[0])**(1/duree) - 1 return pd.Series({ 'alpha': 1 - pays['labsh'].mean(), 's': (pays['csh_i']*pays['pl_i']/pays['pl_gdpo']).mean(), 's_ppa': pays['csh_i'].mean(), 'delta': pays['delta'].mean(), 'n': n, 'x': x, 'g': n + x, 'KY': (pays['rnna']/pays['rgdpna']).mean()}) pays = donnees.groupby('countrycode').apply(calibrage) print(pays.median().round(3)) #+end_src Les valeurs médianes sont une part du capital de 0,47, un taux d'investissement de 0,24, un taux de dépréciation de 0,041, un taux de croissance de 3,7\nbsp{}% par an et un ratio capital/production de 3,7. La part du capital est nettement plus élevée que la valeur de $1/3$ que l'on retient d'ordinaire\nbsp{}; nous y reviendrons [[#part-du-capital][plus loin]]. * Deux tests, deux verdicts :PROPERTIES: :CUSTOM_ID: tests :END: Le test en stock compare le ratio capital/production observé à celui de la règle d'or, $\alpha/(g + \delta)$, ce qui revient à comparer le rendement net du capital, \(r = \alpha Y/K - \delta\), au taux de croissance. Le test en flux compare le taux d'investissement à la part du capital. #+begin_src python :session regle-d-or :exports code :results none pays['KY_or'] = pays['alpha']/(pays['g'] + pays['delta']) pays['r'] = pays['alpha']/pays['KY'] - pays['delta'] stock = pays['KY'] < pays['KY_or'] flux = pays['s'] < pays['alpha'] print(stock.sum(), flux.sum(), len(pays)) print((stock == (pays['r'] > pays['g'])).all()) print(list(pays.index[~stock])) CHOIX = ['FRA', 'DEU', 'GBR', 'USA', 'JPN', 'KOR', 'CHN', 'IND'] print(pays.loc[CHOIX, ['alpha', 's', 'g', 'delta', 'KY', 'KY_or', 'r']].round(3)) print(pays.loc['CHN', 'alpha'] - pays.loc['CHN', 's']) print((pays['s_ppa'] < pays['alpha']).sum(), list(pays.index[pays['s_ppa'] >= pays['alpha']])) #+end_src Le test en stock conclut à la sous-accumulation dans 71 pays sur 79, et à la sur-accumulation dans les 8 autres\nbsp{}: la Barbade, la Chine, Chypre, l'Équateur, l'Islande, le Nigeria, le Portugal et Taïwan. Le test en flux conclut à la sous-accumulation dans les 79 pays. Le verdict est presque le même si l'on retient, comme dans le cours, la part de l'investissement aux parités de pouvoir d'achat, =csh_i=\nbsp{}: seule la Suisse passe alors en sur-accumulation. Le tableau suivant détaille quelques pays. #+ATTR_HTML: :class numbers | Pays | $\alpha$ | $s$ | $g$ | $\delta$ | $K/Y$ | $\alpha/(g+\delta)$ | $r$ | |-------------+----------+-------+-------+----------+-------+---------------------+-------| | France | 0,337 | 0,237 | 0,027 | 0,030 | 5,62 | 5,93 | 0,030 | | Allemagne | 0,338 | 0,248 | 0,022 | 0,034 | 3,72 | 5,99 | 0,057 | | Royaume-Uni | 0,402 | 0,207 | 0,022 | 0,037 | 4,39 | 6,82 | 0,055 | | États-Unis | 0,386 | 0,222 | 0,030 | 0,038 | 3,53 | 5,73 | 0,072 | | Japon | 0,435 | 0,304 | 0,034 | 0,037 | 4,37 | 6,14 | 0,063 | | Corée | 0,500 | 0,307 | 0,067 | 0,042 | 3,72 | 4,59 | 0,092 | | Chine | 0,416 | 0,370 | 0,076 | 0,054 | 3,45 | 3,22 | 0,067 | | Inde | 0,359 | 0,256 | 0,051 | 0,042 | 3,20 | 3,86 | 0,071 | #+begin_src python :session regle-d-or :exports none :results none DECALAGES = ({'FRA': (4, 4), 'DEU': (4, -10), 'GBR': (4, -10), 'USA': (-24, -10), 'JPN': (4, 4), 'KOR': (-26, 4), 'CHN': (-26, 4), 'IND': (4, -10)}, {'FRA': (-26, -10), 'DEU': (-26, 4), 'GBR': (4, -10), 'USA': (4, 2), 'JPN': (4, 4), 'KOR': (4, 4), 'CHN': (4, 4), 'IND': (4, 4)}) fig, axes = plt.subplots(1, 2, figsize=(10, 4.5)) for ax, (abscisse, ordonnee), decalage in zip(axes, (('KY_or', 'KY'), ('alpha', 's')), DECALAGES): ax.scatter(pays[abscisse], pays[ordonnee], s=10, color='grey') for code in CHOIX: ax.scatter(pays.loc[code, abscisse], pays.loc[code, ordonnee], s=14, color='r') ax.annotate(code, (pays.loc[code, abscisse], pays.loc[code, ordonnee]), xytext=decalage[code], textcoords='offset points', fontsize=8, color='r') bornes = [min(ax.get_xlim()[0], ax.get_ylim()[0]), max(ax.get_xlim()[1], ax.get_ylim()[1])] ax.plot(bornes, bornes, 'k--', linewidth=.8) axes[0].set_xlabel(r"$K/Y$ de la règle d'or, $\alpha/(g+\delta)$") axes[0].set_ylabel(r'$K/Y$ observé') axes[0].set_title('Test en stock') axes[1].set_xlabel(r'part du capital, $\alpha$') axes[1].set_ylabel(r"taux d'investissement, $s$") axes[1].set_title('Test en flux') fig.tight_layout() fig.savefig("regle-d-or-tests.svg", transparent=True) #+end_src #+CAPTION: *Les deux tests de la règle d'or, pour 79 pays (moyennes 1960-2023). Les pays situés sous la première bissectrice sont en sous-accumulation.* #+LABEL: fig:tests [[file:regle-d-or-tests.svg]] Les deux nuages sont très différents. Dans le test en flux, tous les pays sont nettement sous la bissectrice\nbsp{}: la médiane du taux d'investissement est la moitié de celle de la part du capital, et même la Chine, qui investit 37\nbsp{}% de son revenu, reste en deçà. Dans le test en stock, les pays sont plus proches de la bissectrice, et quelques-uns la franchissent. La France est presque à la règle d'or, avec un ratio capital/production de 5,6 pour une valeur de référence de 5,9, alors que les États-Unis en sont loin, avec 3,5 pour 5,7. La Chine est le cas le plus frappant\nbsp{}: le test en stock la classe en sur-accumulation, le test en flux en sous-accumulation, avec un revenu du capital qui dépasse l'investissement de 4,6 points de PIB. * D'où vient l'écart\nbsp{}? :PROPERTIES: :CUSTOM_ID: ecart :END: Les deux tests ne peuvent diverger que si le ratio capital/production observé s'écarte de sa valeur d'état stationnaire, \(s/(g + \delta)\), calculée avec le taux d'investissement, la croissance et la dépréciation observés. C'est ce que montre la figure suivante. #+begin_src python :session regle-d-or :exports code :results none pays['KY_ss'] = pays['s']/(pays['g'] + pays['delta']) rapport = pays['KY']/pays['KY_ss'] print(rapport.median(), rapport.quantile(0.1), rapport.quantile(0.9)) print((rapport > 1).sum()) #+end_src #+begin_src python :session regle-d-or :exports none :results none fig, ax = plt.subplots(figsize=(5.5, 4.5)) ax.scatter(pays['KY_ss'], pays['KY'], s=10, color='grey') for code, decalage in (('FRA', (4, 4)), ('DEU', (4, -10)), ('USA', (4, -10)), ('CHN', (-26, 4))): ax.scatter(pays.loc[code, 'KY_ss'], pays.loc[code, 'KY'], s=14, color='r') ax.annotate(code, (pays.loc[code, 'KY_ss'], pays.loc[code, 'KY']), xytext=decalage, textcoords='offset points', fontsize=8, color='r') bornes = [min(ax.get_xlim()[0], ax.get_ylim()[0]), max(ax.get_xlim()[1], ax.get_ylim()[1])] ax.plot(bornes, bornes, 'k--', linewidth=.8) ax.set_xlabel(r"$K/Y$ d'état stationnaire, $s/(g+\delta)$") ax.set_ylabel(r'$K/Y$ observé') fig.tight_layout() fig.savefig("regle-d-or-identite.svg", transparent=True) #+end_src #+CAPTION: *Ratio capital/production observé et ratio d'état stationnaire implicite, $s/(g+\delta)$, pour 79 pays (moyennes 1960-2023).* #+LABEL: fig:identite [[file:regle-d-or-identite.svg]] Le ratio observé dépasse le ratio d'état stationnaire dans 64 pays sur 79, de 25\nbsp{}% en médiane\nbsp{}; pour un pays sur dix, l'écart dépasse 88\nbsp{}%. C'est cet écart qui rapproche les pays de la bissectrice dans le test en stock. Deux raisons peuvent l'expliquer. \\ La première est que les économies ne sont pas à leur état stationnaire. La relation \(K/Y = s/(g + \delta)\) ne vaut que sur le sentier de croissance équilibrée, où le ratio capital/production est constant. Or il ne l'est pas sur la période\nbsp{}: #+begin_src python :session regle-d-or :exports code :results none KY = (donnees['rnna']/donnees['rgdpna']).unstack('countrycode') print(KY.loc[[DEBUT, FIN], ['FRA', 'DEU', 'USA', 'CHN']].round(2)) #+end_src #+begin_src python :session regle-d-or :exports none :results none fig, ax = plt.subplots(figsize=(7, 4)) for code, couleur in (('FRA', 'b'), ('DEU', 'k'), ('USA', 'g'), ('CHN', 'r')): ax.plot(KY.index, KY[code], couleur, label=code) ax.set_xlabel('année') ax.set_ylabel(r'$K/Y$') ax.legend() fig.tight_layout() fig.savefig("regle-d-or-ky.svg", transparent=True) #+end_src #+CAPTION: *Ratio capital/production (stock de capital et PIB aux prix nationaux constants de 2021).* #+LABEL: fig:ky [[file:regle-d-or-ky.svg]] Le ratio de la Chine a doublé entre 1960 et 2023, de 2,7 à 5,5, celui de l'Allemagne est passé de 2,7 à 4,1. Ces économies ont accumulé du capital plus vite qu'elles ne produisaient\nbsp{}: elles étaient en transition. Comme dans la simulation de la section [[#flux][précédente]], le test en stock mesure alors le capital hérité autant que le comportement d'épargne. \\ La seconde raison est que le stock de capital n'est pas observé. Les statisticiens le construisent par la méthode de l'inventaire permanent, en cumulant les investissements passés, évalués aux prix d'une année de référence, et en retranchant une dépréciation calculée à partir d'hypothèses sur la durée de vie des équipements. Le résultat dépend de ces hypothèses, du stock initial retenu et des indices de prix de l'investissement, alors que la part du capital et le taux d'investissement sont des parts du revenu courant, lues directement dans les comptes nationaux, aux mêmes prix. Le test en stock cumule donc des erreurs de mesure que le test en flux évite, puisqu'il ne fait intervenir ni le stock de capital, ni la dépréciation, ni le taux de croissance. ** Quel taux d'intérêt\nbsp{}? On pourrait vouloir contourner la mesure du capital en comparant directement un taux d'intérêt observé au taux de croissance. Mais quel taux d'intérêt retenir\nbsp{}? Aux États-Unis, entre 1889 et 1978, le rendement réel moyen des titres à court terme pratiquement sans risque (des bons du Trésor à partir de 1931) a été de 0,8\nbsp{}% par an, inférieur au taux de croissance, tandis que celui des actions a été de 7\nbsp{}% par an, bien supérieur (Mehra et Prescott, 1985). Avec le premier, on conclurait à la sur-accumulation, avec le second à la sous-accumulation. L'écart entre ces deux rendements rémunère le risque, qui est absent du modèle de Solow, et rien n'indique lequel des deux joue le rôle du $r$ du modèle. Le test en flux évite aussi cette difficulté\nbsp{}: il ne demande pas de choisir un taux d'intérêt. * La part du capital :PROPERTIES: :CUSTOM_ID: part-du-capital :END: Les deux tests reposent sur la part du capital, mesurée ici comme le complément à un de la part du travail. Cette mesure est délicate pour deux raisons. D'abord, le revenu des travailleurs indépendants rémunère à la fois leur travail et leur capital. Compté entièrement comme un revenu du capital, il conduit à des parts du travail très faibles dans les pays pauvres, où l'emploi indépendant est important. Gollin (2002) montre qu'une fois ce revenu partagé, la part du travail est comprise entre 0,65 et 0,80 dans la plupart des pays. Les PWT imputent une partie de ce revenu au travail, mais l'imputation reste fragile. Ensuite, le complément de la part du travail contient tout ce qui ne rémunère pas le travail, y compris les rentes foncières et celles des ressources naturelles, qui ne rémunèrent pas un capital accumulé. La part du capital médiane de notre échantillon, 0,47, est d'ailleurs bien supérieure à la valeur de $1/3$ que l'on retient habituellement. Voyons comment les deux verdicts changent lorsque l'on impose une même part du capital à tous les pays. #+begin_src python :session regle-d-or :exports code :results none for a in (0.30, 1/3, 0.40): print(round(a, 3), (pays['KY'] < a/(pays['g'] + pays['delta'])).sum(), (pays['s'] < a).sum()) print(list(pays.index[pays['s'] >= 0.30])) #+end_src #+ATTR_HTML: :class numbers | Part du capital | Test en stock | Test en flux | |--------------------+---------------+--------------| | $0{,}30$ | 38 | 69 | | $1/3$ | 53 | 76 | | $0{,}40$ | 65 | 78 | | propre à chaque pays | 71 | 79 | Le tableau donne le nombre de pays en sous-accumulation, sur 79. Le verdict du test en stock est très sensible à la part du capital\nbsp{}: avec $0{,}30$, il ne classe plus que la moitié des pays en sous-accumulation. Le test en flux est bien plus robuste, car le taux d'investissement est le plus souvent nettement inférieur à toutes ces valeurs\nbsp{}: seuls les pays qui investissent plus de 30\nbsp{}% de leur revenu, comme la Chine, le Japon, la Corée ou Singapour, changent de camp lorsque la part du capital est ramenée à $0{,}30$. \\ Ce sont précisément ces pays pour lesquels le verdict est contesté. En reprenant le critère d'Abel et al. (1989) avec des comptes nationaux qui distinguent mieux le revenu des indépendants, et en retirant du revenu du capital les rentes foncières, qui sont très élevées au Japon et en Corée, Geerolf (2018) conclut que ces deux pays ont sur-accumulé, et que le critère n'est vérifié pour aucune économie avancée. Le test en flux est plus robuste que le test en stock, mais il ne l'est pas plus que la mesure de la part du capital sur laquelle il repose. * Conclusion Le test en flux ne dépend ni de la mesure du capital, ni de l'hypothèse d'état stationnaire, ni du choix d'un taux d'intérêt. Avec les données des PWT, il conclut que les économies de notre échantillon n'ont pas trop épargné entre 1960 et 2023, avec une large marge pour la plupart d'entre elles. Pour les économies qui investissent le plus, comme le Japon ou la Corée, le verdict dépend en revanche de la façon dont on isole la rémunération du capital accumulé dans le revenu. \\ Faut-il en conclure qu'elles devraient épargner davantage\nbsp{}? Pas nécessairement. Augmenter le taux d'épargne vers la règle d'or augmente la consommation de long terme, mais la réduit d'abord\nbsp{}: les générations présentes paieraient pour les générations futures. Pour les États-Unis, porter le taux d'épargne à la part du capital augmenterait la consommation de long terme de 12\nbsp{}%, mais la réduirait immédiatement de 21\nbsp{}%, et il faudrait 23 ans pour retrouver le niveau initial ([[ex-cout][exercice 3]]). La règle d'or ne dit rien de cet arbitrage entre générations. Dans le modèle de Ramsey, où l'épargne résulte des choix de ménages qui préfèrent le présent, l'état stationnaire optimal se situe d'ailleurs en deçà de la règle d'or\nbsp{}: c'est la règle d'or /modifiée/, où le rendement net du capital dépasse le taux de croissance. La sous-accumulation que révèlent les données n'est donc pas une anomalie. La sur-accumulation, en revanche, en serait une, et c'est pourquoi il importe de pouvoir l'écarter. * Exercices :PROPERTIES: :CUSTOM_ID: exercices :END: #+NAME: ex-phelps #+BEGIN_exercice On ne suppose plus la fonction de production Cobb-Douglas. Montrez qu'à la règle d'or, le taux d'épargne est égal à la part du capital dans le revenu, \(\pi(\hat k) = f'(\hat k)\hat k/f(\hat k)\). Montrez ensuite qu'à l'état stationnaire, \(r^{\star} > g\) si et seulement si \(s < \pi(\hat k^{\star})\). Le test en flux reste-t-il valable\nbsp{}? #+END_exercice #+ATTR_HTML: :class corrige #+BEGIN_details #+BEGIN_summary Corrigé #+END_summary À l'état stationnaire, \(s = (g + \delta)\hat k^{\star}/f(\hat k^{\star})\). À la règle d'or, \(g + \delta = f'(\hat k_{\mathrm{or}})\), d'où \(s_{\mathrm{or}} = f'(\hat k_{\mathrm{or}})\hat k_{\mathrm{or}}/f(\hat k_{\mathrm{or}}) = \pi(\hat k_{\mathrm{or}})\). Plus généralement, à l'état stationnaire, \begin{equation*} \pi(\hat k^{\star}) - s = \frac{\hat k^{\star}}{f(\hat k^{\star})}\bigl(f'(\hat k^{\star}) - (g + \delta)\bigr) = \frac{\hat k^{\star}}{f(\hat k^{\star})}\,(r^{\star} - g) \end{equation*} qui est du signe de \(r^{\star} - g\). Le test en flux reste donc valable, à condition de comparer le taux d'investissement à la part du capital effectivement observée, $\pi(\hat k^{\star})$. C'est d'ailleurs ce que fait le test sur données, puisque la part du capital y est mesurée et non déduite d'une fonction de production. Ce résultat, qui ne dépend pas de la forme de la fonction de production, est dû à Phelps (1961). Avec une fonction CES, la part du capital varie avec le capital (voir la note sur [[https://stephane-adjemian.fr/posts/fonction-de-production-ces/][la fonction de production CES]])\nbsp{}: le taux d'épargne de la règle d'or est alors la part du capital évaluée en $\hat k_{\mathrm{or}}$, et non une constante. #+END_details #+NAME: ex-repas-gratuit #+BEGIN_exercice Une économie Cobb-Douglas est à son état stationnaire avec un taux d'épargne \(s > \alpha\). À la date $0$, le taux d'épargne est ramené à $\alpha$. Montrez que la consommation par tête efficace est alors supérieure, à toutes les dates \(t \geq 0\), à sa valeur initiale $\hat c^{\star}$. On pourra écrire \(\hat c = f(\hat k) - (g + \delta)\hat k - \dot{\hat k}\). #+END_exercice #+ATTR_HTML: :class corrige #+BEGIN_details #+BEGIN_summary Corrigé #+END_summary Puisque \(\dot{\hat k} = s f(\hat k) - (g + \delta)\hat k\), la consommation s'écrit \(\hat c = (1 - s)f(\hat k) = f(\hat k) - (g + \delta)\hat k - \dot{\hat k}\). Après la baisse du taux d'épargne, le capital décroît de façon monotone de l'ancien état stationnaire $\hat k^{\star}$ vers $\hat k_{\mathrm{or}}$, qui lui est inférieur. Sur l'intervalle \([\hat k_{\mathrm{or}}, \hat k^{\star}]\), la fonction \(\varphi(\hat k) = f(\hat k) - (g + \delta)\hat k\) est décroissante, puisque \(f'(\hat k) \leq f'(\hat k_{\mathrm{or}}) = g + \delta\)\nbsp{}: elle est donc supérieure à \(\varphi(\hat k^{\star}) = \hat c^{\star}\) le long de la transition. Comme par ailleurs \(\dot{\hat k} < 0\), il vient \(\hat c(t) = \varphi(\hat k(t)) - \dot{\hat k}(t) > \hat c^{\star}\) pour tout \(t \geq 0\). En sur-accumulation, épargner moins augmente la consommation dès la date $0$ et pour toujours\nbsp{}: aucune génération n'y perd. C'est ce qui fait de la sur-accumulation une situation inefficace, et non un simple choix entre générations. #+END_details #+NAME: ex-cout #+BEGIN_exercice Une économie Cobb-Douglas est à son état stationnaire avec un taux d'épargne \(s < \alpha\). À la date $0$, le taux d'épargne est porté à $\alpha$. 1. Calculez le rapport de la consommation de long terme à la consommation initiale, puis la baisse de la consommation à la date $0$. 2. À l'aide de la solution exacte de l'équation de Solow, calculez la date à laquelle la consommation retrouve son niveau initial. 3. Faites l'application numérique pour les États-Unis, avec les valeurs du tableau de la section [[#tests][des tests]]. #+END_exercice #+ATTR_HTML: :class corrige #+BEGIN_details #+BEGIN_summary Corrigé #+END_summary À l'état stationnaire, \(\hat c^{\star}(s) = (1 - s)\bigl(s/(g + \delta)\bigr)^{\alpha/(1 - \alpha)}\), d'où le rapport \begin{equation*} \frac{\hat c^{\star}(\alpha)}{\hat c^{\star}(s)} = \frac{1 - \alpha}{1 - s}\left(\frac{\alpha}{s}\right)^{\frac{\alpha}{1 - \alpha}} \end{equation*} À la date $0$, le capital n'a pas encore bougé et la production non plus\nbsp{}: la consommation passe de \((1 - s)\hat y^{\star}\) à \((1 - \alpha)\hat y^{\star}\), et est donc multipliée par \((1 - \alpha)/(1 - s) < 1\). Ensuite, la consommation vaut \((1 - \alpha)\hat k(t)^{\alpha}\), et retrouve son niveau initial lorsque \(\hat k(t)^{\alpha} = \hat k^{\star\alpha}(1 - s)/(1 - \alpha)\). En notant \(z = \hat k^{1 - \alpha}\), la solution exacte s'écrit \(z(t) = z_{\mathrm{or}} + (z_0 - z_{\mathrm{or}})e^{-(1 - \alpha)(g + \delta)t}\), avec \(z_0 = s/(g + \delta)\) et \(z_{\mathrm{or}} = \alpha/(g + \delta)\). La date cherchée est donc \begin{equation*} t_1 = -\frac{1}{(1 - \alpha)(g + \delta)}\log\frac{z_1 - z_{\mathrm{or}}}{z_0 - z_{\mathrm{or}}}, \quad\text{où}\quad z_1 = z_0\left(\frac{1 - s}{1 - \alpha}\right)^{\frac{1 - \alpha}{\alpha}} \end{equation*} #+begin_src python :session regle-d-or :exports code :results none a, s_us, g_us, d_us = pays.loc['USA', ['alpha', 's', 'g', 'delta']] gain = (1 - a)/(1 - s_us)*(a/s_us)**(a/(1 - a)) choc = (1 - a)/(1 - s_us) z0, z_or = s_us/(g_us + d_us), a/(g_us + d_us) z1 = z0*((1 - s_us)/(1 - a))**((1 - a)/a) t1 = -np.log((z1 - z_or)/(z0 - z_or))/((1 - a)*(g_us + d_us)) print(gain, choc, t1) #+end_src Pour les États-Unis, la consommation de long terme augmenterait de 12\nbsp{}%, mais la consommation baisserait de 21\nbsp{}% à la date $0$, et ne retrouverait son niveau initial qu'au bout de 23 ans. Une génération entière consommerait moins que si le taux d'épargne n'avait pas changé. #+END_details #+NAME: ex-duree #+BEGIN_exercice Dans la simulation de la section [[#flux][sur la lecture en flux]], l'économie part de \(\hat k(0) = 2\hat k_{\mathrm{or}}\) avec \(s < \alpha\). Montrez que \(r(t) < g\) si et seulement si \(\hat k(t) > \hat k_{\mathrm{or}}\), puis calculez la date $T$ à laquelle le rendement net du capital rejoint le taux de croissance. #+END_exercice #+ATTR_HTML: :class corrige #+BEGIN_details #+BEGIN_summary Corrigé #+END_summary Puisque $f'$ est décroissante, \(r(t) = f'(\hat k(t)) - \delta < g = f'(\hat k_{\mathrm{or}}) - \delta\) si et seulement si \(\hat k(t) > \hat k_{\mathrm{or}}\). Le capital décroît de façon monotone vers \(\hat k^{\star} < \hat k_{\mathrm{or}}\)\nbsp{}: il passe une seule fois par $\hat k_{\mathrm{or}}$. Avec \(z = \hat k^{1 - \alpha}\), \(z(t) = z^{\star} + (z_0 - z^{\star})e^{-(1 - \alpha)(g + \delta)t}\), où \(z^{\star} = s/(g + \delta)\), \(z_{\mathrm{or}} = \alpha/(g + \delta)\) et \(z_0 = 2^{1 - \alpha}z_{\mathrm{or}}\). La date $T$ vérifie \(z(T) = z_{\mathrm{or}}\), soit \begin{equation*} T = -\frac{1}{(1 - \alpha)(g + \delta)}\log\frac{z_{\mathrm{or}} - z^{\star}}{z_0 - z^{\star}} = -\frac{1}{(1 - \alpha)(g + \delta)}\log\frac{\alpha - s}{2^{1 - \alpha}\alpha - s} \end{equation*} C'est la formule utilisée dans le texte\nbsp{}: avec \(\alpha = 1/3\), \(s = 0{,}2\), \(g = 0{,}03\) et \(\delta = 0{,}04\), on trouve \(T \approx 19{,}4\) ans. La durée ne dépend de $n$, $x$ et $\delta$ qu'à travers la vitesse \((1 - \alpha)(g + \delta)\) de la transition. #+END_details * Références La règle d'or, et le fait qu'elle égalise le taux d'épargne et la part du capital pour toute fonction de production, sont dus à Phelps, E. (1961), « The Golden Rule of Accumulation: A Fable for Growthmen », /American Economic Review/, 51(4), 638-643. Le critère qui compare le revenu du capital à l'investissement, et sa justification en univers incertain, sont dus à Abel, A., Mankiw, N. G., Summers, L. et Zeckhauser, R. (1989), « Assessing Dynamic Efficiency: Theory and Evidence », /Review of Economic Studies/, 56(1), 1-19. Ils concluent que les États-Unis et six autres grands pays de l'OCDE sont dynamiquement efficaces. Geerolf, F. (2018), « Reassessing Dynamic Efficiency », document de travail, UCLA, réexamine ce verdict avec des données plus récentes. Sur la mesure de la part du travail, voir Gollin, D. (2002), « Getting Income Shares Right », /Journal of Political Economy/, 110(2), 458-474. Les rendements des actions et des titres sans risque américains sont tirés de Mehra, R. et Prescott, E. (1985), « The Equity Premium: A Puzzle », /Journal of Monetary Economics/, 15(2), 145-161. \\ Les données proviennent de la version 11.0 des Penn World Tables (Groningen Growth and Development Centre, 2025, [[https://doi.org/10.34894/FABVLR][doi:10.34894/FABVLR]]), décrites dans Feenstra, R., Inklaar, R. et Timmer, M. (2015), « The Next Generation of the Penn World Table », /American Economic Review/, 105(10), 3150-3182. Sur le modèle de Solow lui-même, on se reportera aux notes [[https://stephane-adjemian.fr/posts/modele-de-solow/][sur le modèle de Solow]] et [[https://stephane-adjemian.fr/posts/simulation-du-modele-de-solow/][sur sa simulation]]. \\ \\ \\