#+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]].
\\
\\
\\