# Ambil data saham dari Yahoo Finance
getSymbols(c("GOOGL", "MSFT", "AAPL"), 
           from = "2020-01-01", 
           to = "2023-12-31")
## [1] "GOOGL" "MSFT"  "AAPL"
# Data frame closing price
data_saham <- data.frame(
  Tanggal = index(GOOGL),
  GOOGL = as.numeric(Cl(GOOGL)),
  MSFT  = as.numeric(Cl(MSFT)),
  AAPL  = as.numeric(Cl(AAPL))
)

head(data_saham)
##      Tanggal   GOOGL   MSFT    AAPL
## 1 2020-01-02 68.4340 160.62 75.0875
## 2 2020-01-03 68.0760 158.62 74.3575
## 3 2020-01-06 69.8905 159.03 74.9500
## 4 2020-01-07 69.7555 157.58 74.5975
## 5 2020-01-08 70.2520 160.09 75.7975
## 6 2020-01-09 70.9895 162.09 77.4075
## # A tibble: 6 × 3
##   Tanggal    Saham Harga
##   <date>     <chr> <dbl>
## 1 2020-01-02 GOOGL  68.4
## 2 2020-01-02 MSFT  161. 
## 3 2020-01-02 AAPL   75.1
## 4 2020-01-03 GOOGL  68.1
## 5 2020-01-03 MSFT  159. 
## 6 2020-01-03 AAPL   74.4
## Single Time Series Plot GOOGL
ggplot(
  data_gabung[data_gabung$Saham == "GOOGL", ],
  aes(x = Tanggal, y = Harga)
) +
  geom_line(color = "aquamarine3") +

  geom_vline(
    xintercept = as.Date(c(
      "2021-01-01",
      "2022-01-01",
      "2023-01-01"
    )),
    linetype = "dashed",
    color = "magenta1"
  ) +

  labs(
    title = "Time Series Harga Saham GOOGL",
    x = "Tanggal",
    y = "Harga"
  ) +

  theme_minimal()

## Single Time Series Plot MSFT
ggplot(
  data_gabung[data_gabung$Saham == "MSFT", ],
  aes(x = Tanggal, y = Harga)
) +
  geom_line(color = "royalblue1") +

  geom_vline(
    xintercept = as.Date(c(
      "2021-01-01",
      "2022-01-01",
      "2023-01-01"
    )),
    linetype = "dashed",
    color = "magenta1"
  ) +

  labs(
    title = "Time Series Harga Saham MSFT",
    x = "Tanggal",
    y = "Harga"
  ) +

  theme_minimal()

## Single Time Series Plot AAPL
ggplot(
  data_gabung[data_gabung$Saham == "AAPL", ],
  aes(x = Tanggal, y = Harga)
) +
  geom_line(color = "deeppink") +

  geom_vline(
    xintercept = as.Date(c(
      "2021-01-01",
      "2022-01-01",
      "2023-01-01"
    )),
    linetype = "dashed",
    color = "magenta1"
  ) +

  labs(
    title = "Time Series Harga Saham AAPL",
    x = "Tanggal",
    y = "Harga"
  ) +

  theme_minimal()

## Multiple Time Series Plot
ggplot(data_gabung,
       aes(x = Tanggal,
           y = Harga,
           color = Saham)) +

  geom_line() +

  geom_vline(
    xintercept = as.Date(c(
      "2021-01-01",
      "2022-01-01",
      "2023-01-01"
    )),
    linetype = "dashed",
    color = "magenta1"
  ) +

  labs(
    title = "Multiple Time Series (3 Saham)",
    x = "Waktu",
    y = "Harga",
    color = "Saham"
  ) +

  theme_minimal()

Grafik menunjukkan harga saham AAPL, GOOGL, dan MSFT selama tahun 2020–2023. Ketiga saham cenderung mengalami kenaikan meskipun sempat turun di beberapa periode. MSFT memiliki harga tertinggi dan kenaikan paling besar, sedangkan GOOGL memiliki harga paling rendah. Garis putus-putus menandai pergantian tahun.

## Eksplorasi Data Gabungan dengan Boxplot 
ggplot(data_gabung, aes(x = Saham, y = Harga, fill = Saham)) + 
    geom_boxplot() + 
    labs(title = "Boxplot Harga Saham", 
    x = "Saham", 
    y = "Harga Penutupan") + 
    scale_fill_brewer(palette = "Set2") +
    theme_minimal() 

Boxplot menunjukkan distribusi harga penutupan dari masing-masing saham. Saham MSFT memiliki median harga tertinggi dan rentang data yang lebih lebar yang menandakan variasi harga lebih besar dibandingkan saham lain. Saham AAPL memiliki distribusi harga yang cukup stabil dengan beberapa nilai rendah yang terlihat sebagai outlier. Saham GOOGL memiliki median harga paling rendah dengan penyebaran data yang relatif lebih kecil dibandingkan MSFT. MSFT menunjukkan harga dan volatilitas tertinggi sedangkan GOOGL memiliki harga yang lebih rendah dan relatif lebih stabil selama periode pengamatan.

Secara keseluruhan, ketiga saham menunjukkan tren kenaikan selama periode 2020–2023. MSFT memiliki performa paling tinggi dengan harga dan fluktuasi terbesar, AAPL menunjukkan kenaikan yang cukup stabil sedangkan GOOGL memiliki harga lebih rendah dengan pergerakan yang relatif lebih stabil. Dari visualisasi time series dan boxplot dapat dilihat bahwa masing-masing saham memiliki pola dan tingkat variasi harga yang berbeda.