library(quantmod)
## Warning: package 'quantmod' was built under R version 3.4.3
start <- as.Date(Sys.Date() - 1000)
end <- as.Date(Sys.Date())
Symbol <- c("^BVSP")
Stocks = lapply(Symbol[1], function (sym) {
to.weekly(na.omit(getSymbols(sym, from= start, to = end, auto.assign=FALSE)))
})
## Warning: ^BVSP contains missing values. Some functions will not work if
## objects contain missing values in the middle of the series. Consider using
## na.omit(), na.approx(), na.fill(), etc to remove or replace them.
data <- do.call(merge, Stocks)
check <- data
date = index(data)
roc <- (ROC(data[,4]))*100
data <- data.frame(date, data,roc)
colnames(data) <- c("Date", "open", "high", "low", "close","volume", "adj","roc")
data <- na.omit(data)
head(data)
## Date open high low close volume adj roc
## 2015-08-28 2015-08-28 45715 47997 42749 47154 20224500 47154 3.088300
## 2015-09-04 2015-09-04 47151 47532 45278 46498 20350300 46498 -1.400954
## 2015-09-11 2015-09-11 46501 47840 45592 46401 14648700 46401 -0.208829
## 2015-09-18 2015-09-18 46400 49396 46218 47264 20027400 47264 1.842790
## 2015-09-25 2015-09-25 47263 47391 44183 44831 18223300 44831 -5.284904
## 2015-10-02 2015-10-02 44832 47033 43767 47033 18338300 47033 4.794962
tail(data)
## Date open high low close volume adj roc
## 2018-04-06 2018-04-06 85365 86148 82826 84820 15452600 84820 -0.6416531
## 2018-04-13 2018-04-13 84832 85577 83155 84334 16405300 84334 -0.5746259
## 2018-04-20 2018-04-20 84328 86149 82762 85550 16251500 85550 1.4315895
## 2018-04-27 2018-04-27 85520 87179 84349 86445 11627400 86445 1.0407373
## 2018-05-04 2018-05-04 86443 86739 82746 83118 13352300 83118 -3.9247089
## 2018-05-11 2018-05-11 83199 86406 82201 85220 20478700 85220 2.4974863
datas = ts((data$roc), frequency=52)
decomp = stl(datas, s.window = "periodic")
plot(decomp)
Note: This activity has a purely didactic proposal for Big Data Analisys, utilization for investment proposals are not permitted without author’s approval.