À partir de la formulation simple on peut déduire \[ \mathop{ds}=(1-\alpha k)\mathop{dss}\] Une politique budgétaire restrictive réduit le déficit si \(k<\frac{1}{\alpha}\). Si le multiplicateur est élevé, alors l’effet de retour est plus fort (la baisse des dépenses (ou hausse des impôts) se traduit par une baisse d’activité qui va baisser d’autant plus les recettes)
Exemple: un modèle IS-LM simplissime
\[ Y = C(Y-T) + I + G\\ \implies Y = cY - cT + I + G\\ \implies Y = \frac{I - cT + G}{(1-c)}\\ \implies \frac{\mathop{dY}}{\mathop{dG}} = \frac{1}{1-c} \] avec \(c\) la propension marginale à consommer des ménages, \(Y\) la production (=revenu), \(I\) l’investissement, \(C\) la consommation, \(G\) la dépense publique et \(T\) les prélèvements obligatoires. Comment expliquer l’effet multiplicateur ici ? Une baisse des dépenses publiques entraine une baisse du revenu des ménages qui consomment moins, ce qui entraine à nouveau une baisse de la production et donc du revenu et ainsi de suite. Plus les ménages consomment une part importante de leur revenu supplémentaire (cà d, plus leur propension marginale à consommer est forte, \(c\rightarrow 1\)), plus l’effet multiplicateur sera important.
# On télécharge les données depuis DB.Nomics, un aggrégateur de données développé au Cepremap
api <- "https://api.db.nomics.world/api/v1/sdmx/OECD/data/EO/"
var.list <- c("GAP", # Output Gap
"GDPV-ANNPCT",# Real GDP growth
"GDPVD-CAP", # Real gross domestic product per capita - USD, constant PPP
"NLGQA" # Cyclically adjusted government net lending, as a percentage of potential GDP
)
# Interval d'intérêt
yearMin <- 1995
yearMax <- 2016
# Liste des zones
country.list <- c("USA", "EA16", "GBR", "JPN")
# Je construis l'url pour télécharger mes données
url.countries <- paste0(country.list, collapse = "+")
url.var <- paste0(var.list, collapse = "+")
url <- paste0(api,url.countries,".",url.var,".","A")
# Téléchargement des données
dataSdmx <- readSDMX(url)
# Création de ma base de données
df <- as.data.frame(dataSdmx) %>%
transmute(countryCode = LOCATION,
time = TIME_PERIOD,
var = VARIABLE,
value = as.numeric(OBS_VALUE)) %>%
filter(time >= yearMin,
time <= yearMax) %>%
spread(var, value) %>%
group_by(countryCode) %>%
plyr::rename(c('GDPV-ANNPCT' = 'GDP_GROWTH', 'GDPVD-CAP'='GDP_CAP')) %>%
mutate(GDPCAPGROWTH = (GDP_CAP-lag(GDP_CAP))/lag(GDP_CAP)*100,
DNLGQ = (NLGQA-lag(NLGQA)),
DGAP = (GAP-lag(GAP))) %>%
gather(var, value, -time, -countryCode)%>%
mutate(time = year(as.Date(time, "%Y")))
data <- df %>%
filter(var == "GAP" | var == "GDP_GROWTH" | var == "GDPCAPGROWTH" )
ggplot(data, aes(time, value, colour=var))+
facet_wrap(~countryCode)+
geom_line()+
geom_hline(yintercept = 0, linetype="dashed", color="black", size=0.2)+
ylab("Value (%)")+
theme