need apply.paramset logging
On 03/22/2016 03:37 AM, Diego Peroni wrote:
I'm testing paramset combinations with:
.....
library(doMC)
registerDoMC(cores=detectCores())
paramsetenv = new.env()
results = apply.paramset(qs.strategy, paramset.label = "MACDOPT",
verbose = TRUE,
portfolio=qs.strategy, account=qs.strategy,
nsamples=0, audit=paramsetenv)
but the procedure returns NULL object with this message:
error calling combine function:
<simpleError: $ operator is invalid for atomic vectors>
Is there a way to log threads errors?
Or how can I modify "apply.paramset" function to "catch" single
simultation error or void result and discard it?
you're setting nsamples=0 so you have zero results to combine. In this case, you told it to run no samples, but I can conceive of a strategy using some MCMC sampler that could fail spontaneously in some circumstances. In a more general sense, you could specify a custom .combine function that could trap errors if there was some possibility that your strategy would fail to return a viable result. A strategy that runs fine in a single core should run fine in apply.paramset. A reasonable way to start testing this beyond a single parameterization would be to set a small number of samples, like nsamples=50 and run it with registerDoSEQ() to run it sequentially. Regards, Brian
Brian G. Peterson http://braverock.com/brian/ Ph: 773-459-4973 IM: bgpbraverock