[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