点击上方蓝色字体,关注:决策智能与机器学习,每天学点AI干货

编者按:阿隆指标属于趋势跟踪型指标,通过计算当前K线距离前最高价和最低价之间的K线数量来判断价格趋势,从而确定交易策略,本文给出了一个完整的量化交易案例,帮助理解如何利用数据找到指标,确定策略及其测试的过程。

1、阿隆指标简介

在技术分析中阿隆(Aroon)是一个很独特的技术指标,“Aroon”一词来自梵文,寓意为“黎明曙光”。它不像MA、MACD、KDJ那样广为人所熟悉,它推出的时间更晚,直到1995年才被图莎尔·钱德(Tushar Chande)发明出来,作者还发明了钱德动量摆动指标(CMO)和日内动量指数(IMI)。如果说一个技术指标知道的人越多,使用的人也越多,那么其赚钱能力也越低,那么相对新颖的阿隆指标则恰恰相反,站在这个角度看这是一个不错的选择。

2、图表中的阿隆指标

阿隆指标通过计算当前K线距离前最高价和最低价之间的K线数量,来帮助交易者预测价格走势与趋势区域的相对位置关系变化。它有两部分组成,即:阿隆上线(AroonUp)和阿隆下线(AroonDown),这两条线在0~100之间上下移动,虽然命名为上线和下线,但从图表上看并不像BOLL指标那样是真正意义上的上线和下线。如下图就是阿隆指标:

3、阿隆指标的计算方法

阿隆指标要求首先要设置一个时间周期参数,就像设置均线周期参数一样,在传统行情软件中,这个周期数是14,当然这个周期参数并不是固定的,你还可以设置为10或者50等等。为了方便理解,暂且把这个时间周期参数定义为:N。确定N之后,我们就可以计算出阿隆上线(AroonUp)和阿隆下线(AroonDown),具体的计算公式如下:

  • 阿隆上线(AroonUp) = [ ( 设置的周期参数 - 最高价后的周期数 ) / 计算的周期数 ] * 100

  • 阿隆下线(AroonDown) = [ ( 设置的周期参数 - 最低价后的周期数 ) / 计算的周期数 ] * 100

从这个公式中,我们就能大致看出,阿隆指标的思想。那就是:有多少个周期,价格在近期高 / 低点之下,辅助预测当前趋势是否会延续,同时衡量当前趋势的强弱。如果我们把这个指标归类的话,很明显它是属于趋势跟踪类型。但是与其他趋势跟踪型指标不同的是,它更重视时间而不是价格。

4、如何使用阿隆指标

阿隆上线(AroonUp)和阿隆下线(AroonDown)反映的是当前时间与之前最高价或最低价的远近,如果时间越近值就越大,如果时间越远值就越小。并且当两条线发生交叉就预示着价格方向可能会发生改变,如果AroonUp在AroonDown之上说明价格处于上涨趋势,未来价格可能会进一步上涨;如果AroonDown在AroonUp之上说明价格处于下跌趋势,未来价格可能会进一步下跌。

同时我们还可以设置几个固定的值,来精确入场时机。我们知道阿隆指标是一直在0~100之间上下运行,那么在市场处于上涨趋势,也就是AroonUp在AroonDown之上时,当AroonUp大于50,说明市场上涨的趋势已经形成,未来价格可能会继续上涨;当AroonUp下穿50时,说明价格上涨的动力正在减弱,未来价格可能会震荡和下跌。

反之在市场处于下跌趋势,也就是AroonDown在AroonUp之上时,当AroonDown大于50,说明市场下跌趋势已经形成,未来价格可能会继续下跌;当AroonDown下穿50时,说明价格下跌的动力正在减弱,未来价格可能会震荡和上涨。那么根据上面两段理论,我们可以把买卖条件罗列为:

  • 当 AroonUp大于AroonDown,并且AroonUp大于50,多头开仓;

  • 当 AroonUp小于AroonDown,或者AroonUp小于50,多头平仓;

  • 当 AroonDown大于AroonUp,并且AroonDown大于50,空头开仓;

  • 当 AroonDown小于AroonUp,或者AroonDown小于50,空头平仓;

