OAT 1,25 % 25 mai 2038 - FR0014009O62

Données - AFT

Fiche titre

Code
i <- FR0014009O62_info
tibble(
  Caractéristique = c("Code ISIN", "Sous-titre", "Nature du titre", "Devise d'émission",
                       "Valeur nominale", "Maturité", "Amortissement", "Coupon", "Intérêts",
                       "Première date de jouissance", "Procédure d'émission",
                       "Caractéristiques juridiques", "Démembrable", "Encours"),
  Valeur = c(i$isin, i$subtitle, i$nature, i$devise, i$valeur_nominale,
             format(i$maturity_date, "%d/%m/%Y"), i$amortissement, paste0(i$coupon_rate, " %"),
             i$interets, format(i$premiere_jouissance, "%d/%m/%Y"), i$procedure_emission,
             i$caracteristiques_juridiques, i$demembrable,
             paste0(round(i$outstanding / 1e9, 1), " Md€"))
) |>
  gt() |>
  tab_header(title = i$title)
OAT 1,25 % 25 mai 2038
Caractéristique Valeur
Code ISIN FR0014009O62
Sous-titre OBLIGATIONS ASSIMILABLES DU TRÉSOR (OAT)
Nature du titre Nominal, taux fixe
Devise d'émission Euro
Valeur nominale 1 Euro
Maturité 25/05/2038
Amortissement In fine et au pair à la date de maturité
Coupon 1.25 %
Intérêts Annuels, payables à terme échu le 25 mai de chaque année Base de calcul : ACT/ACT
Première date de jouissance 25/05/2021
Procédure d'émission Adjudication à la "hollandaise"
Caractéristiques juridiques RegS, 144A Les certificats des titres crées après le 1er janvier 2013 sont assortis de clauses d’action collectives (CAC) comme tous les titres obligataires de la zone euro, par conséquent non assimilables aux souches émises avant cette date.
Démembrable oui à compter du 11 avril 2022
Encours 33.7 Md€

Frise chronologique des émissions

Code
library(ggrepel)

# Émissions groupées sur peu d'années (syndication + adjudications qui
# suivent) -> des étiquettes à décalage fixe (cf. list-OATi/list-OATeuroi)
# se chevauchent ; ggrepel les répartit automatiquement.
timeline <- FR0014009O62 |>
  arrange(date_emission) |>
  mutate(label = paste0(round(volume_emis / 1e9, 1), " Md€ - ", format(date_emission, "%b %Y")))

ggplot(timeline, aes(x = date_emission, y = 0)) +
  geom_hline(yintercept = 0, color = "grey70") +
  geom_point(aes(size = volume_emis / 1e9, color = taux_moyen_pondere)) +
  geom_text_repel(aes(y = 0, label = label), size = 3, lineheight = 0.9,
                   min.segment.length = 0, segment.color = "grey70",
                   direction = "y", force = 2, max.overlaps = Inf,
                   ylim = c(-Inf, Inf)) +
  scale_size_continuous(range = c(3, 13), guide = "none") +
  scale_color_viridis_c(option = "C", name = "Taux moyen\npondéré (%)") +
  scale_x_date(date_labels = "%Y", date_breaks = "2 years") +
  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 = paste("Historique des émissions -", FR0014009O62_info$title),
       subtitle = "Taille des points = volume émis ; couleur = taux moyen pondéré")

Taux obtenu vs taux de marché (France 15Y)

Code
market_window <- market_30y |>
  filter(Date >= min(FR0014009O62$date_emission) - 90, Date <= Sys.Date())

ggplot() +
  geom_line(data = market_window, aes(x = Date, y = market_yield, color = "France 15Y (marché)")) +
  geom_point(data = emissions_vs_market,
             aes(x = date_emission, y = taux_moyen_pondere, size = volume_emis / 1e9,
                 color = "Taux obtenu (FR0014009O62)")) +
  scale_color_manual(values = c("France 15Y (marché)" = "grey50",
                                 "Taux obtenu (FR0014009O62)" = "#1B3F8B"), name = NULL) +
  scale_size_continuous(range = c(2, 8), name = "Volume émis (Md€)") +
  theme_minimal(base_size = 13) +
  theme(legend.position = "bottom") +
  labs(x = NULL, y = "Taux (%)",
       title = "Taux obtenu à l'émission vs rendement OAT 15 ans de marché",
       subtitle = paste0("Rendement France 15Y au ", format(max(market_window$Date), "%d/%m/%Y"),
                          " : ", round(tail(market_window$market_yield, 1), 2), " %")
  )

