[R-SIG-Finance] need apply.paramset logging
Brian G. Peterson
brian at braverock.com
Tue Mar 22 09:46:16 CET 2016
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
More information about the R-SIG-Finance
mailing list