策略分享

商品期货策略-ATR通道突破策略

由small_q创建,最终由qxiao 被浏览 260 用户

旧版声明

本文为旧版实现,仅供学习参考。

https://bigquant.com/wiki/doc/demos-ecdRvuM1TU

\

背景知识

真实波动幅度均值(ATR)是由威尔斯·威尔德(J. Welles Wilder)在其1978年所著的《技术分析中的新概念》('New concepts in Technical Trading Systems” 1978, ISBN 0-89459-027-8)一书中首先提出的,这一指标主要用来衡量证券价格的波动。因此,这一技术指标并不能直接反映价格走向及其趋势稳定性,而只是表明价格波动的程度。他观察到随着趋势的发展,市场参与者的情绪反应更加强烈,日波幅逐渐增大。同样地,方向不明,在一定的范围盘整时,平均真实波幅最终向上突破通常也指示了价格的突破。

真实波动幅度均值(ATR)是优秀的交易系统设计者的一个不可缺少的工具,它称得上是技术指标中的一匹真正的劲马。每一位系统交易者都应当熟悉ATR及其具有的许多有用功能。其众多应用包括:参数设置,入市,止损,止盈等,甚至是资金管理中的一个非常有价值的辅助工具。本文只做入市的应用介绍。

真实波幅(TR)

话不多说先上公式!

image{w:100}{w:100}


其中:High是指当日最高价,Low为当日最低价,pre_close是指前一日收盘价。公式看上去很复杂,其实它要表达的就是昨日收盘以后标的的最大波幅,让我们来看看K线图里真实波幅具体指哪一部分。

从图片中我们可以很容易的看出,真实波幅就是昨天收盘后股票的最大振幅,也就是图片中最长的那一根箭头所表示的位置。

\n image{w:100}{w:100}

平均真实波幅(ATR)


平均真实波幅其实就是真实波幅的一个移动平均值,话不多说,直接看公式: image{w:100}{w:100}


或者用滑动平均的方法: image{w:100}{w:100}


其中:days是取平均的天数,比如我们要取真实波幅20日的平均,days就取20;TrueRange是真实波幅。从公式可以看出,ATR值其实就是标的(证券或者期货)days日内的平均真实波幅,当这个值大的时候,就说明这段时间标的每一天的波动率都很大,当这个值小的时候,就说明这段时间每一天的波动率都很小。

策略实现

指标计算:

  • 中轨:收盘价的25日移动平均值
  • 通道宽度:平均真实波幅*2
  • 上轨:中轨+通道宽度
  • 下轨:中轨-通道宽度

交易逻辑:

  • 当价格突破上轨,进场买入,建多仓
  • 当价格突破下轨,进场卖出,建空仓
  • 一个完整的交易系统需要包括仓位管理和资金配置,这里不做介绍,小编多年的期货产品管理经验(😢😢😢)认为,期货交易系统只要具备出场逻辑(这样的系统也称为正反手系统),那么无需再加止盈止损模块。

策略信号如下,当价格突破上轨开多,当价格突破下轨,开空,只要标的具备波动性,那么策略是可以盈利的。

02-Keltner-channel-trends-1024x567{w:100}{w:100}

下面是商品期货策略样例代码,如果要模拟交易正常运行的话,需要单独修改下日期参数,我会在下文给出样例。欢迎大家 克隆研究

策略源码

https://bigquant.com/experimentshare/a6b69c81f6b146368a86bdeb649fa21c

\

标签

期货
评论
  • 想问问开多和开空直接使用1和-1作为信号,那平仓信号呢?这样的回测模式是不是没办法计算盈亏比和胜率?我的理解里盈亏比和胜率必须一单单对应起来计算
{link}