5、基于阿隆指标构建交易策略

理清交易逻辑后,我们就可以用代码去实现了,本篇我们继续使用JavaScript语言,品种还是商品期货。动手能力强的小伙伴,也可以把代码翻译成Python语言,或者数字货币。OK,话不多说,依次打开:fmz.com > 登录 > 控制中心 > 策略库 > 新建策略,开始编写策略,注意看下面代码中的注释。

 第一步:使用CTA框架 

注意!一定要点击下方的:商品期货交易类库。如果你改编为数字货币就点击:数字货币现货交易类库。

第二步:获取数据

第三步:计算阿隆指标

第四步:计算交易条件并下单

 6、策略回测

为了更接近真实的交易环境,我们在回测时采用开平仓各2跳以及2倍的手续费来压力测试,测试环境如下:

  • 行情品种:动力煤指数

  • 交易品种:动力煤主力

  • 时间:2015年06月01日~2019年06月28日

  • 周期:日线

  • 滑点:开平仓各2跳

  • 手续费:交易所2倍

测试环境

收益明细

资金曲线

从上面的回测结果看,策略在市场行情走势流畅的时候表现很好,无论是在上涨或下跌中,阿隆指标可以完整的跟踪到行情。资金曲线也整体走势向上,并没有出现较大幅度的回撤。但是在震荡行情中,特别是连续的震荡行情中,出现了局部回撤。

7、阿隆指标的优缺点

  • 优点:阿隆指标可以判断趋势行情的状态,兼顾发现市场趋势行情以及判断价格转向的能力,帮助交易者提高资金的使用率,这个优势震荡行情中尤为重要。

  • 缺点:阿隆指标只是趋势跟踪系列指标中的一种,同样也有趋势跟踪指标的缺点。并且它只判断指定时间最高价或最低价的周期数,但有时候最高价或最低价在整个行情走势中会有偶然性,这个偶然性会干扰阿隆指标本身,造成虚假信号。

8、总结

在策略中我们固定了一部分参数,如:aroonUp或aroonDown大于小于50,造成策略的滞后性,很多情况下是行情上涨或下跌一段时间才开平仓买卖。这样虽然提高了胜率,减少了最大回撤率,但也错过了很多收益,这也印证了盈亏同源的道理。有兴趣的朋友可以深入研究一下,并加以改进。

免责声明:信息仅供参考,不构成投资及交易建议。投资者据此操作,风险自担。

作者 |  我是一个宽客

出处 |  宽客在线(www.quantinfo.com)

原文地址 | https://www.quantinfo.com/Article/View/2239.html

交流合作

商务合作以及加入微信群,请添加微信号:yan_kylin_phenix

注意:请务必说明您的意向,注明姓名+单位+从业方向+地点,否则不予通过,请多谅解。

