Stock indices - stock_indices

Data - Investing

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

Last compile: 04 sept. 2026, 01:14

Instantané quotidien de https://www.investing.com/indices/major-indices : principaux indices boursiers mondiaux. Une ligne par indice et par jour.

Dernier instantané

Code
last_day <- max(stock_indices$scraped_date)

stock_indices |>
  filter(scraped_date == last_day) |>
  mutate(index = sub(" derived$", "", index)) |>
  transmute(Indice = index, Dernier = last, `+ Haut` = high, `+ Bas` = low,
            `Var.` = chg, `Var. %` = chg_pct, Heure = quote_time) |>
  arrange(Indice) |>
  print_table_conditional()

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

Variation du jour

Code
stock_indices |>
  filter(scraped_date == max(scraped_date)) |>
  mutate(index = sub(" derived$", "", index),
         index = fct_reorder(index, chg_pct)) |>
  ggplot(aes(x = index, 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("CAC 40", "Dow Jones", "Nasdaq", "DAX derived",
         "FTSE 100 derived", "Nikkei 225 derived")
d <- stock_indices |> filter(index %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 |>
    mutate(index = sub(" derived$", "", index)) |>
    group_by(index) |>
    arrange(scraped_date) |>
    mutate(idx = 100 * last / first(last)) |>
    ggplot() + geom_line(aes(x = scraped_date, y = idx, color = index)) +
    theme_minimal() + xlab("") + ylab("Base 100") +
    scale_color_viridis_d() +
    theme(legend.position = "bottom", legend.title = element_blank())
}