TA-Lib学习研究笔记(八)——Momentum Indicators 上

2023-12-02 17:12

本文主要是介绍TA-Lib学习研究笔记(八)——Momentum Indicators 上,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

TA-Lib学习研究笔记(八)——Momentum Indicators 上

Momentum Indicators 动量指标,是最重要的股票分析指标,能够通过数据量化分析价格、成交量,预测股票走势和强度,大部分指标都在股票软件中提供。

1. ADX-Average Directional Movement Index

函数名:ADX
名称:平均趋向指数
简介:使用ADX指标,指标判断盘整、振荡和单边趋势。
特点:

  • ADX无法告诉你趋势的发展方向。
  • 如果趋势存在,ADX可以衡量趋势的强度。不论上升趋势或下降趋势,ADX看起来都一样。
  • ADX的读数越大,趋势越明显。衡量趋势强度时,需要比较几天的ADX 读数,观察ADX究竟是上升或下降。ADX读数上升,代表趋势转强;如果ADX读数下降,意味着趋势转弱。
  • 当ADX曲线向上攀升,趋势越来越强,应该会持续发展。如果ADX曲线下滑,代表趋势开始转弱,反转的可能性增加。
  • 单就ADX本身来说,由于指标落后价格走势,所以算不上是很好的指标,不适合单就ADX进行操作。可是,如果与其他指标配合运用,ADX可以确认市场是否存在趋势,并衡量趋势的强度。

指标应用:

  • +DI与–DI表示多空相反的二个动向,当据此绘出的两条曲线彼此纠结相缠时,代表上涨力道与下跌力道相当,多空势均力敌。当 +DI与–DI彼此穿越时,由下往上的一方其力道开始压过由上往下的另一方,此时出现买卖讯号。
  • ADX可作为趋势行情的判断依据,当行情明显朝多空任一方向进行时,ADX数值都会显著上升,趋势走强。若行情呈现盘整格局时,ADX会低于 +DI与–DI二条线。若ADX数值低于20,则不论DI表现如何,均显示市场没有明显趋势。
  • ADX持续偏高时,代表“超买”(Overbought)或“超卖”(Oversold)的现象,行情反转的机会将增加,此时则不适宜顺势操作。当ADX数值从上升趋势转为下跌时,则代表行情即将反转;若ADX数值由下跌趋势转为上升时,行情将止跌回升。
  • 总言之,DMI指标包含4条线:+DI、-DI、ADX和ADXR。+DI代表买盘的强度、-DI代表卖盘的强度;ADX代表趋势的强度、ADXR则为ADX的移动平均。
    语法:

real = ADX(high, low, close, timeperiod=14)

df['ADX'] = tlb.ADX(df['high'],df['low'],df['close'], timeperiod=14)
df['PLUS_DI'] = tlb.PLUS_DI(df['high'],df['low'],df['close'], timeperiod=14)
df['MINUS_DI'] = tlb.MINUS_DI(df['high'],df['low'],df['close'], timeperiod=14)# 做图
# ,'close'
df[['ADX','PLUS_DI','MINUS_DI','close']].plot(figsize=(6, 4),title='ADX',grid=True)
plt.legend() # 设置图示
plt.show()

在这里插入图片描述

2. ADXR-Average Directional Movement Index Rating

函数名:ADXR
名称:平均趋向指数的趋向指数
简介:使用ADXR指标,指标判断ADX趋势。
语法:

real = ADXR(high, low, close, timeperiod=14)

df['ADX'] = tlb.ADX(df['high'],df['low'],df['close'], timeperiod=14)
df['ADXR'] = tlb.ADXR(df['high'],df['low'],df['close'], timeperiod=14)
#df['PLUS_DI'] = tlb.PLUS_DI(df['high'],df['low'],df['close'], timeperiod=14)
#df['MINUS_DI'] = tlb.MINUS_DI(df['high'],df['low'],df['close'], timeperiod=14)# 做图
#df[['ADX','ADXR','PLUS_DI','MINUS_DI','close']].plot(figsize=(6, 4),title='ADXR',grid=True)
df[['ADX','ADXR','close']].plot(figsize=(6, 4),title='ADXR',grid=True)
plt.legend() # 设置图示
plt.show()

在这里插入图片描述

3. APO-Absolute Price Oscillator

函数名:APO
名称:绝对价格振荡器
简介:该函数接收几个参数并返回一个表示振荡器的实数序列。
参数说明:

  • close: 这是表示收盘价的序列。通常,这是一个 Pandas Series 或 NumPy 数组,其中包含了金融时间序列的收盘价。
  • fastperiod: 这是一个整数,表示短期EMA(指数移动平均线)的时间周期。在这个例子中,它被设置为12。
  • slowperiod: 这是一个整数,表示长期EMA的时间周期。在这个例子中,它被设置为26。
  • matype: 这是一个整数,用于指定EMA的计算类型。TA-Lib支持多种类型的移动平均线计算,matype 参数允许你选择其中的一种。在这个例子中,matype 被设置为0,表示使用简单的EMA计算。

