Last data update: 26 oct. 2026, 19:59
Last compile: 26 oct. 2026, 19:59
L’indice GSCPI de la Fed de New York (Benigno et al.) synthétise 27 indicateurs (frets Baltic Dry et Harpex, délais de livraison et stocks des enquêtes PMI/ISM) en un écart à la moyenne, exprimé en écarts-types : 0 correspond à des tensions moyennes sur les chaînes d’approvisionnement mondiales.
pic <- gscpi_data |> filter(gscpi == max(gscpi))
gscpi_data |>
ggplot(aes(x = date, y = gscpi)) +
geom_hline(yintercept = 0, color = "grey50") +
geom_area(aes(y = pmax(gscpi, 0)), fill = "#E8737A", alpha = 0.35) +
geom_area(aes(y = pmin(gscpi, 0)), fill = "#1B3F8B", alpha = 0.25) +
geom_line(color = "grey20", linewidth = 0.5) +
geom_point(data = pic, color = "#E8737A", size = 2.5) +
geom_text(data = pic, aes(label = paste0(format(date, "%m/%Y"), " : ", round(gscpi, 1))),
hjust = 1.1, vjust = 0.2, fontface = "bold", color = "#E8737A") +
scale_x_date(date_breaks = "2 years", date_labels = "%Y") +
theme_minimal(base_size = 12) +
theme(panel.grid.minor = element_blank(), plot.title = element_text(face = "bold"),
plot.title.position = "plot") +
labs(x = NULL, y = "Écarts-types", title = "Les tensions de 2021-2022 : un record depuis 1998",
subtitle = "GSCPI mensuel, New York Fed")
gscpi_data |>
filter(date >= "2019-01-01") |>
ggplot(aes(x = date, y = gscpi)) +
geom_hline(yintercept = 0, color = "grey50") +
geom_line(color = "#1B3F8B", linewidth = 1) +
geom_point(color = "#1B3F8B", size = 1.2) +
scale_x_date(date_breaks = "6 months", date_labels = "%m/%y") +
theme_minimal(base_size = 12) +
theme(panel.grid.minor = element_blank(), plot.title = element_text(face = "bold"),
plot.title.position = "plot", axis.text.x = element_text(angle = 45, hjust = 1)) +
labs(x = NULL, y = "Écarts-types", title = "Pandémie, reprise puis normalisation",
subtitle = "GSCPI mensuel depuis janvier 2019")
gscpi_data |>
mutate(annee = year(date)) |>
group_by(annee) |>
summarise(moyenne = mean(gscpi), .groups = "drop") |>
ggplot(aes(x = annee, y = moyenne, fill = moyenne > 0)) +
geom_col(show.legend = FALSE) +
scale_fill_manual(values = c(`TRUE` = "#E8737A", `FALSE` = "#1B3F8B")) +
scale_x_continuous(breaks = seq(1998, 2024, 2)) +
theme_minimal(base_size = 12) +
theme(panel.grid.minor = element_blank(), plot.title = element_text(face = "bold"),
plot.title.position = "plot") +
labs(x = NULL, y = "Écarts-types", title = "Moyenne annuelle du GSCPI",
subtitle = "rouge : tensions supérieures à la moyenne")
gscpi_data |> arrange(desc(date)) |> mutate(date = format(date, "%Y-%m"), gscpi = round(gscpi, 2)) |>
print_table_conditional()