## Loading required package: xts
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
#returns
#using api to input prices, code hidden
library(xts)
price<-Quandl('BITFINEX/BTCUSD', column_index='1')
price_as_xts<-xts(price[,-1],order.by=as.Date(price[,1],"%y/%m/%d"))
library(quantmod)
## Loading required package: TTR
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
r<-dailyReturn(price_as_xts)
r<-na.omit(r)
r_last_1k<-r[1596:2596]
plot(r_last_1k)

mu<-mean(r_last_1k)
#arima
library(forecast)
stats<-auto.arima(r_last_1k)
acf(r_last_1k)

coef<-stats$coef
ar1<-coef[1];ar2<-coef[2];ma1<-coef[3];ma2<-coef[4]
sd<-sqrt(stats$sigma2)
#simulating returns
sim<-arima.sim(model=list(ar=c(ar1,ar2),ma=c(ma1,ma2)),n=10000)
checkresiduals(sim)
## Warning in modeldf.default(object): Could not find appropriate degrees of
## freedom for this model.

#simulating prices
st_2ji<-function(s0,mu,sigma,deltatx,error){
return(s0*exp((mu-(0.5*sigma^2))*deltatx+(sigma*sqrt(deltatx)*error)))
}
prices<-st_2ji(s0=34160,mu=mu,sigma=sd,error=sim,deltatx = 30)
prices<-sort(prices,decreasing = F)
hist(prices,breaks=seq(15000,75000,by=1000))

prices[(10000*.01)]
## [1] 22521.36