如果一个量化策略参数,在回测中的收益很好,其它的一些指标也不错,这个策略能在以后的运行中取得不错的收益吗?
常常会有这样的情况,回测的数据惊人,但是在实际运行中收益不好或者亏损。
如何使策略在回测中能取得好收益,而且在未来的数据中也能得到好的收益,这样的策略,才是好的策略。
一个策略的好坏,主要有以下几个指标来判断
Alpha(阿尔法)
意义:
投资中面临着系统性风险(即Beta)和非系统性风险(即Alpha),Alpha是投资者获得与市场波动无关的回报。比如投资者获得了15%的回报,其基准获得了10%的回报,那么Alpha或者价值增值部分就是5%
公式:
- Rp = 策略年化收益率
- Rm = 基准年化收益率
- Rf = 无风险利率(默认是0.04)
- βp = 策略beta值
根据公式得出:当 α > 0 ,策略相对于风险,获得了超额收益; α = 0,策略相对于风险,获得了适当收益; α < 0,策略相对于风险,获得了较少收益
Beta(贝塔)
意义:
Beta表示投资的系统性风险,反映了策略对大盘变化的敏感性。例如一个策略的Beta为1.5,则大盘涨1%时,策略可能涨1.5%,反之亦然;如果一个策略的Beta为-1.5,说明大盘涨1%的时候,策略可能跌1.5%,反之亦然
公式:
- Dp = 策略每日收益
- Dm = 基准每日收益
- Cov(Dp,Dm) = 策略每日收益与基准每日收益的协方差
- Var(Dm) = 基准每日收益的方差
当 β<0,投资组合和基准的走向通常相反,如空头头寸类。如果β=0,投资组合和基准的走向没有相关性,如固定收益类。0<β<1,投资组合和基准的走向相同,但是比基准的移动幅度更小。如果β=1,投资组合和基准的走向相同,并且和基准的移动同谋贴近。如果β>1,投资组合和基准的走向相同,但是比基准的移动幅度更大
Sharpe(夏普比率)
意义:
Sharpe表示每承受一单位总风险,会产生多少超额报酬,可以同时对策略的收益与风险进行综合考虑
公式:
- Rp = 策略年化收益率
- Rf = 无风险利率(默认值为0.04)
- σp = 策略收益波动率
Sortino(索提诺比率)
意义:
Sortino 表示每承担一单位的下行风险,将会获得多少超额回报
公式:
- Rp = 策略年化收益率
- Rf = 无风险利率(默认值为0.04)
- σpd = 策略下行波动率
Information Ratio(信息比率)
意义:
Information Ratio 是用来衡量单位超额风险带来的σp = 策略收益波动率。信息比率越大,说明该策略单位跟踪误差所获得的超额收益越高,因此,信息比率较大的策略的表现要优于信息比率较低的基准。合理的投资目标应该是在承担适度风险下,尽可能追求高信息比率
公式:
- Rp = 策略年化收益率
- Rm = 基准年华收益率
- σt = 策略与基准每日收益差值的年化标准差
Volatility(策略波动率)
意义:
公式:
- rp = 策略每日收益第
- r- p = 策略每日收益的平均值 = lnΣi=lnrp
- n = 策略执行天数
Benchmark Volatility(基准波动率)
意义:
Benchmark Volatility 用来测量基准的风险性,波动越大代表基准风险越高
公式:
- rm = 其次每日收益第
- r- m = 基准每日收益的平均值 = lnΣi=lnrm
- n = 策略执行天数
Max Drawdown(最大回撤)
意义:
Max Drawdown 描述策略可能出现最糟糕的情况,最极端可能的亏损
公式:
- Px, Pv = 策略某日股票和现金的总价值
策略回测如何使得参数不过拟合?
1、在回测中不使用全部数据,只使用部分数据,其它数据用来验证,只有在回测和验证的数据中的效果差不多,才是一个好的策略。
有时候,回测的数据很好,但验证的数据不好,或者两者相差过大,我觉得也不是好的策略。一个好的策略要求回测跟验证的收益差异不能太大。
并且验证数据要搞好几份,这样才能找到较好的策略参数。
2、能不能使用 AI
能不能使用机器学习或者神精网络深度学习,通过对回测数据进行再次学习,来保证策略不仅对于历史数据有效,而对未来的数据同样有效。由于我对这方面不是很懂,希望在这方面有研究的可以教我。