OAT indexées OAT€i - list-OATeuroi

Données - AFT

OAT indexées sur l’inflation de la zone euro (OAT€i – voir list-OATi pour les OATi indexées sur l’inflation française hors zone euro).

Frise chronologique des échéances

Code
timeline <- listOATeuroi |>
  arrange(maturity_date) |>
  mutate(label_y = rep(c(1, -1), length.out = n()),
         label = paste0(round(outstanding / 1e9, 1), " Md€\n",
                         format(maturity_date, "%b %Y")))

ggplot(timeline, aes(x = maturity_date, y = 0)) +
  geom_hline(yintercept = 0, color = "grey70") +
  geom_segment(aes(xend = maturity_date, y = 0, yend = label_y * 0.3), color = "grey70") +
  geom_point(aes(size = outstanding / 1e9, color = coupon_rate)) +
  geom_text(aes(y = label_y * 0.48, label = label), size = 2.9, lineheight = 0.9) +
  scale_size_continuous(range = c(3, 13), guide = "none") +
  scale_color_viridis_c(option = "C", name = "Taux (%)") +
  scale_x_date(date_labels = "%Y", date_breaks = "2 years") +
  coord_cartesian(ylim = c(-0.65, 0.65)) +
  theme_minimal(base_size = 13) +
  theme(axis.title.y = element_blank(), axis.text.y = element_blank(),
        axis.ticks.y = element_blank(), panel.grid.major.y = element_blank(),
        panel.grid.minor = element_blank(), legend.position = "bottom") +
  labs(x = NULL, title = "Échéances et encours des OAT€i en circulation",
       subtitle = "Taille des points = encours ; couleur = taux du coupon")

Détail par ligne

Code
listOATeuroi |>
  arrange(maturity_date) |>
  transmute(isin, bond, `Échéance` = maturity_date, `Taux (%)` = coupon_rate,
            `Verte` = if_else(green, "Oui", ""), outstanding) |>
  gt() |>
  tab_header(title = "Encours des OAT€i en circulation") |>
  fmt_date(columns = `Échéance`, date_style = "iso") |>
  fmt_number(columns = outstanding, decimals = 0) |>
  grand_summary_rows(columns = outstanding, fns = list(Total = ~ sum(.)), fmt = ~ fmt_number(., decimals = 0))
Encours des OAT€i en circulation
isin bond Échéance Taux (%) Verte outstanding
FR0011008705 OAT€i 1,85 % 25 juillet 2027 2027-07-25 1.85 21,737,000,000
FR0013410552 OAT€i 0,10 % 1 mars 2029 2029-03-01 0.10 24,041,000,000
FR0011982776 OAT€i 0,70 % 25 juillet 2030 2030-07-25 0.70 17,232,000,000
FR0014001N38 OAT€I 0,10 % 25 juillet 2031 2031-07-25 0.10 13,837,000,000
FR0000188799 OAT€i 3,15 % 25 juillet 2032 2032-07-25 3.15 15,950,000,000
FR001400JI88 OAT€i 0,60 % 25 juillet 2034 2034-07-25 0.60 12,848,000,000
FR0013327491 OAT€i 0,10 % 25 juillet 2036 2036-07-25 0.10 16,213,000,000
FR001401B0I4 OAT€i 2,10 % 1er mars 2037 2037-03-01 2.10 2,500,000,000
FR001400AQH0 OAT€i VERTE 0,10 % 25 juillet 2038 2038-07-25 0.10 Oui 9,667,000,000
FR0010447367 OAT€i 1,80 % 25 juillet 2040 2040-07-25 1.80 17,723,000,000
FR001400QCA1 OAT€i 0,95 % 25 juillet 2043 2043-07-25 0.95 8,530,000,000
FR0013209871 OAT€i 0,10 % 25 juillet 2047 2047-07-25 0.10 13,930,000,000
FR0014008181 OAT€i 0,10 % 25 juillet 2053 2053-07-25 0.10 11,861,000,000
Total — — — — — 186,069,000,000

Tableau interactif

Code
listOATeuroi |>
  arrange(maturity_date) |>
  transmute(isin, bond, `Échéance` = maturity_date, `Taux (%)` = coupon_rate,
            `Verte` = if_else(green, "Oui", "Non"), outstanding) |>
  gt() |>
  fmt_date(columns = `Échéance`, date_style = "iso") |>
  fmt_number(columns = outstanding, decimals = 0) |>
  opt_interactive(use_search = TRUE, use_filters = TRUE, use_sorting = TRUE,
                   use_resizers = TRUE, use_highlight = TRUE,
                   use_compact_mode = TRUE, use_page_size_select = TRUE)