The objective is to perform a time series analysis for Netflix stock price.

# Uploading libraries
library(xts)
## Warning: package 'xts' was built under R version 4.3.1
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.3.1
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.1
## 
## ######################### Warning from 'xts' package ##########################
## #                                                                             #
## # The dplyr lag() function breaks how base R's lag() function is supposed to  #
## # work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or       #
## # source() into this session won't work correctly.                            #
## #                                                                             #
## # Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
## # conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop           #
## # dplyr from breaking base R's lag() function.                                #
## #                                                                             #
## # Code in packages is not affected. It's protected by R's namespace mechanism #
## # Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning.  #
## #                                                                             #
## ###############################################################################
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:xts':
## 
##     first, last
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(zoo)
library(tseries)
## Warning: package 'tseries' was built under R version 4.3.1
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(stats)
library(forecast)
## Warning: package 'forecast' was built under R version 4.3.1
library(astsa)
## 
## Attaching package: 'astsa'
## The following object is masked from 'package:forecast':
## 
##     gas
library(corrplot)
## Warning: package 'corrplot' was built under R version 4.3.1
## corrplot 0.92 loaded
library(AER)
## Warning: package 'AER' was built under R version 4.3.1
## Loading required package: car
## Warning: package 'car' was built under R version 4.3.1
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.3.1
## 
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
## Loading required package: lmtest
## Warning: package 'lmtest' was built under R version 4.3.1
## Loading required package: sandwich
## Warning: package 'sandwich' was built under R version 4.3.1
## Loading required package: survival
library(vars)
## Warning: package 'vars' was built under R version 4.3.1
## Loading required package: MASS
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
## Loading required package: strucchange
## Warning: package 'strucchange' was built under R version 4.3.1
## Loading required package: urca
## Warning: package 'urca' was built under R version 4.3.1
library(dynlm)
## Warning: package 'dynlm' was built under R version 4.3.1
library(vars)
library(TSstudio)
## Warning: package 'TSstudio' was built under R version 4.3.1
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.1
## Warning: package 'ggplot2' was built under R version 4.3.1
## Warning: package 'tidyr' was built under R version 4.3.1
## Warning: package 'readr' was built under R version 4.3.1
## Warning: package 'purrr' was built under R version 4.3.1
## Warning: package 'forcats' was built under R version 4.3.1
## Warning: package 'lubridate' was built under R version 4.3.1
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ readr     2.1.4
## ✔ ggplot2   3.4.3     ✔ stringr   1.5.0
## ✔ lubridate 1.9.2     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ stringr::boundary() masks strucchange::boundary()
## ✖ dplyr::filter()     masks stats::filter()
## ✖ dplyr::first()      masks xts::first()
## ✖ dplyr::lag()        masks stats::lag()
## ✖ dplyr::last()       masks xts::last()
## ✖ car::recode()       masks dplyr::recode()
## ✖ MASS::select()      masks dplyr::select()
## ✖ purrr::some()       masks car::some()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(sarima)
## Warning: package 'sarima' was built under R version 4.3.1
## Loading required package: stats4
## 
## Attaching package: 'sarima'
## 
## The following object is masked from 'package:astsa':
## 
##     sarima
## 
## The following object is masked from 'package:stats':
## 
##     spectrum
library(dygraphs)
## Warning: package 'dygraphs' was built under R version 4.3.1
library(ggplot2)
data <- read.csv("C:\\Users\\naila\\OneDrive\\Documentos\\1 TEC\\5 QUINTO SEMESTRE\\Econometrics\\Exam\\entretainment_stocks.csv") 
str(data)
## 'data.frame':    192 obs. of  7 variables:
##  $ Date               : chr  "1/1/2007" "2/1/2007" "3/1/2007" "4/1/2007" ...
##  $ Disney_Adj_Close   : num  29.1 28.4 28.5 29 29.3 ...
##  $ Netflix_Adj_Close  : num  3.26 3.22 3.31 3.17 3.13 2.77 2.46 2.5 2.96 3.78 ...
##  $ Nintendo_Adj_Close : num  37.1 33.1 36.3 40 43.6 ...
##  $ WBD_Adj_Close      : num  8.47 8.21 9.78 11.11 11.95 ...
##  $ EA_Adj_Close       : num  49.5 49.9 49.8 49.9 48.4 ...
##  $ Paramount_Adj_Close: num  22.1 21.5 21.6 22.6 23.7 ...

a) Visualization

sum(is.na(data))
## [1] 0
data$Date <- as.Date(data$Date,"%m/%d/%Y")
Nxts<-xts(data$Netflix_Adj_Close,order.by=data$Date)
plot(Nxts)

Netflixts<-ts(data$Netflix_Adj_Close,start=c(2007,1),end=c(2022,12),frequency=12)
Netflixdec<-decompose(Netflixts)
plot(Netflixdec)

b) Estimation

adf.test(data$Netflix_Adj_Close)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  data$Netflix_Adj_Close
## Dickey-Fuller = -2.9019, Lag order = 5, p-value = 0.1987
## alternative hypothesis: stationary

non-stationary

acf(data$Netflix_Adj_Close,main="Significant Autocorrelations")

## ARMA with log

