library(rsconnect)
library(shiny)
library(quantmod)
library(rvest)
library(XML)
library(e1071)
library(timeSeries)
library(forecast)
library(neuralnet)
library(nnet)
library(lattice)
library(ggplot2)
library(caret)
library(MLmetrics)
library(rsconnect)
library(devtools)
deployApp("C:\\Users\\User\\Desktop\\shinyApp")
Stock<-read.csv("https://docs.google.com/spreadsheets/d/e/2PACX-1vRYxupbr1vUlPOpq2JPGzlCuJKcMXHvC4MaWR-qzngSpBiymOBFbbXuegSJjgUl6-Rb-3bPvCvJOCFW/pub?gid=1809581675&single=true&output=csv",header=T)
N<-nrow(Stock)
st<-Stock[,2]
set.seed(123)
ind1<-sample(N,round(N*0.7))
Train<-Stock[ind1,-1]
Test<-Stock[-ind1,-1]
Test1<-Test[,11:18]
mod1<-lm(stock~usd+coffee+rice+oil+wheatADJ+Djopen+cuADJ+cornADJ,data=Train)
TWII=getSymbols( "^TWII" ,from = "2017-9-1", src="yahoo",auto.assign = FALSE)
ul="http://q...content-available-to-author-only...o.com/exchanges/contracts.html?r=CBOT_ZW"
wheatc = data.frame( readHTMLTable(ul))
wheat1<-data.frame(as.character( wheatc$NULL.V3))
oil1=getSymbols("CL=F",from = "2017-09-01", src="yahoo",auto.assign = FALSE)
ul2="http://q...content-available-to-author-only...o.com/exchanges/contracts.html?r=CBOT_ZR"
ricec<-data.frame(readHTMLTable(ul2))
rice1<-data.frame(as.character(ricec$NULL.V3))
ul1="http://w...content-available-to-author-only...m.br/indicadores-de-mercado/precos-cepeaesalq/"
coffeec = data.frame( readHTMLTable(ul1))
coffee1<- coffeec$table_1.Conillon.US.
corn1=getSymbols("C=F",from = "2017-09-01", src="yahoo",auto.assign = FALSE)
cu1<-getSymbols("^YHOH711",auto.assign = F)
dj1=getSymbols( "^DJI" ,from = "2017-09-01", src="yahoo",auto.assign = FALSE)
usd1=getSymbols( "USDTWD=X" ,from = "2017-09-01", src="yahoo",auto.assign = FALSE)
tw.ts<-TWII$TWII.Adjust[-(1:3552),]
tw<-as.numeric(tail(TWII$TWII.Adjust,n=30))
oil2<-as.numeric(tail(oil1[,6],n=1))
oil3<-(oil2-mean(Stock$oil))/sd(Stock$oil)
coffee2<-tail(as.numeric (coffee1),n=1)
coffee3<-(coffee2-mean(Stock$coffee))/sd(Stock$coffee)
rice2<-head( as.numeric(as.character(rice1[-(1:3),])),n=1)
rice3<-(rice2-mean(Stock$rice))/sd(Stock$rice)
corn2<-as.numeric(tail(corn1[,6],n=1)/10)
corn3<-(corn2-mean(Stock$cornADJ))/sd(Stock$cornADJ)
cu2<-as.numeric(tail(cu1[,6],n=1)/10)
cu3<-(cu2-mean(Stock$cuADJ))/sd(Stock$cuADJ)
dj2<-as.numeric(tail(dj1[,1],n=1)/100)
dj3<-(dj2-mean(Stock$Djopen))/sd(Stock$Djopen)
usd2<-as.numeric (tail(usd1[,6],n=1))
usd3<-(usd2-mean(Stock$usd))/sd(Stock$usd)
wheat2<-head(as.numeric( as.character( wheat1[-(1:2),])),n=1)/10
wheat3<-(wheat2-mean(Stock$wheatADJ))/sd(Stock$wheatADJ)
d1<-data.frame(oil=oil2,coffee=coffee2,usd=usd2,rice=rice2,wheatADJ=wheat2,cuADJ=cu2,Djopen=dj2,cornADJ=corn2)
d2<-data.frame(usd.z=usd3,coffee.z=coffee3,rice.z=rice3,oil.z=oil3,dj.z=dj3,wheat.z=wheat3,corn.z=corn3,cu.z=cu3)
new<-predict(mod1,newdata = d1)
new1<-stack(data.frame(tw,new))
new2<-new1[1:31,1]
sttdiff<-diff(st,differences=1)
stt3<- arima(sttdiff, order=c(14,1,0),method = "ML")
stt_cor<-forecast(tw, h=5, level = c(95),model=stt3)
y<-4
z<-data.frame(x,y)
z1<-stack(z)
z2<-z1[1:31,1]
model <-neuralnet(formula =stock.z~usd.z+coffee.z+rice.z+oil.z+wheat.z+dj.z+cu.z+corn.z,data = Train, hidden = c(14) ,learningrate = 0.1, threshold =
0.1,stepmax =90000)
pred <- compute(model,d2)
new.n<-(pred$net.result)
new.n1<-new.n*sd(Stock$stock)+mean(Stock$stock)
new1.n<-stack(data.frame(tw,new.n1))
new2.n<-new1.n[1:31,1]
plot(new2,type="b",ylab="twstock" ,xlab="last mounth",cex=z2,col=z2,lwd=3,main="regression prediction")
s1<-svm(stock.z~usd.z+coffee.z+rice.z+oil.z+wheat.z+dj.z+cu.z+corn.z,data=Train,gamma=2^-1,cost=2^6)
svm1<-predict(s1,newdata = d2)
da<-data.frame( model$generalized.weights)
da3<-data.frame(usd=sum(da2$X1),coffee=sum(da2$X2),rice=sum(da2$X3),oil=sum(da2$X4),wheat=sum(da2$X5),dj=sum(da2$X6),cu=sum(da2$X7),corn=sum(da2$X8))
svm2<-svm1*sd(Stock$stock)+mean(Stock$stock)
svm3<-stack(data.frame(tw,svm2))
svm4<-svm3[1:31,1]
shinyServer(function(input, output) {
output$twstock.mod <- renderPlot(plot(new2,type="b",ylab="twstock" ,xlab="last mounth",cex=z2,col=z2,lwd=3,main="regression prediction"))
output$twtime<-renderPlot(plot(stt_cor))
output$twnet<-renderPlot(plot( new2.n,type="b",ylab="twstock" ,xlab="last mounth",cex=z2,col=z2,lwd=3,main="neuralnet prediction"))
output$twsvm<-renderPlot(plot( svm4,type="b",ylab="twstock" ,xlab="last mounth",cex=z2,col=z2,lwd=3,main="svm prediction"))
})
# your code goes here
CgoKbGlicmFyeShyc2Nvbm5lY3QpCmxpYnJhcnkoc2hpbnkpCmxpYnJhcnkocXVhbnRtb2QpCmxpYnJhcnkocnZlc3QpCmxpYnJhcnkoWE1MKQpsaWJyYXJ5KGUxMDcxKQpsaWJyYXJ5KHRpbWVTZXJpZXMpCmxpYnJhcnkoZm9yZWNhc3QpCmxpYnJhcnkobmV1cmFsbmV0KQpsaWJyYXJ5KG5uZXQpCmxpYnJhcnkobGF0dGljZSkKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KGNhcmV0KQpsaWJyYXJ5KE1MbWV0cmljcykKbGlicmFyeShyc2Nvbm5lY3QpCmxpYnJhcnkoZGV2dG9vbHMpCgpkZXBsb3lBcHAoIkM6XFxVc2Vyc1xcVXNlclxcRGVza3RvcFxcc2hpbnlBcHAiKQoKClN0b2NrPC1yZWFkLmNzdigiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vc3ByZWFkc2hlZXRzL2QvZS8yUEFDWC0xdlJZeHVwYnIxdlVsUE9wcTJKUEd6bEN1SktjTVhIdkM0TWFXUi1xem5nU3BCaXltT0JGYmJYdWVnU0pqZ1VsNi1SYi0zYlB2Q3ZKT0NGVy9wdWI/Z2lkPTE4MDk1ODE2NzUmc2luZ2xlPXRydWUmb3V0cHV0PWNzdiIsaGVhZGVyPVQpCk48LW5yb3coU3RvY2spCnN0PC1TdG9ja1ssMl0KCnNldC5zZWVkKDEyMykKaW5kMTwtc2FtcGxlKE4scm91bmQoTiowLjcpKQpUcmFpbjwtU3RvY2tbaW5kMSwtMV0KVGVzdDwtU3RvY2tbLWluZDEsLTFdClRlc3QxPC1UZXN0WywxMToxOF0gICAgCgoKbW9kMTwtbG0oc3RvY2t+dXNkK2NvZmZlZStyaWNlK29pbCt3aGVhdEFESitEam9wZW4rY3VBREorY29ybkFESixkYXRhPVRyYWluKQoKCgoKVFdJST1nZXRTeW1ib2xzKCAiXlRXSUkiICxmcm9tID0gIjIwMTctOS0xIiwgc3JjPSJ5YWhvbyIsYXV0by5hc3NpZ24gPSBGQUxTRSkKdWw9Imh0dHA6Ly9xLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5vLmNvbS9leGNoYW5nZXMvY29udHJhY3RzLmh0bWw/cj1DQk9UX1pXIgp3aGVhdGMgPSBkYXRhLmZyYW1lKCByZWFkSFRNTFRhYmxlKHVsKSkgCgp3aGVhdDE8LWRhdGEuZnJhbWUoYXMuY2hhcmFjdGVyKCB3aGVhdGMkTlVMTC5WMykpCgpvaWwxPWdldFN5bWJvbHMoIkNMPUYiLGZyb20gPSAiMjAxNy0wOS0wMSIsIHNyYz0ieWFob28iLGF1dG8uYXNzaWduID0gRkFMU0UpCnVsMj0iaHR0cDovL3EuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLm8uY29tL2V4Y2hhbmdlcy9jb250cmFjdHMuaHRtbD9yPUNCT1RfWlIiCnJpY2VjPC1kYXRhLmZyYW1lKHJlYWRIVE1MVGFibGUodWwyKSkKcmljZTE8LWRhdGEuZnJhbWUoYXMuY2hhcmFjdGVyKHJpY2VjJE5VTEwuVjMpKQoKdWwxPSJodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ubS5ici9pbmRpY2Fkb3Jlcy1kZS1tZXJjYWRvL3ByZWNvcy1jZXBlYWVzYWxxLyIKY29mZmVlYyA9IGRhdGEuZnJhbWUoIHJlYWRIVE1MVGFibGUodWwxKSkgCmNvZmZlZTE8LSBjb2ZmZWVjJHRhYmxlXzEuQ29uaWxsb24uVVMuCgpjb3JuMT1nZXRTeW1ib2xzKCJDPUYiLGZyb20gPSAiMjAxNy0wOS0wMSIsIHNyYz0ieWFob28iLGF1dG8uYXNzaWduID0gRkFMU0UpCmN1MTwtZ2V0U3ltYm9scygiXllIT0g3MTEiLGF1dG8uYXNzaWduID0gRikKZGoxPWdldFN5bWJvbHMoICJeREpJIiAsZnJvbSA9ICIyMDE3LTA5LTAxIiwgc3JjPSJ5YWhvbyIsYXV0by5hc3NpZ24gPSBGQUxTRSkKdXNkMT1nZXRTeW1ib2xzKCAiVVNEVFdEPVgiICxmcm9tID0gIjIwMTctMDktMDEiLCBzcmM9InlhaG9vIixhdXRvLmFzc2lnbiA9IEZBTFNFKQoKdHcudHM8LVRXSUkkVFdJSS5BZGp1c3RbLSgxOjM1NTIpLF0KdHc8LWFzLm51bWVyaWModGFpbChUV0lJJFRXSUkuQWRqdXN0LG49MzApKQoKb2lsMjwtYXMubnVtZXJpYyh0YWlsKG9pbDFbLDZdLG49MSkpCm9pbDM8LShvaWwyLW1lYW4oU3RvY2skb2lsKSkvc2QoU3RvY2skb2lsKQpjb2ZmZWUyPC10YWlsKGFzLm51bWVyaWMgKGNvZmZlZTEpLG49MSkKY29mZmVlMzwtKGNvZmZlZTItbWVhbihTdG9jayRjb2ZmZWUpKS9zZChTdG9jayRjb2ZmZWUpCnJpY2UyPC1oZWFkKCBhcy5udW1lcmljKGFzLmNoYXJhY3RlcihyaWNlMVstKDE6MyksXSkpLG49MSkKcmljZTM8LShyaWNlMi1tZWFuKFN0b2NrJHJpY2UpKS9zZChTdG9jayRyaWNlKQpjb3JuMjwtYXMubnVtZXJpYyh0YWlsKGNvcm4xWyw2XSxuPTEpLzEwKQpjb3JuMzwtKGNvcm4yLW1lYW4oU3RvY2skY29ybkFESikpL3NkKFN0b2NrJGNvcm5BREopCmN1MjwtYXMubnVtZXJpYyh0YWlsKGN1MVssNl0sbj0xKS8xMCkKY3UzPC0oY3UyLW1lYW4oU3RvY2skY3VBREopKS9zZChTdG9jayRjdUFESikKZGoyPC1hcy5udW1lcmljKHRhaWwoZGoxWywxXSxuPTEpLzEwMCkKZGozPC0oZGoyLW1lYW4oU3RvY2skRGpvcGVuKSkvc2QoU3RvY2skRGpvcGVuKQoKdXNkMjwtYXMubnVtZXJpYyAodGFpbCh1c2QxWyw2XSxuPTEpKQp1c2QzPC0odXNkMi1tZWFuKFN0b2NrJHVzZCkpL3NkKFN0b2NrJHVzZCkKd2hlYXQyPC1oZWFkKGFzLm51bWVyaWMoIGFzLmNoYXJhY3Rlciggd2hlYXQxWy0oMToyKSxdKSksbj0xKS8xMAp3aGVhdDM8LSh3aGVhdDItbWVhbihTdG9jayR3aGVhdEFESikpL3NkKFN0b2NrJHdoZWF0QURKKQoKCmQxPC1kYXRhLmZyYW1lKG9pbD1vaWwyLGNvZmZlZT1jb2ZmZWUyLHVzZD11c2QyLHJpY2U9cmljZTIsd2hlYXRBREo9d2hlYXQyLGN1QURKPWN1MixEam9wZW49ZGoyLGNvcm5BREo9Y29ybjIpCmQyPC1kYXRhLmZyYW1lKHVzZC56PXVzZDMsY29mZmVlLno9Y29mZmVlMyxyaWNlLno9cmljZTMsb2lsLno9b2lsMyxkai56PWRqMyx3aGVhdC56PXdoZWF0Myxjb3JuLno9Y29ybjMsY3Uuej1jdTMpCm5ldzwtcHJlZGljdChtb2QxLG5ld2RhdGEgPSBkMSkKCm5ldzE8LXN0YWNrKGRhdGEuZnJhbWUodHcsbmV3KSkKCm5ldzI8LW5ldzFbMTozMSwxXQoKc3R0ZGlmZjwtZGlmZihzdCxkaWZmZXJlbmNlcz0xKQoKCgpzdHQzPC0gYXJpbWEoc3R0ZGlmZiwgb3JkZXI9YygxNCwxLDApLG1ldGhvZCA9ICJNTCIpCgoKc3R0X2NvcjwtZm9yZWNhc3QodHcsIGg9NSwgbGV2ZWwgPSBjKDk1KSxtb2RlbD1zdHQzKSAKCgoKeDwtcmVwKDIsdGltZT0zMCkKeTwtNAp6PC1kYXRhLmZyYW1lKHgseSkKejE8LXN0YWNrKHopCnoyPC16MVsxOjMxLDFdCm1vZGVsIDwtbmV1cmFsbmV0KGZvcm11bGEgPXN0b2NrLnp+dXNkLnorY29mZmVlLnorcmljZS56K29pbC56K3doZWF0LnorZGoueitjdS56K2Nvcm4ueixkYXRhID0gVHJhaW4sIGhpZGRlbiA9IGMoMTQpICAsbGVhcm5pbmdyYXRlID0gMC4xLCB0aHJlc2hvbGQgPQogICAgICAgICAgICAgICAgICAgIDAuMSxzdGVwbWF4ID05MDAwMCkgCnByZWQgPC0gY29tcHV0ZShtb2RlbCxkMikKbmV3Lm48LShwcmVkJG5ldC5yZXN1bHQpCm5ldy5uMTwtbmV3Lm4qc2QoU3RvY2skc3RvY2spK21lYW4oU3RvY2skc3RvY2spCm5ldzEubjwtc3RhY2soZGF0YS5mcmFtZSh0dyxuZXcubjEpKQpuZXcyLm48LW5ldzEublsxOjMxLDFdCnBsb3QobmV3Mix0eXBlPSJiIix5bGFiPSJ0d3N0b2NrIiAseGxhYj0ibGFzdCBtb3VudGgiLGNleD16Mixjb2w9ejIsbHdkPTMsbWFpbj0icmVncmVzc2lvbiBwcmVkaWN0aW9uIikKczE8LXN2bShzdG9jay56fnVzZC56K2NvZmZlZS56K3JpY2UueitvaWwueit3aGVhdC56K2RqLnorY3Uueitjb3JuLnosZGF0YT1UcmFpbixnYW1tYT0yXi0xLGNvc3Q9Ml42KQpzdm0xPC1wcmVkaWN0KHMxLG5ld2RhdGEgPSBkMikKCmRhPC1kYXRhLmZyYW1lKCBtb2RlbCRnZW5lcmFsaXplZC53ZWlnaHRzKQpkYTI8LWFicyhkYSkKZGEzPC1kYXRhLmZyYW1lKHVzZD1zdW0oZGEyJFgxKSxjb2ZmZWU9c3VtKGRhMiRYMikscmljZT1zdW0oZGEyJFgzKSxvaWw9c3VtKGRhMiRYNCksd2hlYXQ9c3VtKGRhMiRYNSksZGo9c3VtKGRhMiRYNiksY3U9c3VtKGRhMiRYNyksY29ybj1zdW0oZGEyJFg4KSkKCnN2bTI8LXN2bTEqc2QoU3RvY2skc3RvY2spK21lYW4oU3RvY2skc3RvY2spCnN2bTM8LXN0YWNrKGRhdGEuZnJhbWUodHcsc3ZtMikpCnN2bTQ8LXN2bTNbMTozMSwxXQpzaGlueVNlcnZlcihmdW5jdGlvbihpbnB1dCwgb3V0cHV0KSB7IAogCiAgb3V0cHV0JHR3c3RvY2subW9kIDwtIHJlbmRlclBsb3QocGxvdChuZXcyLHR5cGU9ImIiLHlsYWI9InR3c3RvY2siICx4bGFiPSJsYXN0IG1vdW50aCIsY2V4PXoyLGNvbD16Mixsd2Q9MyxtYWluPSJyZWdyZXNzaW9uIHByZWRpY3Rpb24iKSkKICAgIAogICBvdXRwdXQkdHd0aW1lPC1yZW5kZXJQbG90KHBsb3Qoc3R0X2NvcikpCiAgb3V0cHV0JHR3bmV0PC1yZW5kZXJQbG90KHBsb3QoIG5ldzIubix0eXBlPSJiIix5bGFiPSJ0d3N0b2NrIiAseGxhYj0ibGFzdCBtb3VudGgiLGNleD16Mixjb2w9ejIsbHdkPTMsbWFpbj0ibmV1cmFsbmV0IHByZWRpY3Rpb24iKSkKICBvdXRwdXQkdHdzdm08LXJlbmRlclBsb3QocGxvdCggc3ZtNCx0eXBlPSJiIix5bGFiPSJ0d3N0b2NrIiAseGxhYj0ibGFzdCBtb3VudGgiLGNleD16Mixjb2w9ejIsbHdkPTMsbWFpbj0ic3ZtIHByZWRpY3Rpb24iKSkKCgogIAogIAp9KQojIHlvdXIgY29kZSBnb2VzIGhlcmU=