Tag Archives: inflation

Retour au Franc (back to the 70’s)

L’autre jour, en regardant des catalogues de jeux avec les enfants, je me suis fait la réflexion que les prix des jouets (en dollars canadiens) me faisaient penser au prix des jouets (en francs) quand j’étais petit. Je me suis souvenu d’un Noël où mon père me demandait si je voulais vraiment le truc-que-j’ai-depuis-oublié parce que, quand même, c’était cher, ça coutait “plus que 100 Fr“. Et ce matin, au cours une discussion entre tekool et tanx_xx (sur Twitter) j’ai vu passer le message suivant “Entre les années 70 et aujourd’hui il faut simplement (c’est sérieux) convertir de francs à euros” suivi de “Je veux dire un francs en 70 c’est un euros aujourd’hui“. Ce qui confirmerait mon intuition (et tenant compte du taux de change euro-dollar, car mon enfance, c’est plutôt les années 80).

Pour vérifier cette histoire, je suis allé chercher des taux d’inflation, et des évolutions d’indices de prix. Pour avoir des données mensuelles, il suffisait d’aller sur http://bdm.insee.fr/… mais les donnes remontent seulement aux années 90. En revanche, http://france-inflation.com/… remonte à 1901 (un tout petit peu avant ma naissance comme dirait ma fille), mais en données annuelles. La bonne chose est que les deux séries sont consistantes,

> T1=ts(insee,start=1990,frequency=12)
> T2=ts(inffrance,start=1901,frequency=1)
> plot(lag(T1,6),xlim=c(1970,2012),ylim=c(20,130),col="red",lwd=2)
> lines(T2,col="blue")

et si on regarder la variation de l’indice des prix, on retrouve un niveau d’inflation comparable là aussi

> plot(diff(T2)/T2*100,col="blue",ylab="Inflation (%)",xlim=c(1960,2012),ylim=c(0,15))
> lines(lag(diff(T1,12)/T1*100,6),col="red")

L’idée va être d’utiliser le taux annuel, éventuellement interpolé (linéairement pour faire simple), pour voir quand le niveau des prix était 6,5597 fois plus faible qu’aujourd’hui. On peut utiliser la petite fonction

> interpol.linear = function(u,n){
+ v=u[1]
+ for(i in 1:(length(u)-1)){
+ v=c(v,seq(u[i],u[i+1],length=n+1)[-1])}
+ return(v)}

On crée alors un vecteur d’indice des prix plus fin (à partir des prix annuels),

> h=50
> T2b=interpol.linear(T2,n=50)

On va alors chercher quand avec 1 Fr. on avait l’équivalent de 1 € (aujourd’hui)

> last=T2b[length(T2b)]
> euro=6.5597
> level=last/euro
> max(which(T2b<=level))/h+1900
[1] 1969.92

Effectivement, début 1970, les prix devaient correspondre. Si quelqu’un a un vieux catalogue de vente par correspondance de cette époque, je pense qu’on pourrait regarder les montants nominaux. Ça fait donc environ 42 ans…

> date=1901+seq(0,by=1/h,length=length(T2b))
> when=function(D){	
+ last=T2b[max(which(date<=D))]
+ euro=6.5597
+ level=last/euro
+ return(D-max(which(T2b<=level))/h-1900)}
> when(2012)
[1] 42.08

Ça fait beaucoup ou pas ? Car les prix montent, ce n’est un secret pour personne (ou presque)

Si on avait un taux d’inflation (annualisé) à 5%, il faudrait attendre https://latex.codecogs.com/gif.latex%20?T (années) avant de multiplier les prix par 6.5597, avec https://latex.codecogs.com/gif.latex%20?T solution de

soit

https://latex.codecogs.com/gif.latex%20?T=\frac{\log%206.5597}{\log%201.05}\sim%2038.5517

comme en témoigne le calcul

> log(6.5597)/log(1.05)
[1] 38.55172

Bref, une quarantaine d’années est un ordre de grandeur plausible (car l’inflation n’a pas été constante pendant les 40 dernières années en France, loin de là). En fait, on peut faire des calculs, pour voir, dans le passé combien de temps il a fallu attendre avant d’avoir une telle hausse des prix,

> VD=seq(1985,2012,by=.5)
> VW=Vectorize(when)(VD)
> plot(VD,VW,type="l",col="purple",ylab="Nombre d'années",lwd=2)

On retrouve ici le faut que l’inflation a fortement baissé. Lors du passage à l’euro, en 2002, les prix (nominaux) étaient les mêmes que ceux affichés 35 ans auparavant

> when(2002)
[1] 35.3

Amusant non ? Je laisse les amateurs d’actualisation interpréter maintenant le fait que le temps à attendre soit linéaire depuis une quinzaine d’années…

“Le prix de l’or bat de nouveaux records”… et alors ?

Histoire de changer un peu, un rapide billet d’économie… bien que l’économie monétaire ne soit pas mon domaine de prédilection, loin de là. Mes compétences en la matière (comme sur beaucoup de notions en économie) se limitent à la lecture (mais aussi une intense relecture) d’Obélix et Compagnie

