调用回测绩效指标的统一方法
由qxiao创建,最终由qxiao 被浏览 2 用户
在我们跑完回测后,想得到回测结果的绩效分析通常需要调用属性,但不同绩效往往无法用同一的属性查询,使得我们在这上面需要浪费大量时间。在许多文章和代码中,我们可以看到用了许多不同的方式来获取绩效结果,这既不方便记忆,也不方便大家使用,本篇帖子则是提供一个统一方法。
对于可视化代码,我们在M.bigtrader.v53中引入了属性.stats,我们可以通过m5.stats(模块名根据实际情况调整)直接读取到我们所需要的大部分绩效指标,如下:
同理,对于非可视化代码,你也可以用performance.stats来调用。下面我以一个可视化策略为例,以优化夏普比率为目标,应用m.ture实现超参优化。
并行模块m.tune的使用方法见,需要注意的地方是优化的目标不同,对应的代码如下:
import pandas as pd
pv = [result[i]['m5'] .stats['sharp_ratio'] for i in range(len(parameter_tasks))]
df = pd.DataFrame({'para':range(len(parameter_tasks)), '夏普比率':pv})
import bigcharts
bar = bigcharts.Bar(df.set_index('para'), title="para")
bar.render()
如果需要以其他绩效为优化指标,在同样位置做修改即可,也可以通过表达式来构建一些复合指标。
完整代码如下:\n
https://bigquant.com/codesharev3/395f3862-d427-485d-a144-b3d8ccac897c
\