library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
data <- read.table("MidtermDataTEJ.txt", header=TRUE, sep="\t", stringsAsFactors=FALSE)
data$Date <- as.Date(as.character(data$Date), format="%Y%m%d")
highest_prices <- data %>%
  group_by(CO_ID, CoName) %>%
  slice(which.max(Close)) %>%
  select(CO_ID, CoName, Highest_Price = Close, Date_of_Highest_Price = Date) %>%
  ungroup() %>%
  arrange(desc(Highest_Price))

# Print the results
print("Highest prices for each ETF:")
## [1] "Highest prices for each ETF:"
print(highest_prices)
## # A tibble: 3 × 4
##   CO_ID CoName                Highest_Price Date_of_Highest_Price
##   <dbl> <chr>                         <dbl> <date>               
## 1    50 "Yuanta Taiwan Top50"         137.  2022-01-17           
## 2    52 "FB Technology"               124.  2023-12-28           
## 3    56 "PTD          "                34.1 2023-12-27
# Find the overall highest price
overall_highest <- highest_prices %>%
  slice(1)

print("\nOverall highest price:")
## [1] "\nOverall highest price:"
print(overall_highest)
## # A tibble: 1 × 4
##   CO_ID CoName              Highest_Price Date_of_Highest_Price
##   <dbl> <chr>                       <dbl> <date>               
## 1    50 Yuanta Taiwan Top50          137. 2022-01-17
# Calculate the range of prices for each ETF
price_range <- data %>%
  group_by(CO_ID, CoName) %>%
  summarize(
    Min_Price = min(Close),
    Max_Price = max(Close),
    Price_Range = Max_Price - Min_Price
  ) %>%
  arrange(desc(Price_Range))
## `summarise()` has grouped output by 'CO_ID'. You can override using the
## `.groups` argument.
print("\nPrice range for each ETF:")
## [1] "\nPrice range for each ETF:"
print(price_range)
## # A tibble: 3 × 5
## # Groups:   CO_ID [3]
##   CO_ID CoName                Min_Price Max_Price Price_Range
##   <dbl> <chr>                     <dbl>     <dbl>       <dbl>
## 1    50 "Yuanta Taiwan Top50"     18.0      137.        119. 
## 2    52 "FB Technology"            9.49     124.        115. 
## 3    56 "PTD          "            4.99      34.1        29.1