我已经针对单个符号和非常小的符号组测试了我的代码。我发现添加的符号越多,获得的交易就越少。例如,如果我只包括前五个符号,它们似乎都至少有一笔交易。如果我扩大到 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, 中的错误:分配目标扩展到非语言对象
所以,现在我自然是不知所措了。我可以单独做符号(昨天做的),但它花了很长时间,我知道它可以更简单。
任何建议都非常感谢!