语法:

real = APO(close, fastperiod=12, slowperiod=26, matype=0)


df['APO'] = tlb.APO(df['close'], fastperiod=12, slowperiod=26, matype=0)# 做图
df[['APO','close']].plot(subplots=True,figsize=(6, 4),title='APO',grid=True)
plt.legend() # 设置图示
plt.show()

在这里插入图片描述

4. AROON-Aroon

函数名:AROON
名称:阿隆指标
简介:该指标是通过计算自价格达到近期最高值和最低值以来所经过的期间数,阿隆指标帮助你预测价格趋势到趋势区域(或者反过来,从趋势区域到趋势)的变化。
指数应用:
1、极值0和100
当UP线达到100时,市场处于强势;如果维持在70100之间,表示一个上升趋势。同样,如果Down线达到0,表示处于弱势,如果维持在030之间,表示处于下跌趋势。如果两条线同处于极值水平,则表明一个更强的趋势。
2、平行运动
如果两条线平行运动时,表明市场趋势被打破。可以预期该状况将持续下去,只到由极值水平或交叉穿行西安市出方向性运动为止。
3、交叉穿行
当下行线上穿上行线时,表明潜在弱势,预期价格开始趋于下跌。反之,表明潜在强势,预期价格趋于走高。
语法:

aroondown, aroonup = AROON(high, low, timeperiod=14)

df['aroondown'],df['aroonup'] = tlb.AROON(df['high'],df['low'], timeperiod=14)# 做图
df[['aroondown','aroonup','close']].plot(figsize=(6, 4),title='AROON',grid=True)
plt.legend() # 设置图示
plt.show()

在这里插入图片描述

5. AROONOSC-Aroon Oscillator

函数名:AROONOSC
名称:阿隆振荡
语法:

real = AROONOSC(high, low, timeperiod=14)

df['AROONOSC'] = tlb.AROONOSC(df['high'],df['low'], timeperiod=14)# 做图
df[['AROONOSC','close']].plot(subplots=True,figsize=(6, 4),title='AROONOSC',grid=True)
plt.legend() # 设置图示
plt.show()

在这里插入图片描述

6. BOP-Balance Of Power

函数名:BOP
名称:均势指标
简介:是一种投资策略,其核心思想是在选择投资标的时,要关注市场上的“力量平衡”,即买方力量和卖方力量之间的关系。在股市中,买方力量和卖方力量的对比将直接影响股价的走势。当买方力量大于卖方力量时,股价将上涨;相反,当卖方力量大于买方力量时,股价将下跌。
语法:

real = BOP(open, high, low, close)

df['BOP'] = tlb.BOP(df['open'],df['high'],df['low'],df['close'])# 做图
df[['BOP','close']].plot(subplots=True,figsize=(6, 4),title='BOP',grid=True)
plt.legend() # 设置图示
plt.show()

在这里插入图片描述

7. CCI-Commodity Channel Index

函数名:CCI
名称:顺势指标
简介:CCI指标专门测量股价是否已超出常态分布范围
指标应用:

  • 1.当CCI指标曲线在+100线~-100线的常态区间里运行时,CCI指标参考意义不大,可以用KDJ等其它技术指标进行研判。
  • 2.当CCI指标曲线从上向下突破+100线而重新进入常态区间时,表明市场价格的上涨阶段可能结束,将进入一个比较长时间的震荡整理阶段,应及时平多做空。
  • 3.当CCI指标曲线从上向下突破-100线而进入另一个非常态区间(超卖区)时,表明市场价格的弱势状态已经形成,将进入一个比较长的寻底过程,可以持有空单等待更高利润。如果CCI指标曲线在超卖区运行了相当长的一段时间后开始掉头向上,表明价格的短期底部初步探明,可以少量建仓。CCI指标曲线在超卖区运行的时间越长,确认短期的底部的准确度越高。
  • 4.CCI指标曲线从下向上突破-100线而重新进入常态区间时,表明市场价格的探底阶段可能结束,有可能进入一个盘整阶段,可以逢低少量做多。
  • 5.CCI指标曲线从下向上突破+100线而进入非常态区间(超买区)时,表明市场价格已经脱离常态而进入强势状态,如果伴随较大的市场交投,应及时介入成功率将很大。
  • 6.CCI指标曲线从下向上突破+100线而进入非常态区间(超买区)后,只要CCI指标曲线一直朝上运行,表明价格依然保持强势可以继续持有待涨。但是,如果在远离+100线的地方开始掉头向下时,则表明市场价格的强势状态将可能难以维持,涨势可能转弱,应考虑卖出。如果前期的短期涨幅过高同时价格回落时交投活跃,则应该果断逢高卖出或做空。
  • CCI主要是在超买和超卖区域发生作用,对急涨急跌的行情检测性相对准确。非常适用于股票、外汇、贵金属等市场的短期操作。
    语法:

