Error in `source()`:
! C:/Users/timbe/github/webblog/_fr/_utils/rinit_ecograph.r:88:1: 'else' inattendu(e)
87: text = element_text(size = 9 * scale_font_html) )
88: else
^
L’évolution du spread de la France au gré des évènements politico-économiques
EcoGraph n°4 (IFE - )
spread <- read_excel("data/Spread Taux France.xlsx", sheet = "Spread", range = "A2:G2000",
col_names = FALSE, col_types = "text", .name_repair = "unique_quiet") |>
transmute(date = as.Date(as.numeric(...1), origin = "1899-12-30"),
spread = as.numeric(...7)) |>
filter(!is.na(date), !is.na(spread), date >= as.Date("2023-01-02")) |>
mutate(tooltip = glue::glue("<b>{date_jour(date)}</b><br>Spread : {fmt_val(spread, 2)} point"))Error in `read_excel()`:
! impossible de trouver la fonction "read_excel"
evenements <- tribble(
~date, ~evenement,
"2024-06-09", "Annonce de la dissolution de l'Assemblée nationale",
"2024-12-04", "Censure du gouvernement Barnier",
"2025-02-06", "Adoption de la loi de finances pour 2025",
"2025-08-25", "F. Bayrou annonce un vote de confiance de l'Assemblée",
"2025-10-06", "Démission surprise de S. Lecornu",
"2026-02-02", "Adoption de la loi de finances pour 2026",
"2026-02-28", "Déclenchement de la guerre en Iran",
"2026-05-05", "La BCE évoque une possible hausse de ses taux face aux risques inflationnistes",
"2026-08-15", "Regain d'incertitudes géopolitiques et budgétaires durant l'été",
"2026-09-17", "Annonce d'un effort budgétaire de 54 Md€ pour 2027 par S. Lecornu",
"2026-10-01", "Présentation officielle du PLF 2027",
"2026-10-19", "Mobilisations et incidents du 17 octobre") |>
mutate(
date = as.Date(date),
num = row_number(),
spread = purrr::map_dbl(date, \(d) spread$spread[which.min(abs(spread$date - d))]),
tooltip = glue::glue("<b>{num}. {evenement}</b><br>{date_jour(date)}<br>Spread : {fmt_val(spread, 2)} point"))Error in `mutate()`:
ℹ In argument: `spread = purrr::map_dbl(...)`.
Caused by error in `purrr::map_dbl()`:
ℹ In index: 1.
Caused by error in `spread$spread`:
! objet de type 'closure' non indiçable
legende_evenements <- evenements |>
summarise(txt = str_c(num, " : ", evenement, collapse = " ; ")) |>
pull(txt)Error:
! objet 'evenements' introuvable
titre_qmd <- rmarkdown::metadata$title
g <- ggplot(spread, aes(x = date, y = spread)) +
geom_ribbon(aes(ymin = 0.3, ymax = spread), fill = "grey85", alpha = 0.6) +
geom_line(colour = darkbluish, linewidth = 0.5) +
geom_point_interactive(
aes(tooltip = tooltip, data_id = date), size = 0.5, colour = darkbluish, alpha = 0, hover_nearest = TRUE) +
geom_point_interactive(
data = evenements, aes(tooltip = tooltip, data_id = num),
shape = 21, size = 4.5, fill = "white", colour = redish, stroke = 0.6) +
geom_text(data = evenements, aes(label = num), size = 2.3, colour = "grey20") +
scale_ofce_date(date_breaks = "6 months", date_minor_breaks = "1 month", date_labels = "%m/%Y",
expand = expansion(mult = c(0.01, 0.03))) +
scale_y_continuous(labels = scales::label_number(decimal.mark = ",", accuracy = 0.1),
expand = expansion(mult = c(0, 0.1))) +
## unite du graphique, ecrite en haut a gauche de la zone de trace, contre l'axe y
annotate("text", x = min(spread$date), y = Inf,
label = "Spread entre l'OAT et le Bund à 10 ans, en points de pourcentage",
hjust = 0, vjust = 1, size = 6.5, size.unit = "pt", colour = "grey25") +
coord_cartesian(ylim = c(0.3, NA)) +
labs(title = titre_qmd,
subtitle = "*Réalisé par Mathieu Plane et Pierre Madec*",
x = NULL, y = NULL) +
theme() +
ofce_caption(
lecture = "Le spread mesure l'écart entre le taux de l'OAT française à 10 ans et celui du Bund allemand à 10 ans. Les numéros renvoient aux événements listés en note.",
note = legende_evenements,
source = "Investing.com, calculs IFE-OFCE") +
ofce::licence_auteur("M. Plane et P. Madec", institut_logo = "IFE-OFCE")Error in `ggplot()`:
! `data` cannot be a function.
ℹ Have you misspelled the `data` argument in `ggplot()`?
ofce::girafy(g)Error:
! objet 'g' introuvable
Le spread constitue un indicateur de la prime de risque exigée par les investisseurs pour détenir de la dette française. Après plusieurs années de relative stabilité, la dissolution de juin 2024 marque une rupture : le spread augmente brutalement et devient beaucoup plus volatil, au gré des incertitudes politiques nationales et internationales mais aussi des perspectives économiques et budgétaires. Malgré quelques phases d’accalmie, la tendance reste orientée à la hausse.
Depuis septembre, une nouvelle et rapide hausse le porte à des niveaux inédits depuis novembre 2011, lors de la crise des dettes souveraines. Cette évolution témoigne d’une perception accrue du risque français par les marchés, dans un contexte de dégradation des finances publiques et d’instabilité politique.
Si elle constitue un véritable signal d’alerte sur les conditions de financement de la France, elle ne remet pas en cause à ce stade notre capacité à se financer sur les marchés, mais souligne l’importance de restaurer la confiance des investisseurs.
# ofce::margin_download(pano$spread, "spread_oat_bund", "Spread OAT - Bund à 10 ans")Voir aussi