前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python量化投资】趋向系统指标策略 ADX、DMI指标用于股票池(附源码)

【Python量化投资】趋向系统指标策略 ADX、DMI指标用于股票池(附源码)

作者头像
量化投资与机器学习微信公众号
发布2018-01-29 16:20:14
3.8K0
发布2018-01-29 16:20:14
举报

[什么是ADX]

ADX(average directional indicator) 平均趋向指数,常用的趋势衡量指标。通常与趋向系统(DMI)一起使用,利用多空趋向之变化差离与总和判定平均趋势,ADX数值不能显示趋势的发展方向。

但是如果趋势存在,ADX可以衡量趋势的强度。

[ADX的计算方法(默认区间14天)]

Step 1. 计算Directional movement (动向变化值)

+DM:当日最高价比昨日最高价高并且当日最低价比昨日最低价高,即为上升动向+DM。上升幅度为:当日最高价减去昨日最高价。

-DM:当日最高价比昨日最高价低并且当日最低价比昨日最低价低,即为下降动向-DM。下降幅度为:昨日最低价减去今日最低价。

Step 2 . 计算True Range (真实波幅)

TR =∣最高价-最低价∣,∣最高价-昨收∣,∣昨收-最低价∣ 三者之中的最高值

Step 3: 计算Directional Movment Index (动向指数)

+DI(14) = +DM(14)/TR(14)*100

-DI(14) = -DM(14)/TR(14)*100

Step 4: 计算ADX

DX是+DI与-DI两者之差的绝对值除以两者之和的百分数。

DX=[(+DI14)-(-DI14)]/[(+DI14)+(-DI14)]*100

ADX是DX的14天平滑平均线。

ADX = SMA(DX, 14)

不论上升趋势或下降趋势,ADX的读数越大,趋势越明显。

衡量趋势强度时,需要比较几天的ADX 读数,观察ADX究竟是上升或下降。ADX读数上升,代表趋势转强;如果ADX读数下降,意味着趋势转弱。

当+DI14从下向上递增突破-DI14时,显示市场内部有新的多头买家进场,愿意以较高的价格买进,因此入场信号。当-DI14从下向上递增突破+DI14时,显示市场内部有新的空头卖家出货,愿意以较低卖出,为离场信号

策略逻辑:

使用ADX的相对上升下降来判断趋势。配合双均线信号一起用。

在这里ADX更多是作为验证趋势是否会增强的信号使用,以避免在横盘中多次交易。

源代码

(点击阅读原文查看完整文件)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化投资与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档