#Install packages

#install.packages("quantmod")
library(quantmod)
## Loading required package: xts
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Loading required package: TTR
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
getSymbols("MSFT", src="yahoo",from = "2024-10-01", to = "2025-01-31")
## [1] "MSFT"
library(quantmod)
getSymbols("MSFT", src="yahoo",from = "2024-10-01", to = "2025-02-01")
## [1] "MSFT"
num_trading_days <- nrow(MSFT)
print(num_trading_days)
## [1] 84
getSymbols("MSFT", src = "yahoo", from = "2024-10-01", to = "2025-01-31")
## [1] "MSFT"
open_prices <- Op(MSFT)
max_open <- max(open_prices, na.rm = TRUE)
max_date <- index(open_prices)[which(open_prices == max_open)] 
print(paste("Highest Open price:", max_open))
## [1] "Highest Open price: 451.320007324219"
print(paste("Date of highest Open price:", max_date))
## [1] "Date of highest Open price: 2024-12-18"
#install.packages("pageviews")
library(pageviews)
msft_views <- article_pageviews(
  project = "en.wikipedia",
  article = "Microsoft",
  start = "2024100100",
  end = "2025013100",
  user_type = "all"
)
head(msft_views)
##     project language   article     access      agent granularity       date
## 1 wikipedia       en Microsoft all-access all-agents       daily 2024-10-01
## 2 wikipedia       en Microsoft all-access all-agents       daily 2024-10-02
## 3 wikipedia       en Microsoft all-access all-agents       daily 2024-10-03
## 4 wikipedia       en Microsoft all-access all-agents       daily 2024-10-04
## 5 wikipedia       en Microsoft all-access all-agents       daily 2024-10-05
## 6 wikipedia       en Microsoft all-access all-agents       daily 2024-10-06
##   views
## 1  8729
## 2 11914
## 3  8328
## 4  8717
## 5 10179
## 6  7492
dim(msft_views)
## [1] 123   8
msft_views <- article_pageviews(
  project = "en.wikipedia",
  article = "Microsoft",
  start = "2024100100",  
  end = "2025013100",    
  user_type = "all"
)
high_views <- subset(msft_views, views > 30000)
num_days <- nrow(high_views)
print(num_days)
## [1] 1
library(pageviews)
library(quantmod)
getSymbols("MSFT", src = "yahoo", from = "2024-10-01", to = "2025-01-31")
## [1] "MSFT"
msft_stock <- data.frame(Date = index(MSFT), coredata(MSFT))
str(msft_stock)
## 'data.frame':    83 obs. of  7 variables:
##  $ Date         : Date, format: "2024-10-01" "2024-10-02" ...
##  $ MSFT.Open    : num  428 423 418 418 416 ...
##  $ MSFT.High    : num  428 423 420 420 417 ...
##  $ MSFT.Low     : num  419 417 414 415 409 ...
##  $ MSFT.Close   : num  421 417 417 416 410 ...
##  $ MSFT.Volume  : num  19092900 16582300 13686400 19169700 20919800 ...
##  $ MSFT.Adjusted: num  420 416 416 415 409 ...
msft_views <- article_pageviews(
  project = "en.wikipedia",
  article = "Microsoft",
  start = "2024100100", 
  end = "2025013100",
  user_type = "all"
)
colnames(msft_views)
## [1] "project"     "language"    "article"     "access"      "agent"      
## [6] "granularity" "date"        "views"
str(msft_views)
## 'data.frame':    123 obs. of  8 variables:
##  $ project    : chr  "wikipedia" "wikipedia" "wikipedia" "wikipedia" ...
##  $ language   : chr  "en" "en" "en" "en" ...
##  $ article    : chr  "Microsoft" "Microsoft" "Microsoft" "Microsoft" ...
##  $ access     : chr  "all-access" "all-access" "all-access" "all-access" ...
##  $ agent      : chr  "all-agents" "all-agents" "all-agents" "all-agents" ...
##  $ granularity: chr  "daily" "daily" "daily" "daily" ...
##  $ date       : POSIXct, format: "2024-10-01" "2024-10-02" ...
##  $ views      : num  8729 11914 8328 8717 10179 ...
colnames(msft_views)[colnames(msft_views) == "date"] <- "Date"
msft_views$Date <- as.Date(msft_views$Date)
merged_data <- merge(msft_stock, msft_views, by = "Date", all = FALSE)
head(merged_data)
##         Date MSFT.Open MSFT.High MSFT.Low MSFT.Close MSFT.Volume MSFT.Adjusted
## 1 2024-10-01    428.45    428.48   418.81     420.69    19092900      419.8496
## 2 2024-10-02    422.58    422.82   416.71     417.13    16582300      416.2967
## 3 2024-10-03    417.63    419.55   414.29     416.54    13686400      415.7079
## 4 2024-10-04    418.24    419.75   414.97     416.06    19169700      415.2289
## 5 2024-10-07    416.00    417.11   409.00     409.54    20919800      408.7219
## 6 2024-10-08    410.90    415.66   408.17     414.71    19229300      413.8816
##     project language   article     access      agent granularity views
## 1 wikipedia       en Microsoft all-access all-agents       daily  8729
## 2 wikipedia       en Microsoft all-access all-agents       daily 11914
## 3 wikipedia       en Microsoft all-access all-agents       daily  8328
## 4 wikipedia       en Microsoft all-access all-agents       daily  8717
## 5 wikipedia       en Microsoft all-access all-agents       daily  8746
## 6 wikipedia       en Microsoft all-access all-agents       daily 10262
nrow(merged_data)
## [1] 83