Le détail du truc

À propos du truc de Piketty, vous êtes un certain nombre à me réclamer le détail des calculs. Les résultats que je vous propose sont le fruit de simulations que j’ai programmé sous R (ce blog vous sera peut-être utile). Ci-dessous, vous trouverez un exemple de code (simplifié pour une lecture plus facile) qui vous permettra de vérifier mes chiffres et de jouer avec.

Nous allons faire un essai sur une population de N individus (ici 1 millions [1]) pendant T années (ici 25) :

N <- 1e6
T <- 25

On génère une distribution aléatoire des patrimoines initiaux avec la fonction rgamma (la distribution Gamma pour l’asymétrie [2]) et un paramètre de forme de 0,04 (pour encore plus d’asymétrie) et on multiplie le tout par 1 million pour que ça ressemble à des patrimoines plutôt qu’à de la menue monnaie (pure coquetterie) :

Init <- 1e6 * rgamma(N, .04)

À ce stade, vous pouvez vérifier qu’on obtient une distribution des patrimoines nettement asymétrique et que le 1% détient un peu plus de 40% du total.

On créé une matrice vide K de T+1 lignes et N colonnes pour stocker les patrimoines, on colle les patrimoines de départ dans la première ligne et on créé un vecteur r d’espérances de rendement — ici, c’est 2% pour tout le monde.

K <- matrix(NA, T+1, N)
K[1, ] <- Init
r <- rep(.02, N)

Pour chaque année de 2 à T+1, on fait varier le capital de l’année précédente avec une variable (pseudo-) aléatoire qui suit une loi normale (fonction rnorm) avec une espérance r (donc 2%) et un écart-type de 20%.

for(t in 2:(T+1)) {
 K[t, ] <- K[t-1, ] * (1 + rnorm(N, r[t], .2))
}

Nous voilà donc avec une matrice de patrimoines qui, vous en conviendrez, ne donne aucun avantage aux riches.

Puisqu’on en parle, calculons le patrimoine du 1% :

W <- matrix(NA, T+1, 1)
for(t in 1:(T+1)) {
 q <- quantile(K[t, ], seq(0, 1, .01))
 W[t, ] <- mean(K[t, K[t, ] >= q[100]])
}

De là, vous pouvez mesurer la variation annualisée du capital moyen :

as.numeric(100*(mean((K[nrow(K), ])/mean(K[1, ]))^(1/T)-1))
Et celle du capital du 1% :
as.numeric(100*((W[nrow(W), ]/W[1, ] )^(1/T)-1))

Avec ces paramètres, je trouve (environ) 2% pour le commun des mortels et plus de 3% pour le 1% (ça dépend des tirages).

En restreignant le groupe des ultrariches aux 0,1%, je dépasse les 5% (et ainsi de suite).

for(t in 1:(T+1)) {
 q <- quantile(K[t, ], seq(0, 1, .001))
 W[t, ] <- mean(K[t, K[t, ] >= q[1000]])
}

Assez logiquement, l’écart augmente avec l’espérance et l’écart-type et il se réduit plus la distribution initiale est égalitaire.

---
[1] Attention, c’est du lourd ! En fonction de la puissance de votre machine, il est possible que ce soit un peu trop.
[2] Dans mes premiers calculs, j’ai utilisé une distribution uniforme or, il se trouve que l’asymétrie de la distribution initiale a un impact non-négligeable sur les résultats : raison pour laquelle une distribution Gamma me semble plus honnête.

5 commentaires:

  1. "Nous voilà donc avec une matrice de patrimoines qui, vous en conviendrez, ne donne aucun avantage aux riches."

    Si. Il n'y a en effet aucune raison objective pour qu'il ne soit pas plus difficile de gagner 2% avec un patrimoine de 1000 plutôt qu'avec un patrimoine de 10. La réalité est que, d'un patrimoine de zéro, créer de la valeur constitue une augmentation infinie. Donc une fonction réaliste véritable de rendement aléatoire doit être une fonction qui dépend du patrimoine, tendant vers l'infini pour les patrimoines nuls.

    Par ailleurs on ne voit toujours pas dans cette explications où vont les taxes, à qui elles sont redistribuées ? Une explication informatique ne constitue en soi aucune explication de quoi que ce soit.

    RépondreSupprimer
  2. La "pensée" technicienne va de paire avec l'idéologie du capital - Cf. Ellul.

    Un milliard, et après ?

    Deux ?

    RépondreSupprimer
  3. Bonjour, je trouve vos simulations particulièrement intéressantes et j'aimerais avoir plus de détail sur votre second commentaire. Quel est cet impact non-négligeable du changement de distribution (passage d'une distribution uniforme (société plus "égalitaire") vers une distribution gamma)?

    RépondreSupprimer
    Réponses
    1. Plus la distribution initiale est asymétrique, plus les transition d'un groupe à l'autre son longue.

      Supprimer
  4. Merci. Vous n'auriez pas la meme en format excel? Si vous pouviez m'emailer un fichier a guillaume.bougard@gmail.com pour que je l'etudie et finisse par comprendre, ca serait top. Car le je ne suis pas et comme je suis mauvais en maths/stats/etc, mais pas nullissime en excel, a force d'efforts, je pense que je pourrais finir par piger!
    Merci

    RépondreSupprimer

ChallengeR #5

Votre dernière mission consistait à trouver la fonction locf (qui remplace les NA par la dernière valeur connue) la plus compacte possibl...