在 GitHub 上查看

Z 分数均值回归策略图

English | Русский | Español | Deutsch | Português | 日本語

收盘价被换算成 z 分数,即以标准差为单位衡量的与移动平均线的距离。这样,无论品种价格高低,都用一个数字表示行情被拉伸的程度。图表在行情过度拉伸时反向操作,并在分数回到零附近时了结。

schema

策略概览

  • Z 分数由 SimpleMovingAverage 与 StandardDeviation 手工组合而成:(Close - SMA) / StandardDeviation 在一个公式方块中完成。
  • 另一个镜像公式给出同一分数的相反数,因此一个入场水平和一个离场水平即可覆盖多空两侧,不必设置四个常量。
  • 只在空仓时入场,入场方块另外带有“开仓”条件,所以图表不会对已有仓位加仓。
  • 本图运行在随附历史数据所提供的五分钟K线上。

入场与出场规则

  • 做多入场: Z 分数低于入场水平的负值,即收盘价低于均线超过设定的标准差数量,且当前空仓。订单按设定数量买入。
  • 做空入场: Z 分数高于入场水平,即收盘价高于均线超过设定的标准差数量,且当前空仓。订单按设定数量卖出。
  • 离场: 当 z 分数回升到离场水平之上时平掉多头;当 z 分数回落到离场水平的负值之下时平掉空头。没有止损,也没有止盈。

参数

参数 默认值 说明
SMA Length 10 作为分数基准的移动平均线周期。
StandardDeviation Length 10 作为除数的标准差周期。
Entry z-score 1.5 触发开仓的偏离幅度,以标准差计。
Exit z-score 0.5 了结持仓的偏离幅度,以标准差计。
Volume 1 下单数量(手)。
Candles 00:05:00 整张图使用的K线周期。

图表详情

  • K线方块同时向收盘价转换方块和两个指标方块供数,指标设置为仅在形成后输出。
  • 两个公式方块用同样的三个输入构建分数及其相反数,因此镜像比较无需额外常量。
  • 四个比较方块把两个分数与入场、离场水平对比,另外三个把持仓与零对比。
  • 每个逻辑与把一个分数条件和一个持仓条件合并;两个入场方块从同一个常量取数量,两个平仓方块使用“平仓”条件,无需数量。

使用方法

.json 文件导入 Designer,在回测器中用历史数据运行,然后根据自己的交易品种调整参数或方块,确认无误后再用于实盘。