---
title: "Grafico SWIFT"
author: "João Pedro Godinho e Giulia Cardoso"
date: "2026-02-12"
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(dplyr)
library(ggplot2)
library(highcharter)
library(plotly)
library(sidrar)
library(ipeadatar)
library(quantmod)
library(scales)
library(lubridate)
library(rbcb)
library(readxl)
library(writexl)
library(httr)
library(tidyr)
library(fredr)
```

```{r}
library(dplyr)
library(highcharter)

# ── Matriz completa SWIFT (2020–2026) ──────────────────────────────────────
df <- data.frame(
  Ano = c(rep(2020,12), rep(2021,12), rep(2022,12),
          rep(2023,12), rep(2024,12), rep(2025,12), rep(2026,2)),
  USD = c(44.09,43.92,44.10,44.27,43.26,43.24,43.88,43.44,43.13,43.38,43.79,43.56,
          40.23,40.04,40.91,41.78,41.73,41.41,41.23,40.91,41.60,42.72,41.28,41.07,
          41.08,41.54,42.14,41.00,42.00,41.19,42.52,42.59,42.33,42.88,41.66,42.13,
          41.73,41.28,41.22,41.74,41.64,42.74,42.42,43.32,43.08,42.75,44.11,46.75,
          47.37,47.27,46.91,47.42,47.43,47.18,47.50,48.23,47.78,47.82,48.06,48.27,
          47.93,47.72,47.31,47.59,47.83,47.61,47.42,47.65,47.38,47.51,47.64,47.72,
          47.55,47.48),
  EUR = c(30.93,30.74,31.17,31.22,31.35,31.55,31.33,31.16,31.71,31.38,30.71,30.58,
          36.56,36.74,36.31,35.31,35.70,35.66,35.61,35.77,35.56,34.82,35.35,35.48,
          35.48,35.68,35.53,35.82,35.38,36.36,35.53,35.06,35.73,35.37,35.34,35.50,
          35.66,35.58,35.38,35.22,35.06,34.22,34.96,34.21,34.11,34.42,33.23,30.93,
          22.90,22.86,23.05,22.78,22.98,23.26,22.86,22.45,22.59,22.65,22.41,22.29,
          22.64,22.89,23.11,22.96,22.75,22.98,23.06,22.81,23.15,23.03,22.87,22.79,
          22.91,23.07),
  CNY = c(1.76,1.75,1.85,1.66,1.76,1.77,1.76,1.98,1.96,2.20,2.17,2.17,
          2.45,2.24,2.45,2.37,2.44,2.46,2.70,2.87,2.89,3.30,2.91,2.70,
          3.20,2.84,2.23,2.14,2.12,2.19,2.20,2.31,2.44,2.13,2.37,2.26,
          3.51,3.54,3.42,3.23,2.79,2.77,2.77,2.89,3.47,3.59,3.61,4.14,
          4.51,4.61,4.69,4.45,4.24,4.61,4.74,4.69,4.61,4.59,4.48,4.79,
          4.69,4.62,4.72,4.64,4.59,4.73,4.85,4.90,4.95,5.02,5.08,5.15,
          5.22,5.31),
  GBP = c(7.05,7.57,6.66,6.98,6.94,6.98,6.87,7.13,7.14,7.36,7.24,7.15,
          6.31,6.66,6.14,6.38,6.44,6.83,6.80,6.98,6.65,6.46,6.69,6.64,
          6.35,6.30,6.19,6.53,6.46,6.60,6.73,6.52,6.55,6.61,6.61,6.58,
          6.58,6.72,6.80,6.75,6.79,6.82,6.79,6.87,6.79,6.87,6.67,6.53,
          6.94,7.18,7.09,6.89,7.04,6.90,6.95,6.91,6.90,7.02,6.97,6.90,
          7.01,6.98,6.93,7.01,6.95,7.04,6.98,7.09,6.97,6.92,7.05,6.98,
          7.02,6.99),
  JPY = c(3.38,3.29,3.14,3.00,2.97,2.91,2.90,2.89,2.96,3.00,3.02,3.17,
          3.34,3.26,3.12,3.00,2.80,2.77,2.81,2.75,2.58,2.67,2.66,2.82,
          2.79,2.79,2.67,2.87,2.70,2.60,2.66,2.70,2.62,2.76,2.98,2.83,
          2.93,3.08,3.32,3.12,3.00,2.81,2.88,2.87,2.80,2.81,2.71,2.87,
          3.10,2.82,2.85,2.90,2.87,2.89,2.94,2.91,2.95,2.89,2.85,2.75,
          2.79,2.72,2.80,2.74,2.77,2.71,2.74,2.68,2.73,2.75,2.70,2.68,
          2.66,2.63)
)

# ── Gerar coluna Mes automaticamente ──────────────────────────────────────
df <- df |>
  mutate(Mes = rep(c("Jan","Fev","Mar","Abr","Mai","Jun",
                     "Jul","Ago","Set","Out","Nov","Dez"),
                   length.out = nrow(df)))

