Christian Bartels, January 2015, Allschwil
Historical autocorrelations in stock prices.
Christian Bartels.
figshare.
http://dx.doi.org/10.6084/m9.figshare.1287224
Code - Historical autocorrelations in stock prices.
Christian Bartels.
figshare.
http://dx.doi.org/10.6084/m9.figshare.1287230
rm(list=ls(all=TRUE))
require(Quandl)
## Loading required package: Quandl
## Warning: package 'Quandl' was built under R version 3.1.2
## Loading required package: xts
## Warning: package 'xts' was built under R version 3.1.2
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 3.1.2
##
## Attaching package: 'zoo'
##
## Die folgenden Objekte sind maskiert from 'package:base':
##
## as.Date, as.Date.numeric
require(lubridate)
## Loading required package: lubridate
## Warning: package 'lubridate' was built under R version 3.1.2
require(data.table)
## Loading required package: data.table
##
## Attaching package: 'data.table'
##
## Die folgenden Objekte sind maskiert from 'package:lubridate':
##
## hour, mday, month, quarter, wday, week, yday, year
##
## Das folgende Objekt ist maskiert from 'package:xts':
##
## last
require(gamlss)
## Loading required package: gamlss
## Warning: package 'gamlss' was built under R version 3.1.2
## Loading required package: splines
## Loading required package: gamlss.data
## Warning: package 'gamlss.data' was built under R version 3.1.2
## Loading required package: gamlss.dist
## Warning: package 'gamlss.dist' was built under R version 3.1.2
## Loading required package: MASS
## Loading required package: nlme
## ********** GAMLSS Version 4.3-1 **********
## For more on GAMLSS look at http://www.gamlss.org/
## Type gamlssNews() to see new features/changes/bug fixes.
require(gamlss.add)
## Loading required package: gamlss.add
## Warning: package 'gamlss.add' was built under R version 3.1.2
## Loading required package: mgcv
## This is mgcv 1.7-29. For overview type 'help("mgcv-package")'.
## Loading required package: nnet
## Loading required package: rpart
require(ggplot2)
## Loading required package: ggplot2
# print out version information, path, date
R.Version()
## $platform
## [1] "x86_64-w64-mingw32"
##
## $arch
## [1] "x86_64"
##
## $os
## [1] "mingw32"
##
## $system
## [1] "x86_64, mingw32"
##
## $status
## [1] ""
##
## $major
## [1] "3"
##
## $minor
## [1] "1.0"
##
## $year
## [1] "2014"
##
## $month
## [1] "04"
##
## $day
## [1] "10"
##
## $`svn rev`
## [1] "65387"
##
## $language
## [1] "R"
##
## $version.string
## [1] "R version 3.1.0 (2014-04-10)"
##
## $nickname
## [1] "Spring Dance"
date()
## [1] "Sat Jan 10 08:17:36 2015"
Sys.info()
## sysname release
## "Windows" "7 x64"
## version nodename
## "build 7601, Service Pack 1" "CHRISTIAN-PC"
## machine login
## "x86-64" "Christian"
## user effective_user
## "Christian" "Christian"
# start of time
stime<-ymd("1900-1-1")
# sp500
symbol <- "YAHOO/INDEX_GSPC"
d1 <- as.data.table(Quandl(symbol))
## Warning: It would appear you aren't using an authentication token. Please
## visit http://www.quandl.com/help/r or your usage may be limited.
d2 <- data.table(d1)
d2[,Date:=ymd(Date)]
## Date Open High Low Close Volume Adjusted Close
## 1: 2015-01-05 2054.44 2054.44 2017.34 2020.58 3.799e+09 2020.58
## 2: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## 3: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 4: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 5: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## ---
## 16353: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## 16354: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 16355: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 16356: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 16357: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
setkey(d2,Date)
d2[,Time:=as.double(difftime(Date,stime,units="days"))]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## 16357: 2015-01-05 2054.44 2054.44 2017.34 2020.58 3.799e+09 2020.58
## Time
## 1: 18264
## 2: 18265
## 3: 18266
## 4: 18267
## 5: 18270
## ---
## 16353: 42000
## 16354: 42001
## 16355: 42002
## 16356: 42004
## 16357: 42007
d2[,year:=year(Date)]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## 16357: 2015-01-05 2054.44 2054.44 2017.34 2020.58 3.799e+09 2020.58
## Time year
## 1: 18264 1950
## 2: 18265 1950
## 3: 18266 1950
## 4: 18267 1950
## 5: 18270 1950
## ---
## 16353: 42000 2014
## 16354: 42001 2014
## 16355: 42002 2014
## 16356: 42004 2015
## 16357: 42007 2015
d2[,dec:=(year%/%10)*10]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## 16357: 2015-01-05 2054.44 2054.44 2017.34 2020.58 3.799e+09 2020.58
## Time year dec
## 1: 18264 1950 1950
## 2: 18265 1950 1950
## 3: 18266 1950 1950
## 4: 18267 1950 1950
## 5: 18270 1950 1950
## ---
## 16353: 42000 2014 2010
## 16354: 42001 2014 2010
## 16355: 42002 2014 2010
## 16356: 42004 2015 2010
## 16357: 42007 2015 2010
d2[,yday:=yday(Date)]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## 16357: 2015-01-05 2054.44 2054.44 2017.34 2020.58 3.799e+09 2020.58
## Time year dec yday
## 1: 18264 1950 1950 3
## 2: 18265 1950 1950 4
## 3: 18266 1950 1950 5
## 4: 18267 1950 1950 6
## 5: 18270 1950 1950 9
## ---
## 16353: 42000 2014 2010 363
## 16354: 42001 2014 2010 364
## 16355: 42002 2014 2010 365
## 16356: 42004 2015 2010 2
## 16357: 42007 2015 2010 5
d2[,DV1a:=log(Close)]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## 16357: 2015-01-05 2054.44 2054.44 2017.34 2020.58 3.799e+09 2020.58
## Time year dec yday DV1a
## 1: 18264 1950 1950 3 2.813
## 2: 18265 1950 1950 4 2.824
## 3: 18266 1950 1950 5 2.829
## 4: 18267 1950 1950 6 2.832
## 5: 18270 1950 1950 9 2.838
## ---
## 16353: 42000 2014 2010 363 7.645
## 16354: 42001 2014 2010 364 7.640
## 16355: 42002 2014 2010 365 7.630
## 16356: 42004 2015 2010 2 7.630
## 16357: 42007 2015 2010 5 7.611
d2[,DV2a:=c(tail(DV1a,-1),rep(NA,1))]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## 16357: 2015-01-05 2054.44 2054.44 2017.34 2020.58 3.799e+09 2020.58
## Time year dec yday DV1a DV2a
## 1: 18264 1950 1950 3 2.813 2.824
## 2: 18265 1950 1950 4 2.824 2.829
## 3: 18266 1950 1950 5 2.829 2.832
## 4: 18267 1950 1950 6 2.832 2.838
## 5: 18270 1950 1950 9 2.838 2.835
## ---
## 16353: 42000 2014 2010 363 7.645 7.640
## 16354: 42001 2014 2010 364 7.640 7.630
## 16355: 42002 2014 2010 365 7.630 7.630
## 16356: 42004 2015 2010 2 7.630 7.611
## 16357: 42007 2015 2010 5 7.611 NA
d2[,DELa:=DV2a-DV1a]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## 16357: 2015-01-05 2054.44 2054.44 2017.34 2020.58 3.799e+09 2020.58
## Time year dec yday DV1a DV2a DELa
## 1: 18264 1950 1950 3 2.813 2.824 0.011340
## 2: 18265 1950 1950 4 2.824 2.829 0.004737
## 3: 18266 1950 1950 5 2.829 2.832 0.002949
## 4: 18267 1950 1950 6 2.832 2.838 0.005872
## 5: 18270 1950 1950 9 2.838 2.835 -0.002932
## ---
## 16353: 42000 2014 2010 363 7.645 7.640 -0.004901
## 16354: 42001 2014 2010 364 7.640 7.630 -0.010364
## 16355: 42002 2014 2010 365 7.630 7.630 -0.000340
## 16356: 42004 2015 2010 2 7.630 7.611 -0.018447
## 16357: 42007 2015 2010 5 7.611 NA NA
ggplot(d2,aes(x=Date,y=DV1a)) +
geom_point() +
ylab(paste0("Natural log of ",symbol))
d3<-na.omit(d2)
d3[,w1:=0]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16352: 2014-12-26 2084.30 2092.70 2084.30 2088.77 1.735e+09 2088.77
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## Time year dec yday DV1a DV2a DELa w1
## 1: 18264 1950 1950 3 2.813 2.824 0.0113400 0
## 2: 18265 1950 1950 4 2.824 2.829 0.0047365 0
## 3: 18266 1950 1950 5 2.829 2.832 0.0029490 0
## 4: 18267 1950 1950 6 2.832 2.838 0.0058720 0
## 5: 18270 1950 1950 9 2.838 2.835 -0.0029317 0
## ---
## 16352: 41997 2014 2010 360 7.644 7.645 0.0008614 0
## 16353: 42000 2014 2010 363 7.645 7.640 -0.0049006 0
## 16354: 42001 2014 2010 364 7.640 7.630 -0.0103643 0
## 16355: 42002 2014 2010 365 7.630 7.630 -0.0003400 0
## 16356: 42004 2015 2010 2 7.630 7.611 -0.0184472 0
d3[dec==1960,w1:=1]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16352: 2014-12-26 2084.30 2092.70 2084.30 2088.77 1.735e+09 2088.77
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## Time year dec yday DV1a DV2a DELa w1
## 1: 18264 1950 1950 3 2.813 2.824 0.0113400 0
## 2: 18265 1950 1950 4 2.824 2.829 0.0047365 0
## 3: 18266 1950 1950 5 2.829 2.832 0.0029490 0
## 4: 18267 1950 1950 6 2.832 2.838 0.0058720 0
## 5: 18270 1950 1950 9 2.838 2.835 -0.0029317 0
## ---
## 16352: 41997 2014 2010 360 7.644 7.645 0.0008614 0
## 16353: 42000 2014 2010 363 7.645 7.640 -0.0049006 0
## 16354: 42001 2014 2010 364 7.640 7.630 -0.0103643 0
## 16355: 42002 2014 2010 365 7.630 7.630 -0.0003400 0
## 16356: 42004 2015 2010 2 7.630 7.611 -0.0184472 0
d3[1:25,w1:=0]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16352: 2014-12-26 2084.30 2092.70 2084.30 2088.77 1.735e+09 2088.77
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## Time year dec yday DV1a DV2a DELa w1
## 1: 18264 1950 1950 3 2.813 2.824 0.0113400 0
## 2: 18265 1950 1950 4 2.824 2.829 0.0047365 0
## 3: 18266 1950 1950 5 2.829 2.832 0.0029490 0
## 4: 18267 1950 1950 6 2.832 2.838 0.0058720 0
## 5: 18270 1950 1950 9 2.838 2.835 -0.0029317 0
## ---
## 16352: 41997 2014 2010 360 7.644 7.645 0.0008614 0
## 16353: 42000 2014 2010 363 7.645 7.640 -0.0049006 0
## 16354: 42001 2014 2010 364 7.640 7.630 -0.0103643 0
## 16355: 42002 2014 2010 365 7.630 7.630 -0.0003400 0
## 16356: 42004 2015 2010 2 7.630 7.611 -0.0184472 0
l1 <- gamlss(DELa~ la(DELa, lags=20, order=1, from.lag=1),
sigma.fo=~la(DELa^2, lags=10, order=1, from.lag=1),
weights=w1, family=TF, data=d3)
## GAMLSS-RS iteration 1: Global Deviance = -18695
## GAMLSS-RS iteration 2: Global Deviance = -18720
## GAMLSS-RS iteration 3: Global Deviance = -18724
## GAMLSS-RS iteration 4: Global Deviance = -18724
## GAMLSS-RS iteration 5: Global Deviance = -18724
## GAMLSS-RS iteration 6: Global Deviance = -18724
## GAMLSS-RS iteration 7: Global Deviance = -18724
## GAMLSS-RS iteration 8: Global Deviance = -18723
## GAMLSS-RS iteration 9: Global Deviance = -18723
## GAMLSS-RS iteration 10: Global Deviance = -18723
## GAMLSS-RS iteration 11: Global Deviance = -18723
## GAMLSS-RS iteration 12: Global Deviance = -18723
## GAMLSS-RS iteration 13: Global Deviance = -18723
## GAMLSS-RS iteration 14: Global Deviance = -18723
wp(l1,ylim.all=1)
plot(l1, ts=TRUE)
## *******************************************************************
## Summary of the Quantile Residuals
## mean = -0.006613
## variance = 1
## coef. of skewness = -0.0145
## coef. of kurtosis = 3.004
## Filliben correlation coefficient = 0.9996
## *******************************************************************
d3[,w2:=0]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16352: 2014-12-26 2084.30 2092.70 2084.30 2088.77 1.735e+09 2088.77
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## Time year dec yday DV1a DV2a DELa w1 w2
## 1: 18264 1950 1950 3 2.813 2.824 0.0113400 0 0
## 2: 18265 1950 1950 4 2.824 2.829 0.0047365 0 0
## 3: 18266 1950 1950 5 2.829 2.832 0.0029490 0 0
## 4: 18267 1950 1950 6 2.832 2.838 0.0058720 0 0
## 5: 18270 1950 1950 9 2.838 2.835 -0.0029317 0 0
## ---
## 16352: 41997 2014 2010 360 7.644 7.645 0.0008614 0 0
## 16353: 42000 2014 2010 363 7.645 7.640 -0.0049006 0 0
## 16354: 42001 2014 2010 364 7.640 7.630 -0.0103643 0 0
## 16355: 42002 2014 2010 365 7.630 7.630 -0.0003400 0 0
## 16356: 42004 2015 2010 2 7.630 7.611 -0.0184472 0 0
d3[dec==2000,w2:=1]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16352: 2014-12-26 2084.30 2092.70 2084.30 2088.77 1.735e+09 2088.77
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## Time year dec yday DV1a DV2a DELa w1 w2
## 1: 18264 1950 1950 3 2.813 2.824 0.0113400 0 0
## 2: 18265 1950 1950 4 2.824 2.829 0.0047365 0 0
## 3: 18266 1950 1950 5 2.829 2.832 0.0029490 0 0
## 4: 18267 1950 1950 6 2.832 2.838 0.0058720 0 0
## 5: 18270 1950 1950 9 2.838 2.835 -0.0029317 0 0
## ---
## 16352: 41997 2014 2010 360 7.644 7.645 0.0008614 0 0
## 16353: 42000 2014 2010 363 7.645 7.640 -0.0049006 0 0
## 16354: 42001 2014 2010 364 7.640 7.630 -0.0103643 0 0
## 16355: 42002 2014 2010 365 7.630 7.630 -0.0003400 0 0
## 16356: 42004 2015 2010 2 7.630 7.611 -0.0184472 0 0
d3[1:25,w2:=0]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16352: 2014-12-26 2084.30 2092.70 2084.30 2088.77 1.735e+09 2088.77
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## Time year dec yday DV1a DV2a DELa w1 w2
## 1: 18264 1950 1950 3 2.813 2.824 0.0113400 0 0
## 2: 18265 1950 1950 4 2.824 2.829 0.0047365 0 0
## 3: 18266 1950 1950 5 2.829 2.832 0.0029490 0 0
## 4: 18267 1950 1950 6 2.832 2.838 0.0058720 0 0
## 5: 18270 1950 1950 9 2.838 2.835 -0.0029317 0 0
## ---
## 16352: 41997 2014 2010 360 7.644 7.645 0.0008614 0 0
## 16353: 42000 2014 2010 363 7.645 7.640 -0.0049006 0 0
## 16354: 42001 2014 2010 364 7.640 7.630 -0.0103643 0 0
## 16355: 42002 2014 2010 365 7.630 7.630 -0.0003400 0 0
## 16356: 42004 2015 2010 2 7.630 7.611 -0.0184472 0 0
l2 <- gamlss(DELa~ la(DELa, lags=20, order=1, from.lag=1),
sigma.fo=~la(DELa^2, lags=10, order=1, from.lag=1),
weights=w2, family=TF, data=d3)
## GAMLSS-RS iteration 1: Global Deviance = -15356
## GAMLSS-RS iteration 2: Global Deviance = -15370
## GAMLSS-RS iteration 3: Global Deviance = -15371
## GAMLSS-RS iteration 4: Global Deviance = -15372
## GAMLSS-RS iteration 5: Global Deviance = -15371
## GAMLSS-RS iteration 6: Global Deviance = -15371
## GAMLSS-RS iteration 7: Global Deviance = -15371
## GAMLSS-RS iteration 8: Global Deviance = -15371
## GAMLSS-RS iteration 9: Global Deviance = -15371
## GAMLSS-RS iteration 10: Global Deviance = -15371
## GAMLSS-RS iteration 11: Global Deviance = -15371
## GAMLSS-RS iteration 12: Global Deviance = -15371
## GAMLSS-RS iteration 13: Global Deviance = -15371
## GAMLSS-RS iteration 14: Global Deviance = -15371
## GAMLSS-RS iteration 15: Global Deviance = -15371
## GAMLSS-RS iteration 16: Global Deviance = -15371
## GAMLSS-RS iteration 17: Global Deviance = -15371
## GAMLSS-RS iteration 18: Global Deviance = -15371
d3[,PRED1:=predict(l1)]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16352: 2014-12-26 2084.30 2092.70 2084.30 2088.77 1.735e+09 2088.77
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## Time year dec yday DV1a DV2a DELa w1 w2 PRED1
## 1: 18264 1950 1950 3 2.813 2.824 0.0113400 0 0 0.0044937
## 2: 18265 1950 1950 4 2.824 2.829 0.0047365 0 0 0.0044937
## 3: 18266 1950 1950 5 2.829 2.832 0.0029490 0 0 0.0030125
## 4: 18267 1950 1950 6 2.832 2.838 0.0058720 0 0 0.0029812
## 5: 18270 1950 1950 9 2.838 2.835 -0.0029317 0 0 0.0033567
## ---
## 16352: 41997 2014 2010 360 7.644 7.645 0.0008614 0 0 0.0015775
## 16353: 42000 2014 2010 363 7.645 7.640 -0.0049006 0 0 0.0017173
## 16354: 42001 2014 2010 364 7.640 7.630 -0.0103643 0 0 -0.0006351
## 16355: 42002 2014 2010 365 7.630 7.630 -0.0003400 0 0 -0.0009773
## 16356: 42004 2015 2010 2 7.630 7.611 -0.0184472 0 0 -0.0003294
d3[,PRED2:=predict(l2)]
## Date Open High Low Close Volume Adjusted Close
## 1: 1950-01-03 16.66 16.66 16.66 16.66 1.260e+06 16.66
## 2: 1950-01-04 16.85 16.85 16.85 16.85 1.890e+06 16.85
## 3: 1950-01-05 16.93 16.93 16.93 16.93 2.550e+06 16.93
## 4: 1950-01-06 16.98 16.98 16.98 16.98 2.010e+06 16.98
## 5: 1950-01-09 17.08 17.08 17.08 17.08 2.520e+06 17.08
## ---
## 16352: 2014-12-26 2084.30 2092.70 2084.30 2088.77 1.735e+09 2088.77
## 16353: 2014-12-29 2087.63 2093.55 2085.75 2090.57 2.452e+09 2090.57
## 16354: 2014-12-30 2088.49 2088.49 2079.53 2080.35 2.440e+09 2080.35
## 16355: 2014-12-31 2082.11 2085.58 2057.94 2058.90 2.606e+09 2058.90
## 16356: 2015-01-02 2058.90 2072.36 2046.04 2058.20 2.709e+09 2058.20
## Time year dec yday DV1a DV2a DELa w1 w2 PRED1
## 1: 18264 1950 1950 3 2.813 2.824 0.0113400 0 0 0.0044937
## 2: 18265 1950 1950 4 2.824 2.829 0.0047365 0 0 0.0044937
## 3: 18266 1950 1950 5 2.829 2.832 0.0029490 0 0 0.0030125
## 4: 18267 1950 1950 6 2.832 2.838 0.0058720 0 0 0.0029812
## 5: 18270 1950 1950 9 2.838 2.835 -0.0029317 0 0 0.0033567
## ---
## 16352: 41997 2014 2010 360 7.644 7.645 0.0008614 0 0 0.0015775
## 16353: 42000 2014 2010 363 7.645 7.640 -0.0049006 0 0 0.0017173
## 16354: 42001 2014 2010 364 7.640 7.630 -0.0103643 0 0 -0.0006351
## 16355: 42002 2014 2010 365 7.630 7.630 -0.0003400 0 0 -0.0009773
## 16356: 42004 2015 2010 2 7.630 7.611 -0.0184472 0 0 -0.0003294
## PRED2
## 1: -0.0011399
## 2: -0.0011399
## 3: -0.0006569
## 4: -0.0002161
## 5: -0.0002617
## ---
## 16352: -0.0017114
## 16353: -0.0012942
## 16354: -0.0013538
## 16355: -0.0002145
## 16356: -0.0001699
labs <- c("decrease","no change","increase")
ggplot(d3,aes(x=cut_number(PRED1,3,labels=labs),y=DELa*10000,colour=factor(dec))) +
stat_summary(fun.data = "mean_cl_boot",size=2) +
facet_grid(~dec) +
ylab("Actual change in basis points (mean, 95%CI)") +
xlab("Predicted change") +
ggtitle("Model based on data of the 60's") +
theme_bw()+
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
guides(colour=guide_legend(title="decade"))
ggplot(d3,aes(x=cut_number(PRED2,3,labels=labs),y=DELa*10000,colour=factor(dec))) +
stat_summary(fun.data = "mean_cl_boot",size=2) +
facet_grid(~dec) +
ylab("Actual change in basis points (mean, 95%CI)") +
xlab("Predicted change") +
ggtitle("Model based on data of the 00's")+
theme_bw()+
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
guides(colour=guide_legend(title="decade"))
write.csv(d3,file="quandlGamlss12_data.csv",quote=FALSE,row.names=FALSE)