最大回撤是指投资组合在选定的周期内,任一时间点往后推,可能出现资产净值下降的最大幅度。回撤的意思是指在某一段时期内净值从最高点开始回落到最低点的幅度。最大回撤常用百分率来表示,是一个重要的风险指标。最大回撤的计算公式为
最 大 回 撤 = ( 波 峰 值 − 波 谷 值 ) / 波 峰 值 最大回撤 = \left( 波峰值 - 波谷值 \right) / 波峰值 最大回撤=(波峰值−波谷值)/波峰值
注意这里的 波 峰 值 波峰值 波峰值与 波 谷 值 波谷值 波谷值并不一定是最高值与最低值,这里的 波 峰 值 波峰值 波峰值与 波 谷 值 波谷值 波谷值要与时间范围内关联起来。
另外,值得指出的是,最大回撤只是描述投资组合资产净值下降的最大幅度,但它并没有描述投资组合需要使用多长时间恢复下降的资产净值。
本文讲述如何使用 Python 科学计算包 numpy 来计算最大回撤。
为方便描述算法,我们简化最大回撤的定义,只考虑净值下降值,不采用百分率来表示下降幅度,即对于序列 x 1 , x 2 , … , x n x_1, x_2, \ldots, x_n x1,x2,…,xn,定义最大回撤 d d d 为
d = max i ⩽ j ( x i − x j ) d = \max \limits_{i\leqslant j} \left( x_i - x_j \right) d=i⩽jmax(xi−xj)
如果需要改用百分率来表示最大回撤,只需要再除以 x i x_i x