在物理学中,振幅是表示波动或振动中距离平衡位置或静止位置的最大位移。在商品期货中,振幅指的是开盘后当日最高价和最低价之间的差的绝对值与昨日收盘价的百分比。振幅能够反映品种的活跃程度。本篇文章将使用发明者量化平台的MY语言开发一个均价振幅ATR策略。
对于CTA趋势跟踪策略来说,趋势行情是其获利来源,而振幅则直接反映了一个品种是否活跃,间接反映了一个品种是否有趋势行情。振幅有很多计算方式,比如当日振幅和周期振幅。以周期振幅为例,假设铁矿石10日前的收盘价为1000,当前K线最高价为1050(上涨5%),最低价为950(下跌5%),那么振幅就是10%。换句话说,振幅就是当前K线最高价减去当前K线最低价,再除以前10日K线的收盘价的绝对值。
除了周期振幅的计算方式,还有一种更简单的计算方式,即当日振幅,它等于最高价减去最低价或者收盘价减去开盘价。而本策略是以N日的平均收盘价减去N日的平均开盘价真实波动幅度主要用于判断开平仓的时机。真实波动幅度(ATR)是计算一段时期内价格波动幅度的移动平均值。它最初由WellesWilder在《技术交易系统中的新概念》一书中提出。
真实波动幅度经常在趋势跟踪策略中被引用。如果ATR的值越高,表示价格的趋势性越强;反之,ATR的值越低,表示价格的趋势性越弱。因此,在策略的开平仓条件中使用ATR作为一部分可以有效过滤部分震荡行情。
第1步:计算均价振幅。
定义均价振幅(AMP),即收盘价均线减去开盘价均线。
第2步:计算真实波动幅度。
首先计算出TR(当天的真实波幅),计算公式为:TR = 当天的高点减去当天的低点。但是有时候价格会出现跳空高开或跳空低开的情况,在这种情况下,当天的TR值为:
跳空高开:TR = 当天的高点减去昨天的收盘价。
跳空低开:TR = 昨天的收盘价减去当天的低点。
由于一天的TR有随机性,不能代表最近市场整体的波动率,所以使用ATR更能衡量市场的波动性。常用的是以14周期的ATR为例,即:ATR = (前13天的TR + 当天的TR)/14。最后,可以使用一个系数计算开平仓价格。
多开价格:如果均价振幅上穿0,那么其价格是最高价加上NATR。
空开价格:如果均价振幅上穿0,那么其价格是最低价减去NATR。
多平价格:如果均价振幅下穿0,那么其价格是最低价减去NATR。
空平价格:如果均价振幅下穿0,那么其价格是最高价加上NATR。
第4步:下单交易。
多头开仓:如果当前K线数量大于N,并且收盘价大于等于BKP。
空头开仓:如果当前K线数量大于N,并且收盘价小于等于SKP。
多头平仓:如果均价振幅下穿0,或者收盘价小于等于SPP。
空头平仓:如果均价振幅上穿0,或者收盘价大于等于BPP。
回测开始日期:2016-01-01
回测结束日期:2021-04-01
数据品种:铁矿石指数
数据周期:日线
滑点:开平仓各2跳
回测配置
回测绩效
收益概览
白银目前压力集中23.5区域,这里依然可以反复做空,白银最近没有跟随黄金上涨,更多还是前期压力导致,而且白银目前更多是跟随大宗商品走势,和石油很像,毕竟后期经济复苏才有工业需求,现在基本还是经济衰退时候,自然没有大幅上涨...
黄金按道理来说,目前见顶信号是非常明确,月线收官以冲高回落阴线收尾在1970分水岭之下,周线也是反复冲击2050关口受阻,现在已经是三连阴大幅回落至1935这个布林中轨附近,MA5—MA10均线呈死叉之势。...
引言:肇因于低利率及量化宽松的金融环境,加密货币市场迎来疯涨的牛市周期。不过随着景气复苏,货币政策紧缩已成定局,也就是说,牛市或许已经走到中后期,市场风险也越来越高。这时候,如果投资人依然采「全仓现货/合约」策略,那只要...
1、什么是天地网格天地网格是一种现货网格策略,在特定价格较大的区间进行低买高卖的自动化交易策略,系统会帮助构建出一系列的买卖价位。2、天地网格的特点天地网格适用于区间震荡行情和震荡上涨行情,遇到震荡下跌行情,可能出现亏损...