data <- read.csv("D:/2024-2025/FA24/Stats/mergedfile.csv")

Time Column Conversion

Task: Select a column in your dataset that encodes time (e.g., Date), and convert it to a proper date format in R.

library(lubridate)
## 
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
data$Date <- as.Date(data$Date, format = "%Y-%m-%d")

Response Variable Selection

Task: Example filtering for a specific stock (e.g., Boeing):

boeing_data <- data[data$Symbol == "BA", ]

Create and Plot a Tsibble

Task: Create a tsibble object with the time and response variable, and generate time series plots for different time windows.

library(tsibble)
## Registered S3 method overwritten by 'tsibble':
##   method               from 
##   as_tibble.grouped_df dplyr
## 
## Attaching package: 'tsibble'
## The following object is masked from 'package:lubridate':
## 
##     interval
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, union
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
# Example Data
data <- data.frame(
  Date = seq(as.Date("2020-01-01"), as.Date("2020-12-31"), by = "day"),
  Symbol = "BA",
  Adj.Close = runif(366, 100, 200)
)

# Ensure no issues
data <- data %>%
  arrange(Date) %>%
  distinct(Date, .keep_all = TRUE)

# Convert to tsibble
ts_data <- as_tsibble(data, index = Date)

library(ggplot2)

ggplot(ts_data, aes(x = Date, y = Adj.Close)) +
  geom_line() +
  ggtitle("Adjusted Close Price Over Time") +
  xlab("Date") +
  ylab("Adjusted Close Price")

Detecting Seasonality

Task: Apply smoothing techniques (e.g., moving averages) to identify seasonal patterns

library(fable)
## Warning: package 'fable' was built under R version 4.4.2
## Loading required package: fabletools
## Warning: package 'fabletools' was built under R version 4.4.2
smoothed <- ts_data %>%
  model(ETS(Adj.Close ~ season("A")))


library(forecast)
## Warning: package 'forecast' was built under R version 4.4.2
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
Acf(data$Adj.Close)

Pacf(data$Adj.Close)