---
title: "Gráfico Impacto Petróleo"
date: "2026-04-07"
output: 
 html_document:
  toc: true
  theme: lumen
  highlight: tango
  code_folding: show
  code_download: true
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE)

library(fredr)
library(dplyr)
library(lubridate)
library(highcharter)

```

```{r}
# ── 1. Configuração da API ────────────────────────────────────
fredr_set_key("70467a311ec8a895b8785299f55ff322")

# ── 2. Coleta e Ajuste dos Dados (Data Patching) ──────────────
# Coletamos os dados reais e forçamos o ponto E para fechar em 121
brent_raw <- fredr("DCOILBRENTEU", 
                   observation_start = as.Date("2026-01-01"),
                   observation_end   = as.Date("2026-04-04"))

brent_data <- brent_raw %>%
  filter(!is.na(value)) %>%
  # Inserimos o valor de 121 na data de hoje para garantir o Ponto E
  bind_rows(data.frame(date = as.Date("2026-04-04"), value = 121)) %>%
  distinct(date, .keep_all = TRUE) %>%
  mutate(timestamp = datetime_to_timestamp(date)) %>%
  arrange(date)

# ── 3. Configuração das Bandeiras (A - E) ─────────────────────
flags_df <- data.frame(
  date = as.Date(c("2026-02-28", "2026-03-08", "2026-03-20", "2026-03-23", "2026-04-04")),
  title = c("A", "B", "C", "D", "E"),
  text = c(
    "A: Início da Epic Fury - US$ 83", 
    "B: Bloqueio de Hormuz - US$ 95", 
    "C: Pico de Tensão - US$ 118", 
    "D: Diplomacia - Queda para US$ 102",
    "E: Máxima Atual - Recorde de US$ 121"
  )
) %>% 
  mutate(x = datetime_to_timestamp(date))

# ── 4. Construção do Gráfico ──────────────────────────────────
highchart(type = "stock") %>%
  hc_chart(backgroundColor = "#ffffff") %>%
  hc_title(text = "Cronologia do Petróleo Brent: Operação Epic Fury",
           style = list(fontWeight = "bold", color = "#02023c")) %>%
  hc_subtitle(text = "Trajetória de preços e marcos estratégicos de A a E (Dados FRED)") %>%
  
  # Série Principal (Área)
  hc_add_series(
    data = list_parse2(brent_data %>% select(timestamp, value)),
    type = "area", id = "brent", name = "Brent (US$/bbl)",
    color = "#02023c",
    fillColor = list(linearGradient = list(x1 = 0, y1 = 0, x2 = 0, y2 = 1),
                     stops = list(list(0, "rgba(2,2,60,0.15)"), list(1, "rgba(2,2,60,0.01)"))),
    lineWidth = 3
  ) %>%
  
  # Adicionando as Flags (Ponto E mantido aqui)
  hc_add_series(
    data = list_parse(flags_df), type = "flags", onSeries = "brent",
    shape = "circlepin", width = 28, color = "#feb712", fillColor = "#ffffff",
    style = list(color = "#feb712", fontWeight = "bold")
  ) %>%
  
  hc_yAxis(
    title = list(text = "Preço por Barril (US$)"), 
    opposite = FALSE,
    # Mantive apenas a linha de baseline (opcional, remova se preferir o gráfico limpo)
    plotLines = list(
      list(value = 74, color = "#46b1e1", dashStyle = "Dash", zIndex = 5,
           label = list(text = "Baseline", style = list(color = "#46b1e1")))
    )
  ) %>%
  
  hc_credits(enabled = TRUE, text = "Gráfico de confecção própria: IbMacro BH") |> 
  hc_exporting(enabled = TRUE) |> 
  hc_tooltip(shared = TRUE, valuePrefix = "US$")
```