Tenor de marché le plus proche de la maturité d’origine du titre (émis en 2022 pour une maturité 2038, soit ~16 ans).

Écart (en points de base) entre le taux moyen pondéré obtenu à chaque émission et le rendement OAT 15 ans de marché à la date la plus proche :

Code
emissions_vs_market |>
  transmute(`Date` = date_emission, `Type d'opération` = type_operation,
            `Taux obtenu (%)` = taux_moyen_pondere, `Taux marché France 15Y (%)` = market_yield,
            `Écart (pb)` = spread_bp) |>
  gt() |>
  fmt_date(columns = `Date`, date_style = "iso")
Date Type d'opération Taux obtenu (%) Taux marché France 15Y (%) Écart (pb)
2022-04-07 Adjudication 1.42 1.3697 5
2022-09-01 Adjudication 2.52 2.4636 6
2023-01-05 Adjudication 3.02 3.1085 -9
2023-03-02 Adjudication 3.47 3.4967 -3
2023-08-03 Adjudication 3.37 3.3592 1
2023-09-07 Adjudication 3.42 3.4013 2
2024-01-04 Adjudication 2.88 2.9019 -2
2024-03-07 Adjudication 3.02 2.9632 6
2024-06-06 Adjudication 3.21 3.2270 -2
2024-08-01 Adjudication 3.21 3.1850 3
2025-02-06 Adjudication 3.33 3.3090 2
2025-05-07 Adjudication 3.51 3.5770 -7

Détail par émission

Code
FR0014009O62 |>
  arrange(date_emission) |>
  transmute(`Date` = date_emission, `Type d'opération` = type_operation,
            `Volume émis` = volume_emis, `Prix moyen pondéré` = prix_moyen_pondere,
            `Taux moyen pondéré (%)` = taux_moyen_pondere) |>
  gt() |>
  tab_header(title = "Historique des émissions") |>
  fmt_date(columns = `Date`, date_style = "iso") |>
  fmt_number(columns = `Volume émis`, decimals = 0) |>
  grand_summary_rows(columns = `Volume émis`, fns = list(Total = ~ sum(.)), fmt = ~ fmt_number(., decimals = 0))
Historique des émissions
Date Type d'opération Volume émis Prix moyen pondéré Taux moyen pondéré (%)
2022-04-07 Adjudication 3,466,000,000 97.58 1.42
2022-09-01 Adjudication 2,244,000,000 83.64 2.52
2023-01-05 Adjudication 2,321,000,000 78.44 3.02
2023-03-02 Adjudication 3,314,000,000 74.08 3.47
2023-08-03 Adjudication 2,395,000,000 75.65 3.37
2023-09-07 Adjudication 2,762,000,000 75.22 3.42
2024-01-04 Adjudication 2,643,000,000 81.04 2.88
2024-03-07 Adjudication 5,744,000,000 79.76 3.02
2024-06-06 Adjudication 2,870,000,000 78.23 3.21
2024-08-01 Adjudication 2,151,000,000 78.41 3.21
2025-02-06 Adjudication 1,604,000,000 77.97 3.33
2025-05-07 Adjudication 2,198,000,000 76.64 3.51
Total — — 33,712,000,000 — —

Tableau interactif

Code
FR0014009O62 |>
  arrange(date_emission) |>
  transmute(`Date` = date_emission, `Type d'opération` = type_operation,
            `Volume émis` = volume_emis, `Prix moyen pondéré` = prix_moyen_pondere,
            `Taux moyen pondéré (%)` = taux_moyen_pondere) |>
  gt() |>
  fmt_date(columns = `Date`, date_style = "iso") |>
  fmt_number(columns = `Volume émis`, 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)