1

我已经针对单个符号和非常小的符号组测试了我的代码。我发现添加的符号越多,获得的交易就越少。例如,如果我只包括前五个符号,它们似乎都至少有一笔交易。如果我扩大到 20 个左右,那么一些符号有交易,但第一组中的所有符号都没有交易了。

我希望在 158 个符号列表中执行该策略。

我添加了并行包。这似乎没有帮助。我正在使用Guy Yollin 的 Luxor (MACD) 示例

我最初的 applyStrategy 是:

out <- applyStrategy(strategy=strategy.st, 
                   portfolios=portfolio.st, 
                   parameters=list(nFast=fastMA, 
                                   nSlow=slowMA, 
                                   nSig=signalMA, 
                                   maType=maType), 
                   debug=TRUE, 
                   verbose=TRUE)

上面没有返回错误,但也没有交易(再次,在较小的样本上进行测试,我确实得到了交易)。

我对 foreach/parallel 包的尝试是:

foreach (i=1:length(symbols)) %dopar%
  out <- applyStrategy(strategy=strategy.st, 
                   portfolios=portfolio.st, 
                   parameters=list(nFast=fastMA, 
                                   nSlow=slowMA, 
                                   nSig=signalMA, 
                                   maType=maType), 
                   symbols=c(symbols[i]), 
                   debug=TRUE, 
                   verbose=TRUE)

这段代码返回以下错误:

foreach(i = 1:length(symbols)) %dopar% out <- applyStrategy(strategy = strategy.st, 中的错误:分配目标扩展到非语言对象

所以,现在我自然是不知所措了。我可以单独做符号(昨天做的),但它花了很长时间,我知道它可以更简单。

上传到 Dropbox 的示例脚本

任何建议都非常感谢!

4

0 回答 0