library(httr)
library(fpp3)
## ── Attaching packages ──────────────────────────────────────────── fpp3 0.4.0 ──
## ✓ tibble 3.1.4 ✓ tsibble 1.1.1
## ✓ dplyr 1.0.7 ✓ tsibbledata 0.4.0
## ✓ tidyr 1.1.3 ✓ feasts 0.2.2
## ✓ lubridate 1.8.0 ✓ fable 0.3.1
## ✓ ggplot2 3.3.5
## Warning: package 'tsibbledata' was built under R version 4.1.2
## ── Conflicts ───────────────────────────────────────────────── fpp3_conflicts ──
## x lubridate::date() masks base::date()
## x dplyr::filter() masks stats::filter()
## x tsibble::intersect() masks base::intersect()
## x tsibble::interval() masks lubridate::interval()
## x dplyr::lag() masks stats::lag()
## x tsibble::setdiff() masks base::setdiff()
## x tsibble::union() masks base::union()
library(forecast)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
library(fable)
library(fpp2)
## ── Attaching packages ────────────────────────────────────────────── fpp2 2.4 ──
## ✓ fma 2.4 ✓ expsmooth 2.3
##
##
## Attaching package: 'fpp2'
## The following object is masked from 'package:fpp3':
##
## insurance
tsla<-read.csv("/Users/Luke/Documents/BC/Predictive Analytics/Discussion 6/TSLA.csv")
tsla$Date<-as.Date(tsla$Date)
tsla
## Date Open High Low Close Adj.Close Volume
## 1 0005-01-17 62.976 68.578 58.152 68.202 68.202 740231500
## 2 0006-01-17 68.800 77.398 66.842 72.322 72.322 929755500
## 3 0007-01-17 74.048 74.270 60.626 64.694 64.694 908200000
## 4 0008-01-17 64.600 74.000 62.244 71.180 71.180 684708000
## 5 0009-01-17 71.224 77.922 67.080 68.220 68.220 557563500
## 6 0010-01-17 68.504 72.600 63.332 66.306 66.306 615183500
## 7 0011-01-17 66.450 66.522 58.526 61.770 61.770 744064000
## 8 0012-01-17 61.088 69.488 60.000 62.270 62.270 549423500
## 9 0001-01-18 62.400 72.100 61.136 70.862 70.862 621357500
## 10 0002-01-18 70.200 71.998 58.952 68.612 68.612 545950000
## 11 0003-01-18 69.002 69.734 49.642 53.226 53.226 786342500
## 12 0004-01-18 51.252 61.900 48.918 58.780 58.780 951554000
## 13 0005-01-18 58.702 62.598 54.684 56.946 56.946 777890500
## 14 0006-01-18 57.172 74.746 56.768 68.590 68.590 1067125500
## 15 0007-01-18 72.014 72.956 57.226 59.628 59.628 861641000
## 16 0008-01-18 59.598 77.492 57.640 60.332 60.332 1386801000
## 17 0009-01-18 59.388 62.992 50.450 52.954 52.954 980377000
## 18 0010-01-18 61.154 69.432 49.554 67.464 67.464 1431803500
## 19 0011-01-18 67.652 73.350 65.000 70.096 70.096 665095500
## 20 0012-01-18 72.000 75.898 58.818 66.560 66.560 732256000
## 21 0001-01-19 61.220 70.400 55.856 61.404 61.404 878260500
## 22 0002-01-19 61.084 64.848 57.754 63.976 63.976 642750500
## 23 0003-01-19 61.388 61.426 50.892 55.972 55.972 1068967500
## 24 0004-01-19 56.524 59.234 46.226 47.738 47.738 1153736500
## 25 0005-01-19 47.770 51.670 36.820 37.032 37.032 1412994000
## 26 0006-01-19 37.102 46.948 35.398 44.692 44.692 1074853000
## 27 0007-01-19 46.042 53.214 44.444 48.322 48.322 996683500
## 28 0008-01-19 48.530 48.902 42.200 45.122 45.122 668953000
## 29 0009-01-19 44.816 50.700 43.672 48.174 48.174 678876500
## 30 0010-01-19 48.300 68.168 44.856 62.984 62.984 1139913000
## 31 0011-01-19 63.264 72.240 61.852 65.988 65.988 788854000
## 32 0012-01-19 65.880 87.062 65.450 83.666 83.666 1035400000
## 33 0001-01-20 84.900 130.600 84.342 130.114 130.114 2036092500
## 34 0002-01-20 134.738 193.798 122.304 133.598 133.598 2362934000
## 35 0003-01-20 142.252 161.396 70.102 104.800 104.800 2104675000
## 36 0004-01-20 100.800 173.964 89.280 156.376 156.376 1907387500
## 37 0005-01-20 151.000 168.658 136.608 167.000 167.000 1363518000
## 38 0006-01-20 171.600 217.538 170.820 215.962 215.962 1278863500
## 39 0007-01-20 216.600 358.998 216.100 286.152 286.152 1893167500
## 40 0008-01-20 289.840 500.140 273.000 498.320 498.320 1557378400
## 41 0009-01-20 502.140 502.490 329.880 429.010 429.010 1736284800
## 42 0010-01-20 440.760 465.900 379.110 388.040 388.040 833666400
## 43 0011-01-20 394.000 607.800 392.300 567.600 567.600 782598800
## 44 0012-01-20 597.590 718.720 541.210 705.670 705.670 1196346000
## 45 0001-01-21 719.460 900.400 717.190 793.530 793.530 705694800
## 46 0002-01-21 814.290 880.500 619.000 675.500 675.500 522857900
## 47 0003-01-21 690.110 721.110 539.490 667.930 667.930 942452400
## 48 0004-01-21 688.370 780.790 659.420 709.440 709.440 678539700
## 49 0005-01-21 703.800 706.000 546.980 625.220 625.220 625175800
## 50 0006-01-21 627.800 697.620 571.220 679.700 679.700 519921900
## 51 0007-01-21 683.920 700.000 620.460 687.200 687.200 448449800
## 52 0008-01-21 700.000 740.390 648.840 735.720 735.720 381324900
## 53 0009-01-21 734.080 799.000 708.850 775.480 775.480 390171300
## 54 0010-01-21 778.400 1115.210 763.590 1114.000 1114.000 528934600
## 55 0011-01-21 1145.000 1243.490 978.600 1144.760 1144.760 649111500
## 56 0012-01-21 1160.700 1172.840 886.120 1056.780 1056.780 510055900
## 57 0001-01-22 1147.750 1208.000 792.010 936.720 936.720 638668800
## 58 0002-01-22 935.210 947.770 700.000 870.430 870.430 463708900
## 59 0003-01-22 869.680 1114.770 756.040 1077.600 1077.600 576424300
## 60 0004-01-22 1081.150 1152.870 973.100 1008.780 1008.780 318709200
vwagy<-read.csv("/Users/Luke/Documents/BC/Predictive Analytics/Discussion 6/VWAGY.csv")
new<-data.frame(vwagy$Adj.Close, tsla$Adj.Close)
evts<-ts(new)
evts %>% autoplot()
evts
## Time Series:
## Start = 1
## End = 60
## Frequency = 1
## vwagy.Adj.Close tsla.Adj.Close
## 1 14.94100 68.202
## 2 14.80072 72.322
## 3 14.95526 64.694
## 4 14.71275 71.180
## 5 16.07512 68.220
## 6 17.82744 66.306
## 7 19.74380 61.770
## 8 19.22786 62.270
## 9 21.13234 70.862
## 10 18.90688 68.612
## 11 19.04002 53.226
## 12 19.32059 58.780
## 13 17.69429 56.946
## 14 15.69233 68.590
## 15 16.43415 59.628
## 16 15.21680 60.332
## 17 16.44366 52.954
## 18 15.62575 67.464
## 19 15.77317 70.096
## 20 14.83638 66.560
## 21 16.51974 61.404
## 22 16.74799 63.976
## 23 15.44505 55.972
## 24 17.00002 47.738
## 25 15.00757 37.032
## 26 16.26296 44.692
## 27 16.13932 48.322
## 28 15.45457 45.122
## 29 16.29149 48.174
## 30 18.01289 62.984
## 31 18.07471 65.988
## 32 18.34576 83.666
## 33 17.38520 130.114
## 34 15.98715 133.598
## 35 12.45876 104.800
## 36 14.20869 156.376
## 37 15.00757 167.000
## 38 15.38324 215.962
## 39 14.85540 286.152
## 40 17.05233 498.320
## 41 16.87163 429.010
## 42 14.80785 388.040
## 43 18.23323 567.600
## 44 20.48291 705.670
## 45 20.75798 793.530
## 46 23.00569 675.500
## 47 35.66089 667.930
## 48 31.15170 709.440
## 49 35.52827 625.220
## 50 32.30110 679.700
## 51 32.60565 687.200
## 52 33.43000 735.720
## 53 31.12000 775.480
## 54 32.61000 1114.000
## 55 27.85000 1144.760
## 56 29.20000 1056.780
## 57 28.74000 936.720
## 58 25.79000 870.430
## 59 24.67000 1077.600
## 60 23.51800 1008.780
library(vars)
## Loading required package: MASS
##
## Attaching package: 'MASS'
## The following objects are masked from 'package:fma':
##
## cement, housing, petrol
## The following object is masked from 'package:dplyr':
##
## select
## Loading required package: strucchange
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following object is masked from 'package:tsibble':
##
## index
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## Loading required package: sandwich
## Loading required package: urca
## Loading required package: lmtest
##
## Attaching package: 'vars'
## The following object is masked from 'package:fable':
##
## VAR
VAR <- VAR(evts)
summary(VAR)
##
## VAR Estimation Results:
## =========================
## Endogenous variables: vwagy.Adj.Close, tsla.Adj.Close
## Deterministic variables: const
## Sample size: 59
## Log Likelihood: -471.341
## Roots of the characteristic polynomial:
## 1.005 0.7946
## Call:
## VAR(y = evts)
##
##
## Estimation results for equation vwagy.Adj.Close:
## ================================================
## vwagy.Adj.Close = vwagy.Adj.Close.l1 + tsla.Adj.Close.l1 + const
##
## Estimate Std. Error t value Pr(>|t|)
## vwagy.Adj.Close.l1 0.808495 0.080864 9.998 4.6e-14 ***
## tsla.Adj.Close.l1 0.002602 0.001468 1.772 0.0818 .
## const 3.152424 1.317699 2.392 0.0201 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Residual standard error: 2.382 on 56 degrees of freedom
## Multiple R-Squared: 0.8625, Adjusted R-squared: 0.8575
## F-statistic: 175.6 on 2 and 56 DF, p-value: < 2.2e-16
##
##
## Estimation results for equation tsla.Adj.Close:
## ===============================================
## tsla.Adj.Close = vwagy.Adj.Close.l1 + tsla.Adj.Close.l1 + const
##
## Estimate Std. Error t value Pr(>|t|)
## vwagy.Adj.Close.l1 1.05114 2.60118 0.404 0.688
## tsla.Adj.Close.l1 0.99092 0.04722 20.987 <2e-16 ***
## const -2.17395 42.38714 -0.051 0.959
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Residual standard error: 76.63 on 56 degrees of freedom
## Multiple R-Squared: 0.956, Adjusted R-squared: 0.9544
## F-statistic: 607.8 on 2 and 56 DF, p-value: < 2.2e-16
##
##
##
## Covariance matrix of residuals:
## vwagy.Adj.Close tsla.Adj.Close
## vwagy.Adj.Close 5.675 16
## tsla.Adj.Close 15.999 5872
##
## Correlation matrix of residuals:
## vwagy.Adj.Close tsla.Adj.Close
## vwagy.Adj.Close 1.00000 0.08765
## tsla.Adj.Close 0.08765 1.00000
VAR_fc <- VAR %>% forecast(h=12)
VAR_fc %>% autoplot(tsla)
VAR_fc %>% autoplot(vwagy)
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.