real = CCI(high, low, close, timeperiod=14)

df['CCI'] = tlb.CCI(df['high'],df['low'],df['close'], timeperiod=14)# 做图
df[['CCI','close']].plot(subplots=True,figsize=(6, 4),title='CCI',grid=True)
plt.legend() # 设置图示
plt.show()

在这里插入图片描述

8. CMO-Chande Momentum Oscillator

函数名:CMO
名称:钱德动量摆动指标
简介:与其他动量指标摆动指标如相对强弱指标(RSI)和随机指标(KDJ)不同,钱德动量指标在计算公式的分子中采用上涨日和下跌日的数据。
计算公式:CMO=(Su-Sd)*100/(Su+Sd)
其中:Su是今日收盘价与昨日收盘价(上涨日)差值加总。若当日下跌,则增加值为0;Sd是今日收盘价与做日收盘价(下跌日)差值的绝对值加总。若当日上涨,则增加值为0;

指标应用:

  • 本指标类似RSI指标。
  • 当本指标下穿-50水平时是买入信号,上穿+50水平是卖出信号。
  • 钱德动量摆动指标的取值介于-100和100之间。
  • 本指标也能给出良好的背离信号。
  • 当股票价格创出新低而本指标未能创出新低时,出现牛市背离;
  • 当股票价格创出新高而本指标未能创出新高时,当出现熊市背离时。
  • 可以用移动均值对该指标进行平滑。

语法:

real = CMO(close, timeperiod=14)

df['CMO'] = tlb.CMO(df['close'], timeperiod=14)# 做图
df[['CMO','close']].plot(subplots=True,figsize=(6, 4),title='CMO',grid=True)
plt.legend() # 设置图示
plt.show()

在这里插入图片描述

9. DX- Directional Movement Index

函数名:DX
名称:动向指标或趋向指标
简介:通过分析股票价格在涨跌过程中买卖双方力量均衡点的变化情况,即多空双方的力量的变化受价格波动的影响而发生由均衡到失衡的循环过程,从而提供对趋势判断依据的一种技术指标。

语法:

real = DX(high, low, close, timeperiod=14)

df['DX'] = tlb.DX(df['high'],df['low'],df['close'], timeperiod=14)# 做图
df[['DX','close']].plot(subplots=True,figsize=(6, 4),title='DX',grid=True)
plt.legend() # 设置图示
plt.show()

在这里插入图片描述

10. MACD-Moving Average Convergence/Divergence

函数名:MACD
名称:平滑异同移动平均线
简介:利用收盘价的短期(常用为12日)指数移动平均线与长期(常用为26日)指数移动平均线之间的聚合与分离状况,对买进、卖出时机作出研判的技术指标。
参数说明:
close: 这是表示收盘价的序列。通常,这是一个 Pandas Series 或 NumPy 数组,其中包含了金融时间序列的收盘价。
fastperiod: 这是短期 EMA(指数移动平均线)的时间周期。在示例中,它被设置为 12。
slowperiod: 这是长期 EMA 的时间周期。在示例中,它被设置为 26。
signalperiod: 这是 MACD 线(信号线)的时间周期。在示例中,它被设置为 9。

输出参数说明:
输出三个值:dif(差离值)、dem(离散移动平均线)和 histogram(直方图)。这些值分别表示了 MACD 指标的计算结果,其中 dif 是两个 EMA 的差离值,dem 是 dif 的离散移动平均线,而 histogram 是 dif 和 dem 的差离值。

通过观察这些值的变化趋势,您可以判断股票的趋势以及潜在的买卖信号。一般来说,当 DIF 线向上穿过 DEMA 线时,被视为买入信号;而当 DIF 线向下穿过 DEMA 线时,被视为卖出信号。直方图的值表示了 MACD 指标相对于零线的偏离程度,可以辅助判断趋势的强度和可能的转折点。

语法:

dif, dem, histogram = MACD(close, fastperiod=12, slowperiod=26, signalperiod=9)

df['dif'],df['dem'],df['histogram'] = tlb.MACD(df['close'], fastperiod=12, slowperiod=26, signalperiod=9)# 做图
df[['dif','dem','histogram','close']].plot(subplots=True,figsize=(6, 4),title='MACD',grid=True)
plt.legend() # 设置图示
plt.show()

在这里插入图片描述

这篇关于TA-Lib学习研究笔记(八)——Momentum Indicators 上的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/446154

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件