r——计算策略的平均收益



场景(使用quantstrat、印迹和投资组合分析)

  • 我有1万初始股权
  • 我有一个策略,我想回溯测试3000多个符号宇宙(股票)
  • 假设该策略是一个简单的MA交叉
  • 每次我得到买入交叉,我都会买入价值1万美元的股票并平仓关于销售跨界
  • 出于回溯测试的目的,该策略可以在没有任何投资组合限制的情况下进行交易,因此,我可能在任何时间点持有100+个位置,因此不应考虑初始股权

我想知道这种策略在所有交易中的平均回报率。

事实上,如果我只有1万,我一次只能进行一笔交易,但我想统计一下平均回报率是多少。

然后我想将其与股指基准进行比较。

  • 是否求和或平均每个符号的返回流
  • 是投资组合的回报吗?这是否考虑了初始股权?-我不希望回报率是初始股本的百分比或者考虑一下符号是如何交易的

当我有时间时,我会添加一个示例策略,但问题的解决方案是:

#get the portfolio returns
instRets <- PortfReturns(account.st)
#for each column, NA the values where there is no return, because when the values are averaged out, you don't want 0's to be included in the calculation
# if there are no signals in the strategy, you will invest money elsewhere rather than just leaving lying around. Therefore you only calculate the returns #when the strategy is ACTIVE
for (i in 1:ncol(instRets)){
instRets[,i][instRets[,i] == 0] <- NA
}
#this will give you the average return when the strategy is active, if there are 100 trades on, you want the average return during that period.
portfRets <- xts(rowMeans(instRets, na.rm = T), order.by = index(instRets)) 
portfRets <- portfRets[!is.na(portfRets)] 

现在,您可以将该策略与基准SPY进行比较。如果策略有阿尔法,你可以使用平衡规则在信号出现时将资金应用于策略,或者在没有信号时继续投资于指数。

据我所知,吸墨纸中的回报分析使用初始股权来计算回报,因此在每笔交易中投资的金额与初始股权的金额相同。1万初始股本,每笔交易1万。

相关内容

  • 没有找到相关文章

最新更新