当前位置: 首页 > news >正文

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 上

TA-Lib学习研究笔记(八)——Momentum Indicators 上 Momentum Indicators 动量指标,是最重要的股票分析指标,能够通过数据量化分析价格、成交量,预测股票走势和强度,大部分指标都在股票软件中提供。 1. A…...

【MATLAB源码-第91期】基于matlab的4QAM和4FSK在瑞利(rayleigh)信道下误码率对比仿真。

操作环境: MATLAB 2022a 1、算法描述 正交幅度调制(QAM,Quadrature Amplitude Modulation)是一种在两个正交载波上进行幅度调制的调制方式。这两个载波通常是相位差为90度(π/2)的正弦波,因此…...

pywin32后台键鼠

1 后台键鼠操作 组合键不生效,并且按键按下会触发两次,不知道为什么?有大佬知道了,请指教一下! import time import win32api import win32con import win32guiclass VirtualKeyboard:def __init__(self, hwnd):self…...

大屏适配方案(vw、vh)

开发大屏主要是两方面的工作: 大屏之关键-前期的自适应适配根据 ui 稿绘制图表,调细节 方案实现方式优点缺点vw vh1.按照设计稿的尺寸,将px按比例计算转为vw和vh1.可以动态计算图表的宽高,字体等,灵活性较高 2.当屏幕…...

【QuickSort】单边快排思路及实现

思路: (1)首先定义一个递归函数:qucikSort(int [ ] arr,int l,int r)。函数的定义:给定一个数组arr,对它在[l,r]这个区间内的元素进行排序,从而使得整个数组在[l,r]这个区间内有序。 &#xff0…...

C++:继承

继承: 继承的基本语法: 继承是面向对象三大特性之一: 我们发现,定义这些类,下级别的成员除了拥有上一级的共性,还有自己的特性。 这个时候我们就可以考虑利用继承的技术,减少重复代码。 继承的…...

苍穹外卖--客户催单

需求分析 用户在小程序中点击催单按钮后,需要第一时间通知外卖商家 设计思路:* 通过WebSocket实现管理端页面和服务端保持长连接状态当用户点击催单按钮后,调用WebSocket的相关API实现服务端向客户端推送消息客户端浏览器解析服务端推送的…...

春秋云境:CVE-2022-32991(sql注入)

靶标介绍: 该CMS的welcome.php中存在SQL注入攻击。 获取登录地址 http://eci-2zeb0096que0556y47vq.cloudeci1.ichunqiu.com:80 登录注册 注册成功登录进入注册接口 参数接口一 发现接口参数q http://eci-2zeb0096que0556y47vq.cloudeci1.ichunqiu.com/welcome.p…...

css实现鼠标移入背景图片变灰并浮现文字的效果

首先上效果图 说明一下我的html结构 如上图是一个div包裹的img标签, div的块大小width, height 自己定义, 我说明一下核心样式代码 下面写法是scss, 请自行替换 .web-query-image {position: relative; // 相对定位, 方便浮现文案进行绝对定位border-radius: 8px;box-sizing: …...

ES-深入理解倒排索引

倒排索引 idproductdesc1新版 小米 至尊-纪念版手机1小米 NFC 手机3NFC手机4小米 耳机5华为 耳机6扫地机器人7华为 Mata………………term_indexterm dictionaryposting list------------------------------------小米1……100W华为6,7,9NFC76,90耳机5352红米643,98机器人645,9…...

linux NAT网卡配置static

由于是内网,资料无法拷贝,借助参考资料,整理发出。 镜像安装 基本操作。 查看VM配置 图1,有几个信息。一个是NAT借用了网卡里的VMnet8适配器。 子网IP是从192.168.142.0 子网掩码255.255.255.255,对应下面配置的N…...

信奥编程 1168:大整数加法

解析:在c中需要考虑这么几个问题,第一个是大数据的输入,第二个是大数据的存储,第三是大数据的计算方式,最后是输出。 针对上述几个问题,第一个问题,采用字符串的方式或者数组加循环的方式接收输…...

k8s上Pod全自动调度、定向调度、亲和性调度、污点和容忍调度详解

目录 一.Pod调度简介 二.Deployment/RC全自动调度 1.简介 2.案例演示 (1)Deployment (2)RC 三.nodeSelector/nodeName指定节点调度 1.原理简介 (1)nodeSelector原理 (2)no…...

C# 动态编译代码并执行

写在前面 本文采用动态编译的方式,对目标文件code.txt中的C#代码进行实时编译并调用;当然也可以直接在代码中直接装配或读取已有的代码文本,动态编译可以用于很多需要热更新的场景,实现无需重启程序也能达到更新代码的需求。 代…...

nginx配置反向代理及负载均衡

目录 1.前端发送的请求,是如何请求到后端服务的1.nginx 反向代理的好处:2.nginx 反向代理的配置方式:3. nginx 负载均衡的配置方式 1.前端发送的请求,是如何请求到后端服务的 1.nginx 反向代理的好处: 提高访问速度 因…...

【古月居《ros入门21讲》学习笔记】09_订阅者Subscriber的编程实现

目录 说明: 1. 话题模型 图示 说明 2. 实现过程(C) 创建订阅者代码(C) 配置发布者代码编译规则 编译并运行 编译 运行 3. 实现过程(Python) 创建订阅者代码(Python&…...

Java全栈基础篇--集合

集合 集合:集合是java中提供的一种容器,可以用来存储多个数据。 特点: 长度不固定,还可以存储不同的数据(但是一般都用同一类型) 集合和数组既然都是容器,它们有啥区别呢? 数组的长…...

Facebook公共主页受限、被封?一文教你排雷解决

一、Facebook公共主页是什么? 现在人们的生活已经离不开各种社交媒体,只要有智能手机,或多或少会使用一些社交平台,而Facebook是一个拥有大量用户的社交平台。这对于各种企业而言,也是一个十分优秀的营销平台&#xf…...

Day04:每日一题:2661. 找出叠涂元素

2661. 找出叠涂元素 给你一个下标从 0 开始的整数数组 arr 和一个 m x n 的整数 矩阵 mat 。 arr 和 mat 都包含范围 [1,m * n] 内的 所有 整数。从下标 0 开始遍历 arr 中的每个下标 i ,并将包含整数 arr[i] 的 mat 单元格涂色。请你找出 arr 中在 mat…...

SpringBoot 整合Redis

在Spring Boot中,你可以使用以下注解来实现Redis的整合: EnableCaching: 在启动类上添加该注解,开启Spring的缓存支持。 Cacheable: 标记方法的返回值可被缓存。当缓存中存在相同 key 的数据时,直接从缓存中获取数据,否则执行方法…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

【Oracle】分区表

个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

归并排序:分治思想的高效排序

目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法,由约翰冯诺伊曼在1945年提出。其核心思想包括: 分割(Divide):将待排序数组递归地分成两个子…...

算法250609 高精度

加法 #include<stdio.h> #include<iostream> #include<string.h> #include<math.h> #include<algorithm> using namespace std; char input1[205]; char input2[205]; int main(){while(scanf("%s%s",input1,input2)!EOF){int a[205]…...

Springboot 高校报修与互助平台小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;高校报修与互助平台小程序被用户普遍使用&#xff0c;为…...

Qt学习及使用_第1部分_认识Qt---Qt开发基本流程

前言 学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面. 参考书:<Qt 6 C开发指南>(以下称"本书") 标识说明:概念用粗体倾斜.重点内容用(加粗黑体)---重点内容(红字)---重点内容(加粗红字), 本书原话内容用深蓝色标识,比较重要的内容用加粗倾…...