阿隆(Aroon)技术指标在量化交易中的应用 | 干货相关推荐

  1. 量化交易中,如何使用Python计算「筹码分布」指标【附代码】 [量化小讲堂-64]

    这是邢不行第 64 期量化小讲堂的分享 作者 | 邢不行.助教林奇 本文内容也有视频版本,点击观看:量化交易中,筹码分布指标如何计算[邢不行] 记得小时候的某个暑假,一边吃西瓜,一边看港剧<大时 ...

  2. 量化交易中VWAP/TWAP算法的基本原理和简单源码实现(C++和python)(转)

    量化交易中VWAP/TWAP算法的基本原理和简单源码实现(C++和python) 原文地址:http://blog.csdn.net/u012234115/article/details/728300 ...

  3. Python期货量化交易中常用的数据类型有哪些?

    1 常用内置常量 Python解释器在启动时会创建None.True.False三个常量,None表示"无",True表示"真",False表示"假& ...

  4. 量化交易中,如何快速把股票代码转换成Int整形?

    最近笔者在量化交易的大神沟通中,收到这样一个需求,需要快速把股票代码转换成整形变量,也就是需要把新收到的股票交易信息,迅速与历史的股票信息结合起来,从而通过交易策略快速决策. 由于量化交易速度就是生命 ...

  5. 量化交易中的资金管理模型分享

    做量化交易少不了的就是资金管理,资金管理的目的是要告诉我们,在一定的帐户规模下,可以持有多少股票/合约.比如,资金管理的策略可能告诉你,目前没有足够的资金持有任何部位,因为风险太大了.通过资金管理可以 ...

  6. 量化交易中VWAP/TWAP算法的基本原理和简单源码实现(C++和python)

    参考文献: https://en.wikipedia.org/wiki/Time-weighted_average_price https://en.wikipedia.org/wiki/Volume ...

  7. python历史性分布计算代码_量化交易中,如何使用Python计算「筹码分布」指标【附代码】 [量化小讲堂-64]...

    引言: 邢不行的系列帖子"量化小讲堂",通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助. [历史文章汇总] 请点击此处 这是邢不行第  64 ...

  8. 在Elasticsearch中回测阿隆(Aroon)指標交叉交易策略

    我们已经讨论过如何在Elasticsearch 中回测" RSI 交叉策略"和 随机(Stochastic)交叉策略,在本文中,我们将实现阿隆(Aroon)交叉策略,并将其性能与上 ...

  9. python k线图和指标_量化交易中,如何使用Python画K线、成交量、买卖点【邢不行】...

    引言: 邢不行的系列帖子"量化小讲堂",通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助. [历史文章汇总] 请点击此处 这是邢不行第  68 ...

最新文章

  1. 如何进行机器学习框架选择
  2. 今年,自动驾驶卡车将在无人驾驶的情况下上路
  3. 如何查询云服务器的操作系统,如何查询云服务器的操作系统
  4. oracle ebs 多组织屏蔽的研究
  5. docker之设置开机自启动(二)
  6. 数据结构小总结(成都磨子桥技工学校数据结构前12题)
  7. ASP.NET Core中间件初始化探究
  8. arm芯片厂家排名_国产芯片目前至少有10种,其中有3种,达到了世界顶尖水平
  9. [转贴]非技术:在广州天河北被抢全记录(入面D广州话真系厉害,不懂粤语者别看,会吐血)...
  10. python socket thread,python实现socket+threading处理多连接的方法
  11. wps加载失败模板文件损坏_Normal模板异常损坏的修复方法
  12. 优优聚:美团,又要抢抖音的短视频生意
  13. win8 linux分区工具,Win8分区工具
  14. Review of Software Construction
  15. 网络安全系列-XII: Arkime如何将过滤表达式转换为ES查询?
  16. 20172327 2018-2019-1《程序设计与数据结构》课程总结
  17. VS2017社区版Community 许可证过期解决方法
  18. 史上最简单的spark教程第十七章-快速开发部署第一个sparkStreaming+Java流处理程序
  19. 项目管理实践教程二、源代码控制
  20. CSS样式表继承和优先级

热门文章

  1. Android USB识别开发
  2. LeetCode每日一题系列 随缘更新
  3. vue 导出excel表格 自定义表结构
  4. Flash进度条ProgressBar
  5. 【Python爬虫】猫眼电影榜单Top100
  6. vivo y67刷回原来的系统
  7. 成功解决 由于找不到opencv_world410d.dll,无法执行代码,重新安装程序可能会解决此问题
  8. 【考研数学】证明推导:设A,B分别为m,n阶正定矩阵,则分块矩阵C=[A,O,O,B]是正定矩阵
  9. sca java_SCA客户端以及基于Java的模型实现(一)
  10. UG NX二次开发(C#)- 查询part历史信息