Christian Bartels, January 2015, Allschwil

Code of:

Historical autocorrelations in stock prices.
Christian Bartels.
figshare.
http://dx.doi.org/10.6084/m9.figshare.1287224

Available at:

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))

plot of chunk unnamed-chunk-4

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 of chunk unnamed-chunk-5

plot(l1, ts=TRUE)  

plot of chunk unnamed-chunk-5

## *******************************************************************
##        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"))

plot of chunk unnamed-chunk-6

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"))

plot of chunk unnamed-chunk-6

write.csv(d3,file="quandlGamlss12_data.csv",quote=FALSE,row.names=FALSE)