Download presentation

Presentation is loading. Please wait.

Published byZaire Gin Modified over 3 years ago

1
LondonR 18 th September 2012 R TRAINING, CONSULTING & APPLICATION DEVELOPMENT SPONSORED BY

2
From Back-test to Trade using R Parallelization in OneTick jjames@mango-solutions.com andrew.diamond@onetick.com

3
What the presentation shows EURJPY FX tick data Take a small section of historic tick data Look at rugarch analyses Ability to use parallelisation effectively How? 5 minute architectural overview of OneTick Questions around tick data management Q & A?

4
OneTick

5
Deal with idiosyncrasies of tick data > setClass("TK", representation="POSIXct") > TK <- function(x)new("TK", as.POSIXct(x, format="%Y%m%d %H:%M:%OS")) > setOldClass("TK", S4Class="TK", where=.GlobalEnv) > > as.TK <- function(from)TK(as.POSIXct(from, format="%Y%m%d %H:%M:%OS", tz="GMT")) > setAs("character", "TK", as.TK) > setAs("TK", "POSIXct", function(from)as.POSIXct(as.numeric(from), origin="1970-01- 01", tz="GMT")) [1] "coerce<-" > as.TK <- function(from)TK(as.POSIXct(from, format="%Y%m%d %H:%M:%OS", tz="GMT")) > setAs("character", "TK", as.TK) > setAs("TK", "POSIXct", function(from)as.POSIXct(as.numeric(from), origin="1970-01- 01", tz="GMT")) [1] "coerce<-" > print.TK <- function(x,...)print(format(as(x,"POSIXct"), format="%Y%m%d %H:%M:%OS3",...)) > setGeneric("print.TK", print.TK) [1] "print.TK" > setMethod("show", signature(object="TK"), function(object)print(format(object, format="%Y%m%d %H:%M:%OS3"))) [1] "show"

6
perform (arbitrarily) garch ####### require(rugarch) spec = ugarchspec() ## Assume that the points are distributed fit = ugarchfit(data = diff(EURJPY[select,3]), spec = spec) plot(fit,which="all") # return just to the rate data fit = ugarchfit(data = EURJPY[select,3], spec = spec) plot(fit,which="all") forc = ugarchforecast(fit, n.ahead=20) plot(forc, which="all")

7
Look for rolling values ctrl = list(rho = 1, delta = 1e-9, outer.iter = 100, tol = 1e-7) spec = ugarchspec(variance.model = list(model = "eGARCH"), distribution.model = "jsu") bktest <- ugarchroll(spec, data = EURJPY[select,3], n.ahead = 1, # parallel = TRUE, parallel.control = list(pkg = c("snowfall"), cores = 4), forecast.length = 100, refit.every = 25, refit.window = "recursive", solver = "solnp", fit.control = list(), solver.control = ctrl, calculate.VaR = TRUE, VaR.alpha = c(0.01, 0.025, 0.05)) plot(bktest, which="all")

8
Look for rolling values ## BID=BID_PRICE,ASK=ASK_PRICE len<- length(BID) mu=NA alpha1=NA bktest <- NA if(len>110){ tryCatch({bktest <- ugarchroll(spec, data = BID, n.ahead = 1, forecast.length = 100, refit.every = 25, refit.window = "recursive", parallel = TRUE, parallel.control = list(pkg = "snowfall", cores = 4), solver = "solnp", fit.control = list(), solver.control = ctrl, calculate.VaR = TRUE, VaR.alpha = c(0.01, 0.025, 0.05)) mu=bktest@roll["coefs"][[1]][1,"mu"] alpha1=bktest@roll["coefs"][[1]][1,"alpha1"]}, error=function(e)cat("Error\n")) } ## OneTick outputs ## MU=mu,ALPHA1=alpha1, LEN=len

Similar presentations

OK

In this section, we will investigate the idea of the limit of a function and what it means to say a function is or is not continuous.

In this section, we will investigate the idea of the limit of a function and what it means to say a function is or is not continuous.

© 2018 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on self development book Ppt on hotel management system Ppt on biodegradable and non biodegradable items Ppt on cross site scripting Ppt on domestic robots for sale Quiz ppt on india Ppt on disk formatting software Ppt on gujarati culture association Ppt on hindu religion origin Ppt on real numbers for class 9th notes