je dois avouer que je suis surpris par les commentaires de certains journalistes économiques, qui nous expliquent que “l’or a atteint des niveaux historiques” (ici, même si ça date un peu) ou que “le prix de l’or bat de nouveaux records” (ce matin cette fois, ). On peut aussi lire ici ou . On peut s’en convaincre en jetant un œil aux graphiques ici, , ou encore. Sans vouloir être méchant, si je transpose ca a une discussion que je pourrais avoir avec mes enfants, ça donnerait: “On a mis 150 euros sur un livret A le jour de votre naissance… c’est incroyable, mais tous les 15 jours, on bat des records: vous êtes de plus en plus riche !”

En fait, effectivement, le prix de l’or atteint des records… mais qu’est-ce que je peux faire de ce “prix historique” quand on sait qu’à coté, tout augmente (comme dirait ma grand mère)… On pourrait normaliser par rapport a autre chose, par exemple un indice boursier (car on parle d’investissement), ou comme le font plutôt les économistes, avec quelque chose en rapport avec la masse monétaire. Non ?
Faisons les calculs: les séries du prix de l’or se trouvent ici par exemple (avec des séries journalières pour les années les plus récentes), et pour les données permettant d’actualiser, on pourra aller ici. Pour faire simple, je me suis contenté des données mensuelles en ligne ici, et pour la masse monétaire, M3 serait pas mal (je renvoie ici pour les détails), mais la Réserve Fédérale américaine ne le publie plus depuis 2006. J’aurais bien aimé aller ici, mais c’est payant. Finalement je suis allé , en extrapolant M3 sur les années récentes (de 2006 à 2010) en utilisant le taux de croissance observé sur M2. Les données ne sont pas corrigées des variations saisonnières.

>  OR = read.table("https://perso.univ-rennes1.fr/
arthur.charpentier/prix-or-mensuel.csv",
+ sep=";",header=TRUE)
>  tOR=as.vector(t(OR[,2:13]))
>  VOR=tOR[1:511]

car j’avais mis des 0 pour les mois non observés de 2010 (on les supprime tout simplement). Sinon on retrouve la courbe qui indique qu’effectivement, on a atteint des records…

>    TOR=ts(VOR, frequency = 12, start = c(1968, 1))
>    plot(TOR,col="red")

So what ? Regardons un peu notre masse monétaire qui permettra de ramener le prix de l’or dans le passé au prix réel de l’argent,

>    M = read.table("https://perso.univ-rennes1.fr/
arthur.charpentier/M1M2M3.txt")
>    M2=as.numeric(as.character(rev(M$V4)))
>    M3=as.numeric(as.character(rev(M$V5)))
>    M2b=M2[560:length(M2)]/M2[559]
>    M3[560:length(M3)]=M3[559]*M2b
>    TM3=ts(M3,frequency=12,start=c(1959,1))
>    plot(TM3,col="blue")

Bon, j’ai fait une approximation rapide, mais c’est vraiment histoire de voir ce qui se passe si on normalise le prix de l’or. Ceux qui veulent aller plus loin peuvent améliorer le code. Et en corrigeant pour travailler à quantité d’argent équivalent, on obtient des choses un peu différentes (j’aime les euphémismes)

>    TM3b=ts(M3[(12*9+1):length(M3)],
+    frequency = 12, start = c(1968, 1))
>    TORb=TOR/TM3b
>    plot(TORb,col="purple")
>    abline(h=TORb[length(TORb)],lty=2)

On a certes une hausse relativement importante depuis un peu moins de 10 ans du prix de l’or, mais le niveau n’est en rien comparable avec la crise qui s’est observé en 1980 (évoqué ici, , ou encore). Fort heureusement, on ne nous tient pas le même discours sur le PIB, nous expliquant qu’il ne cesse de battre, mois après mois, de nouveaux records ! On notera que ce graphique se rapproche d’autres, en ligne, ici ou
Pour ceux qui ne sont pas convaincu que l’or puisse être relié à une grandeur monétaire, on peut voir l’or comme une alternative à un placement en bourse, et comparer à un indice boursier (par exemple le SP500 pour rester aux États Unis),

>    SP=read.table("http://ichart.finance.yahoo.com/
table.csv?s=%5EGSPC&a=00&b=1&c=1968&d=08
&e=18&f=2010&g=m&ignore=.csv",
+       sep=",",header=TRUE)
>    tSP=rev(SP$Close)
>    TSP=ts(tSP, frequency = 12, start = c(1968, 1))
>    plot(TSP,col="red")

>    TORc=TOR/TSP
>    plot(TORc,col="purple")
>    abline(h=TORc[length(TORc)],lty=2)

Bref, quelle que soit la quantité retenue pour normaliser, on se rend compte que les niveaux atteints ces derniers mois sont très loin de ceux observés en 1980, voire dans les années 80. Pas de quoi en faire la une de la presse….