8.105 - Comptes financiers - Sociétés d’assurance et fonds de pension (S12K65) - T_8105

Données - INSEE

Structure

Encours d’actifs financiers par instrument

Assureurs : provisions techniques (F6) au passif, portefeuille d’actions et d’obligations à l’actif.

Code
`T_8105` |>
  filter(sheet == enc_a, code %in% instr) |>
  distinct(code, year, .keep_all = TRUE) |>
  arrange(desc(code)) |> mutate(label = factor(str_trunc(label, 40), levels = unique(str_trunc(label, 40)))) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Encours (Mds €)") +
  geom_area(aes(x = year, y = value, fill = label)) +
  scale_x_continuous(breaks = seq(1995, 2030, 5)) +
  scale_fill_viridis_d() +
  theme(legend.title = element_blank(), legend.position = "bottom",
        legend.text = element_text(size = 7)) +
  guides(fill = guide_legend(ncol = 2))

En années de PIB

Code
`T_8105` |>
  filter(sheet == enc_a, code == "F") |>
  distinct(year, .keep_all = TRUE) |>
  left_join(pib, by = "year") |>
  ggplot() + theme_minimal() + xlab("") + ylab("Total des actifs financiers (années de PIB)") +
  geom_line(aes(x = year, y = value / pib)) +
  scale_x_continuous(breaks = seq(1995, 2030, 5))

Patrimoine financier net (actifs − passifs)

Code
bind_rows(
  `T_8105` |> filter(sheet == enc_a, code == "F") |> distinct(year, .keep_all = TRUE) |> transmute(year, actifs = value),
) |>
  left_join(`T_8105` |> filter(sheet == enc_p, code == "F") |> distinct(year, .keep_all = TRUE) |> transmute(year, passifs = value), by = "year") |>
  left_join(pib, by = "year") |>
  ggplot() + theme_minimal() + xlab("") + ylab("Patrimoine financier net (% du PIB)") +
  geom_hline(yintercept = 0, color = "grey60") +
  geom_col(aes(x = year, y = (actifs - passifs) / pib), fill = "#2b6cb0") +
  scale_x_continuous(breaks = seq(1995, 2030, 5)) +
  scale_y_continuous(labels = percent_format(accuracy = 1))

Flux d’acquisition nette d’actifs (2025)

Code
`T_8105` |>
  filter(sheet == flx_a, code %in% instr, year == last_y) |>
  distinct(code, .keep_all = TRUE) |>
  mutate(label = reorder(str_trunc(label, 45), value)) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Flux net (Mds €)") +
  geom_hline(yintercept = 0, color = "grey60") +
  geom_col(aes(x = label, y = value), fill = "#2b6cb0") +
  coord_flip()

Table des encours (2025)

Code
`T_8105` |>
  filter(sheet %in% c(enc_a, enc_p), year == last_y) |>
  transmute(Feuille = sheet, Ligne = line, Instrument = label, Code = code, `Mds €` = round(value, 1)) |>
  print_table_conditional()