如何衡量一个量化策略的好坏?一是比较稳定的收益,二是有严谨的回测,三是有清晰的逻辑。——刘富兵
引言
尽管过去不能代表未来,通过历史回测来评估量化策略仍然是量化投资非常重要的一环。量化回测过程中常用到的指标有年化收益率、最大回撤、beta、alpha、夏普比率、信息比率等(见下图)。目前很多量化网站都能提供Python的量化回测框架,如聚宽 、优矿、万矿、Zipline 、vnpy 和pyalgotrade等,为我们评估量化策略提供了很好的交互平台。毕竟平台的使用有其局限性,如果不借助平台, 如何使用python写一个简单的量化回测框架呢?本文将一步一步为你展示如何使用python计算量化策略风险指标。文中提及股票仅供学习示例,不构成投资建议。
指标含义及公式
1.累计收益率与年化收益率
年化收益率是把当前收益率(日收益率、周收益率、月收益率)换算成年收益率来计算的,是一种理论收益率,并不是真正的已取得的收益率。因为年化收益率是变动的,所以年收益率不一定和年化收益率相同。
累计收益率:
其中,PT是期末卖出时的价格,Pt是期初买入时的价格。
年化收益率:
其中,R是期间总收益率,m是与n(可以是天数、周数、月数)相对应的计算周期,根据计算惯例,m=250、52、12分别指代日、周、月向年化的转换。
2.最大回撤
在选定周期内任一历史时点往后推,于最低点时的收益率回撤幅度的最大值。最大回撤用来描述可能出现的最糟糕的情况。最大回撤是一个重要的风险指标,对于量化策略交易,该指标比波动率还重要。
P为某一天的净值,i为某一天,j为i后的某一天,Pi为第i天的产品净值,Pj则是Pi后面某一天的净值
则该基金的最大回撤计算如下:
即通过对每一个净值进行回撤率求值,然后找出最大的。
3.Beta和Alpha
Beta:相当于业绩评价基准收益的总体波动性,计算如下:
Pi和Pm分别指代个股(组合)、市场(如上证综指)的收益率序列,beta值也常被用来衡量某一策略的系统性风险。
其含义可以简单理解为:如果Beta为1,策略和市场(如沪深300指数)波动相同;如果Beta大于1,策略波动大于市场,如2,则市场上涨10%时,策略上涨20%;反之亦然。如果Beta小于1,则策略波动小于市场,如为0.8,市场上涨10%时,策略上涨8%;反之亦然。
Beta值如何看呢?这得具体问题具体分析,如果是牛市,个股、大盘狂涨,Beta值大的策略占优;如果是熊市,Beta值小的策略占优。
Alpha:实际收益和按照Beta系数计算的期望收益之间的差额。代表策略多大程度上跑赢了预期的收益率。
可以使用资本资产定价模型(CAPM)来估计策略的beta和alpha的值: