Last data update: 02 Oct 2026, 16:58
Last compile: 02 Oct 2026, 20:22
i <- FR0014002WK3_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 0,00 % 25 novembre 2031 | |
| Caractéristique | Valeur |
|---|---|
| Code ISIN | FR0014002WK3 |
| Sous-titre | OBLIGATIONS ASSIMILABLES DU TRÉSOR (OAT) |
| Nature du titre | Nominal, taux fixe |
| Devise d'émission | Euro |
| Valeur nominale | 1 Euro |
| Maturité | 25/11/2031 |
| Amortissement | In fine et au pair à la date de maturité |
| Coupon | 0 % |
| Intérêts | Annuels, payables à terme échu le 25 novembre de chaque année Base de calcul : ACT/ACT |
| Première date de jouissance | 25/11/2020 |
| 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 |
| Encours | 59.9 Md€ |
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 <- FR0014002WK3 |>
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 -", FR0014002WK3_info$title),
subtitle = "Taille des points = volume émis ; couleur = taux moyen pondéré")
market_window <- market_30y |>
filter(Date >= min(FR0014002WK3$date_emission) - 90, Date <= Sys.Date())
ggplot() +
geom_line(data = market_window, aes(x = Date, y = market_yield, color = "France 10Y (marché)")) +
geom_point(data = emissions_vs_market,
aes(x = date_emission, y = taux_moyen_pondere, size = volume_emis / 1e9,
color = "Taux obtenu (FR0014002WK3)")) +
scale_color_manual(values = c("France 10Y (marché)" = "grey50",
"Taux obtenu (FR0014002WK3)" = "#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 10 ans de marché",
subtitle = paste0("Rendement France 10Y 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 2021 pour une maturité 2031, soit ~10 ans).
Écart (en points de base) entre le taux moyen pondéré obtenu à chaque émission et le rendement OAT 10 ans de marché à la date la plus proche :
emissions_vs_market |>
transmute(`Date` = date_emission, `Type d'opération` = type_operation,
`Taux obtenu (%)` = taux_moyen_pondere, `Taux marché France 10Y (%)` = market_yield,
`Écart (pb)` = spread_bp) |>
gt() |>
fmt_date(columns = `Date`, date_style = "iso")| Date | Type d'opération | Taux obtenu (%) | Taux marché France 10Y (%) | Écart (pb) |
|---|---|---|---|---|
| 2021-04-08 | Adjudication | 0.00 | -0.0800 | 8 |
| 2021-05-06 | Adjudication | 0.13 | 0.1460 | -2 |
| 2021-06-03 | Adjudication | 0.16 | 0.1780 | -2 |
| 2021-07-01 | Adjudication | 0.13 | 0.1240 | 1 |
| 2021-09-02 | Adjudication | -0.05 | -0.0340 | -2 |
| 2021-10-07 | Adjudication | 0.15 | 0.1600 | -1 |
| 2021-11-04 | Adjudication | 0.16 | 0.1150 | 4 |
| 2022-12-01 | Adjudication | 2.19 | 2.2660 | -8 |
| 2023-02-02 | Adjudication | 2.59 | 2.5110 | 8 |
| 2024-02-15 | Adjudication | 2.65 | 2.8410 | -19 |
| 2024-08-14 | Adjudication | 2.70 | 2.9160 | -22 |
| 2025-10-16 | Adjudication | 2.74 | 3.3317 | -59 |
price_data <- FR0014002WK3 |> arrange(date_emission)
ggplot(price_data, aes(x = date_emission, y = prix_moyen_pondere)) +
geom_hline(yintercept = 100, linetype = "dashed", color = "grey60") +
geom_line(color = "grey70") +
geom_point(aes(size = volume_emis / 1e9, color = taux_moyen_pondere)) +
geom_text_repel(aes(label = paste0(round(prix_moyen_pondere, 2), " - ", format(date_emission, "%b %Y"))),
size = 3, min.segment.length = 0, segment.color = "grey70",
max.overlaps = Inf) +
scale_size_continuous(range = c(3, 13), name = "Volume émis (Md€)") +
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(legend.position = "bottom") +
labs(x = NULL, y = "Prix moyen pondéré (% du nominal)",
title = paste("Prix moyen pondéré à l'émission -", FR0014002WK3_info$title),
subtitle = "Taille = volume émis ; couleur = taux moyen pondéré ; pointillés = pair")
FR0014002WK3 |>
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é (%) | |
|---|---|---|---|---|---|
| 2021-04-08 | Adjudication | 6,569,000,000 | 99.97 | 0.00 | |
| 2021-05-06 | Adjudication | 6,810,000,000 | 98.67 | 0.13 | |
| 2021-06-03 | Adjudication | 7,874,000,000 | 98.30 | 0.16 | |
| 2021-07-01 | Adjudication | 5,420,000,000 | 98.66 | 0.13 | |
| 2021-09-02 | Adjudication | 6,315,000,000 | 100.51 | -0.05 | |
| 2021-10-07 | Adjudication | 4,930,000,000 | 98.51 | 0.15 | |
| 2021-11-04 | Adjudication | 7,978,000,000 | 98.45 | 0.16 | |
| 2022-12-01 | Adjudication | 2,844,000,000 | 82.31 | 2.19 | |
| 2023-02-02 | Adjudication | 5,394,000,000 | 79.83 | 2.59 | |
| 2024-02-15 | Adjudication | 2,294,000,000 | 81.60 | 2.65 | |
| 2024-08-14 | Adjudication | 1,698,000,000 | 82.41 | 2.70 | |
| 2025-10-16 | Adjudication | 1,739,000,000 | 84.78 | 2.74 | |
| Total | — | — | 59,865,000,000 | — | — |
FR0014002WK3 |>
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)