# ── Médias anuais ──────────────────────────────────────────────────────────
anual <- df |>
  group_by(Ano) |>
  summarise(
    USD = round(mean(USD), 2),
    EUR = round(mean(EUR), 2),
    CNY = round(mean(CNY), 2),
    GBP = round(mean(GBP), 2),
    JPY = round(mean(JPY), 2),
    .groups = "drop"
  )

anos   <- as.character(anual$Ano)
meses  <- c("Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez")
moedas <- c("USD", "EUR", "CNY", "GBP", "JPY")
nomes  <- c("USD — Dólar", "EUR — Euro", "CNY — Yuan", "GBP — Libra", "JPY — Iene")
cores  <- c("#feb712", "#02023c", "#e63946", "#808080", "#46b1e1")

# ── Séries principais ──────────────────────────────────────────────────────
series_list <- lapply(seq_along(moedas), function(i) {
  list(
    name  = nomes[i],
    color = cores[i],
    data  = lapply(seq_along(anos), function(j) {
      list(
        name      = anos[j],
        y         = anual[[moedas[i]]][j],
        drilldown = paste0(moedas[i], "_", anos[j])
      )
    })
  )
})

# ── Drilldowns — linha mensal por moeda por ano ────────────────────────────
drilldown_list <- unlist(
  lapply(seq_along(moedas), function(i) {
    lapply(seq_along(anos), function(j) {
      sub <- df |> filter(Ano == as.integer(anos[j]))
      list(
        id        = paste0(moedas[i], "_", anos[j]),
        name      = paste0(nomes[i], " — Mensal ", anos[j]),
        type      = "line",
        color     = cores[i],
        lineWidth = 2.5,
        marker    = list(radius = 4, symbol = "circle"),
        dataLabels = list(
          enabled = TRUE,
          format  = "{y}%",
          style   = list(fontSize = "9px", fontWeight = "bold", textOutline = "none")
        ),
        data = lapply(seq_len(nrow(sub)), function(k) {
          list(sub$Mes[k], round(sub[[moedas[i]]][k], 2))
        })
      )
    })
  }),
  recursive = FALSE
)

# ── Gráfico ────────────────────────────────────────────────────────────────
highchart() |>
  hc_chart(
    type            = "column",
    backgroundColor = "#FFFFFF",
    events = list(
      drilldown = JS("function(e) {
        this.setTitle({
          text: e.point.series.name + ' — Dados Mensais ' + e.point.name
        });
        this.setSubtitle({
          text: 'Clique em Voltar para retornar à visão geral'
        });
        this.xAxis[0].setCategories(
          ['Jan','Fev','Mar','Abr','Mai','Jun',
           'Jul','Ago','Set','Out','Nov','Dez']
        );
      }"),
      drillup = JS("function() {
        this.setTitle({
          text: 'Participação das Moedas nos Pagamentos SWIFT'
        });
        this.setSubtitle({
          text: 'Média anual por moeda · Clique numa barra para ver os dados mensais | Fonte: SWIFT RMB Tracker'
        });
        this.xAxis[0].setCategories(['2020','2021','2022','2023','2024','2025','2026']);
      }")
    )
  ) |>

  hc_title(
    text  = "Participação das Moedas nos Pagamentos SWIFT",
    style = list(fontSize = "17px", fontWeight = "bold", color = "#1a1a2e")
  ) |>

  hc_subtitle(
    text  = "Média anual por moeda · Clique numa barra para ver os dados mensais | Fonte: SWIFT RMB Tracker",
    style = list(fontSize = "11px", color = "#7f8c8d")
  ) |>

  hc_xAxis(
    categories    = anos,
    title         = list(text = "Ano"),
    gridLineWidth = 0
  ) |>

  hc_yAxis(
    title         = list(text = "% dos Pagamentos SWIFT"),
    labels        = list(format = "{value}%"),
    gridLineColor = "#f0f0f0"
  ) |>

  hc_plotOptions(
    column = list(
      borderRadius = 3,
      dataLabels   = list(enabled = FALSE)
    ),
    line = list(
      animation = list(duration = 800),
      states    = list(hover = list(lineWidth = 3.5))
    )
  ) |>

  hc_add_series_list(series_list) |>

  hc_drilldown(
    allowPointDrilldown = TRUE,
    series              = drilldown_list,
    activeAxisLabelStyle = list(textDecoration = "none", color = "#1a1a2e"),
    breadcrumbs = list(
      buttonTheme = list(
        fill    = "#f0f0f0",
        padding = 8,
        style   = list(color = "#1a1a2e", fontWeight = "bold")
      )
    )
  ) |>

 hc_tooltip(
    valueDecimals = 1,
    pointFormat   = '<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}%</b>'
  ) |>

  hc_legend(
    align         = "center",
    verticalAlign = "bottom",
    itemStyle     = list(fontSize = "12px", fontWeight = "500")
  ) |>

  hc_exporting(
    enabled  = TRUE,
    filename = "swift_drilldown",
    buttons  = list(contextButton = list(
      menuItems = c("downloadPNG", "downloadPDF", "downloadCSV")
    ))
  ) |>

  hc_credits(
    enabled = TRUE,
    text    = "Gráfico de confecção própria: IbMacro BH",
    style   = list(fontSize = "10px")
  )
```