Load Packages
packages <- c(
"readxl",
"dplyr",
"ggplot2",
"lubridate",
"knitr",
"tidyr"
)
new_packages <- packages[
!(packages %in% installed.packages()[, "Package"])
]
if (length(new_packages) > 0) {
install.packages(new_packages)
}
library(readxl)
library(dplyr)
library(ggplot2)
library(lubridate)
library(knitr)
library(tidyr)
data <- read_excel("20261004120300_hw3.xlsx")
head(data)
## # A tibble: 6 × 6
## CO_ID Date Open High Low Close
## <chr> <dttm> <dbl> <dbl> <dbl> <dbl>
## 1 0053 PTE 2024-10-04 00:00:00 95.4 95.4 94.5 94.5
## 2 0050 Yuanta Taiwan Top50 2024-10-04 00:00:00 44.2 44.5 43.9 44.1
## 3 0056 PTD 2024-10-04 00:00:00 31.1 31.2 30.9 31.0
## 4 0051 TMT 2024-10-04 00:00:00 76.4 76.4 75.0 75.3
## 5 0057 FB MSCI Taiwan 2024-10-04 00:00:00 136. 137. 136. 136.
## 6 0052 FB Technology 2024-10-04 00:00:00 24.6 24.7 24.4 24.5
data <- data %>%
mutate(
CO_ID = as.character(CO_ID),
Date = as.Date(Date),
Open = as.numeric(Open),
High = as.numeric(High),
Low = as.numeric(Low),
Close = as.numeric(Close)
) %>%
arrange(CO_ID, Date)
latest_date <- max(data$Date, na.rm = TRUE)
start_date <- latest_date %m-% years(2)
stock_data <- data %>%
filter(
Date >= start_date,
Date <= latest_date
)
cat("Data period:", start_date, "to", latest_date)
## Data period: 19742 to 20473