summary(Netflix_ARMA<-arma(log(data$Netflix_Adj_Close),order=c(1,1)))
## 
## Call:
## arma(x = log(data$Netflix_Adj_Close), order = c(1, 1))
## 
## Model:
## ARMA(1,1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.73942 -0.07764  0.01083  0.08273  0.52979 
## 
## Coefficient(s):
##            Estimate  Std. Error  t value Pr(>|t|)    
## ar1        0.990021    0.007347  134.746   <2e-16 ***
## ma1        0.125387    0.068350    1.834   0.0666 .  
## intercept  0.063487    0.031922    1.989   0.0467 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Fit:
## sigma^2 estimated as 0.02343,  Conditional Sum-of-Squares = 4.45,  AIC = -169.81
Netflix_ARMA$fitted.values <- na.omit(data$fitted.values)
Netflix_ARMA$fitted.values
## NULL
#Netflix_estimated_sp<-exp(Netflix_ARMA$fitted.values)

c) Evaluation

d) Forecast

LS0tDQp0aXRsZTogIlBhcnQgMyBFeGFtIg0KYXV0aG9yOiAiTmFpbGEgSXR6ZWwgU2FsaW5hcyBBbGZhcm8gQTAwODMyNzAyIg0KZGF0ZTogIjIwMjMtMDktMDgiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZmxvYXQ6IHllcw0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KICBwZGZfZG9jdW1lbnQ6DQogICAgdG9jOiB5ZXMNCi0tLQ0KDQpUaGUgb2JqZWN0aXZlIGlzIHRvIHBlcmZvcm0gYSB0aW1lIHNlcmllcyBhbmFseXNpcyBmb3IgTmV0ZmxpeCBzdG9jayBwcmljZS4NCg0KYGBge3J9DQojIFVwbG9hZGluZyBsaWJyYXJpZXMNCmxpYnJhcnkoeHRzKQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkoem9vKQ0KbGlicmFyeSh0c2VyaWVzKQ0KbGlicmFyeShzdGF0cykNCmxpYnJhcnkoZm9yZWNhc3QpDQpsaWJyYXJ5KGFzdHNhKQ0KbGlicmFyeShjb3JycGxvdCkNCmxpYnJhcnkoQUVSKQ0KbGlicmFyeSh2YXJzKQ0KbGlicmFyeShkeW5sbSkNCmxpYnJhcnkodmFycykNCmxpYnJhcnkoVFNzdHVkaW8pDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoc2FyaW1hKQ0KbGlicmFyeShkeWdyYXBocykNCmxpYnJhcnkoZ2dwbG90MikNCmBgYA0KDQpgYGB7cn0NCmRhdGEgPC0gcmVhZC5jc3YoIkM6XFxVc2Vyc1xcbmFpbGFcXE9uZURyaXZlXFxEb2N1bWVudG9zXFwxIFRFQ1xcNSBRVUlOVE8gU0VNRVNUUkVcXEVjb25vbWV0cmljc1xcRXhhbVxcZW50cmV0YWlubWVudF9zdG9ja3MuY3N2IikgDQpzdHIoZGF0YSkNCmBgYA0KDQojIGEpIFZpc3VhbGl6YXRpb24NCg0KYGBge3J9DQpzdW0oaXMubmEoZGF0YSkpDQpgYGANCg0KYGBge3J9DQpkYXRhJERhdGUgPC0gYXMuRGF0ZShkYXRhJERhdGUsIiVtLyVkLyVZIikNCk54dHM8LXh0cyhkYXRhJE5ldGZsaXhfQWRqX0Nsb3NlLG9yZGVyLmJ5PWRhdGEkRGF0ZSkNCnBsb3QoTnh0cykNCmBgYA0KDQoNCmBgYHtyfQ0KTmV0ZmxpeHRzPC10cyhkYXRhJE5ldGZsaXhfQWRqX0Nsb3NlLHN0YXJ0PWMoMjAwNywxKSxlbmQ9YygyMDIyLDEyKSxmcmVxdWVuY3k9MTIpDQpOZXRmbGl4ZGVjPC1kZWNvbXBvc2UoTmV0ZmxpeHRzKQ0KcGxvdChOZXRmbGl4ZGVjKQ0KYGBgDQoNCg0KIyBiKSBFc3RpbWF0aW9uDQoNCmBgYHtyfQ0KYWRmLnRlc3QoZGF0YSROZXRmbGl4X0Fkal9DbG9zZSkNCmBgYA0Kbm9uLXN0YXRpb25hcnkNCg0KYGBge3J9DQphY2YoZGF0YSROZXRmbGl4X0Fkal9DbG9zZSxtYWluPSJTaWduaWZpY2FudCBBdXRvY29ycmVsYXRpb25zIikNCmBgYA0KIyMgQVJNQSB3aXRoIGxvZyANCmBgYHtyfQ0Kc3VtbWFyeShOZXRmbGl4X0FSTUE8LWFybWEobG9nKGRhdGEkTmV0ZmxpeF9BZGpfQ2xvc2UpLG9yZGVyPWMoMSwxKSkpDQpgYGANCmBgYHtyfQ0KTmV0ZmxpeF9BUk1BJGZpdHRlZC52YWx1ZXMgPC0gbmEub21pdChkYXRhJGZpdHRlZC52YWx1ZXMpDQpOZXRmbGl4X0FSTUEkZml0dGVkLnZhbHVlcw0KI05ldGZsaXhfZXN0aW1hdGVkX3NwPC1leHAoTmV0ZmxpeF9BUk1BJGZpdHRlZC52YWx1ZXMpDQpgYGANCg0KDQoNCiMgYykgRXZhbHVhdGlvbg0KDQojIGQpIEZvcmVjYXN0DQoNCg==