Commodity futures - commodity_futures

Data - Investing

Last data update: 04 sept. 2026, 01:12

Last compile: 04 sept. 2026, 01:13

Instantané quotidien de https://fr.investing.com/commodities/real-time-futures : contrats à terme sur matières premières. Une ligne par produit et par jour. Pour les longues séries historiques d’avant 2022, voir commodities.parquet.

Dernier instantané

Code
last_day <- max(commodity_futures$scraped_date)

commodity_futures |>
  filter(scraped_date == last_day) |>
  transmute(Produit = name, Échéance = month, Dernier = last,
            `+ Haut` = high, `+ Bas` = low, `Var.` = chg, `Var. %` = chg_pct,
            Heure = quote_time) |>
  arrange(Produit) |>
  print_table_conditional()

Source : investing.com, instantané du 03 septembre 2026.

Variation du jour

Code
commodity_futures |>
  filter(scraped_date == max(scraped_date)) |>
  mutate(name = fct_reorder(name, chg_pct)) |>
  ggplot(aes(x = name, y = chg_pct, fill = chg_pct > 0)) +
  geom_col() +
  scale_fill_manual(values = c(`FALSE` = "#c0392b", `TRUE` = "#27ae60"),
                    guide = "none") +
  coord_flip() + theme_minimal() +
  xlab("") + ylab("Variation du jour (%)")

Évolution (base 100)

Code
sel <- c("Or", "Argent", "Cuivre", "Pétrole brut WTI", "Pétrole Brent",
         "Gaz naturel", "Blé américain")
d <- commodity_futures |> filter(name %in% sel)

if (n_distinct(d$scraped_date) < 2) {
  knitr::asis_output(paste0(
    "_Série trop courte (", n_distinct(d$scraped_date),
    " relevé) — le graphique se remplira au fil des instantanés quotidiens._"))
} else {
  d |>
    group_by(name) |>
    arrange(scraped_date) |>
    mutate(idx = 100 * last / first(last)) |>
    ggplot() + geom_line(aes(x = scraped_date, y = idx, color = name)) +
    theme_minimal() + xlab("") + ylab("Base 100") +
    scale_color_commodity() +
    theme(legend.position = "bottom", legend.title = element_blank())
}