TA-Lib学习研究笔记(八)——Momentum Indicators 中
Momentum Indicators 动量指标,是最重要的股票分析指标,能够通过数据量化分析价格、成交量,预测股票走势和强度,大部分指标都在股票软件中提供。
11. MACDEXT-MACD with controllable MA type
函数名:MACDEXT
名称:平滑异同移动平均线(可控制移动平均算法)
简介:同MACD函数(固定使用EMA作为matype),并提供参数控制计算DIF, DEM时使用的移动平均算法。
计算DIF时使用fastmatype与slowmatype,计算DEM时使用signalmatype,Histogram = DIF - DEM
参数:
- close: 表示收盘价的序列。它是您要分析的金融时间序列数据。
- fastperiod: 这是短期EMA(指数移动平均线)的时间周期。在示例中,它被设置为12。这是快速线(通常用12天周期计算)的计算参数。
- fastmatype: 这是指定快速EMA计算类型的整数。在示例中,它被设置为0,表示使用简单的EMA计算。这个参数可以取不同的值来选择不同的EMA计算类型。
- slowperiod: 这是长期EMA的时间周期。在示例中,它被设置为26。这是慢线(通常用26天周期计算)的计算参数。
- slowmatype: 这是指定慢速EMA计算类型的整数。在示例中,它被设置为0,表示使用简单的EMA计算。这个参数可以取不同的值来选择不同的EMA计算类型。
- signalperiod: 这是MACD线(信号线)的时间周期。在示例中,它被设置为9。这是信号线(通常用9天周期计算)的计算参数。
- signalmatype: 这是指定信号线EMA计算类型的整数。在示例中,它被设置为0,表示使用简单的EMA计算。这个参数可以取不同的值来选择不同的EMA计算类型。
输出参数见 MACD章节。
语法:
dif, dem, histogram = MACDEXT(close, fastperiod=12, fastmatype=0, slowperiod=26, slowmatype=0, signalperiod=9, signalmatype=0)
df['dif'],df['dem'],df['histogram'] = tlb.MACDEXT(df['close'], fastperiod=12, fastmatype=0, slowperiod=26, slowmatype=0, signalperiod=9, signalmatype=0)
# 做图
df[['dif','dem','histogram','close']].plot(subplots=True,figsize=(6, 4),title='MACDEXT',grid=True)
plt.legend() # 设置图示
plt.show()
12. MACDFIX-Moving Average Convergence/Divergence Fix 12/26
函数名:MFI
名称:平滑异同移动平均线(固定快慢均线周期为12/26)
简介:同MACD函数, 固定快均线周期fastperiod=12, 慢均线周期slowperiod=26.
输出值可以用于技术分析中的趋势判断和买卖信号的识别。通常情况下,当 dif 线向上穿过 dem 线时,被视为买入信号;而当 dif 线向下穿过 dem 线时,被视为卖出信号。直方图的值表示了 MACD 指标相对于零线的偏离程度,可以辅助判断趋势的强度和可能的转折点。
语法:
dif, dem, histogram = MACDFIX(close, signalperiod=9)
df['dif'],df['dem'],df['histogram'] = tlb.MACDFIX(df['close'],signalperiod=9)
# 做图
df[['dif','dem','histogram','close']].plot(subplots=True,figsize=(6, 4),title='MACDFIX',grid=True)
plt.legend() # 设置图示
plt.show()
13. MFI-Money Flow Index
函数名:MFI
名称:资金流量指标
简介:MFI(Money Flow Index)用于计算资金流量指标。该指标属于量价类指标,通过分析市场的资金流入和流出情况来反映市场的运行趋势。
MFI 函数的主要参数是收盘价序列(close),通过计算资金流入和流出的比例来得出指标值。具体来说,MFI 指标考虑了每个交易日的买单和卖单的金额,并将其与该日的收盘价进行比较,以得出资金流入和流出的比例。
买入信号
1.MFI<20时,代表资金短期冷却讯号.但是,必须等待MFI指标再度向上突破20时,才能确认资金转向.
2.MFI在20左右的水平,出现一底比一底高,和股价“背离”的现象时,可视为中期反转上涨的讯号.
3.MFI指标连续二次向上交叉其平均线时,视为买进讯号.(平均线一般设定为6天).
卖出信号
1.MFI>80时,代表资金短期过热讯号.但是,必须等待MFI指标再度向下跌破80时,才能确认资金转向.
2.MFI在80左右的水平,出现一顶比一顶低,和股价“背离”的现象时,可视为中期反转下跌的讯号.
3.MFI指标连续两次向下交叉其平均线时,视为卖出讯号.(平均线一般设定为6天).
语法:
real = MFI(high, low, close, volume, timeperiod=14)
df['MFI'] = tlb.MFI(df['high'],df['low'],df['close'],df['vol'], timeperiod=14)
# 做图
df[['MFI','close']].plot(subplots=True,figsize=(6, 4),title='MFI',grid=True)
plt.legend() # 设置图示
plt.show()
14. MINUS_DI-Minus Directional Indicator
函数名:DMI 中的DI指标 负方向指标
名称:下升动向值
简介:通过分析股票价格在涨跌过程中买卖双方力量均衡点的变化情况,即多空双方的力量的变化受价格波动的影响而发生由均衡到失衡的循环过程,从而提供对趋势判断依据的一种技术指标。
语法:
real = MINUS_DI(high, low, close, timeperiod=14)
df['MINUS_DI'] = tlb.MINUS_DI(df['high'],df['low'],df['close'],timeperiod=14)
# 做图
df[['MINUS_DI','close']].plot(subplots=True,figsize=(6, 4),title='MINUS_DI',grid=True)
plt.legend() # 设置图示
plt.show()
15. MINUS_DM-Minus Directional Movement
函数名:MINUS_DM
名称: 上升动向值 DMI中的DM代表正趋向变动值即上升动向值
简介:通过分析股票价格在涨跌过程中买卖双方力量均衡点的变化情况,即多空双方的力量的变化受价格波动的影响而发生由均衡到失衡的循环过程,从而提供对趋势判断依据的一种技术指标。
语法:
real = MINUS_DM(high, low, timeperiod=14)
df['MINUS_DM'] = tlb.MINUS_DM(df['high'],df['low'],timeperiod=14)
# 做图
df[['MINUS_DM','close']].plot(subplots=True,figsize=(6, 4),title='MINUS_DM',grid=True)
plt.legend() # 设置图示
plt.show()
16. MOM-Momentum
函数名:MOM
名称: 上升动向值
简介:Momentum投资学中意思为续航,指股票(或经济指数)持续增长的能力。研究发现,赢家组合在牛市中存在着正的动量效应,输家组合在熊市中存在着负的动量效应。
MOM 指标是一种常用的技术分析指标,它通过比较当前价格与过去价格的变化来衡量股票的动量。如果股票价格持续上涨,则说明该股票具有正的动量,即它具有继续上涨的能力。反之,如果股票价格持续下跌,则说明该股票具有负的动量,即它具有继续下跌的能力。
在技术分析中,MOM 指标通常被用于识别股票的超买和超卖情况。当 MOM 指标为正时,表示股票处于上升趋势;当 MOM 指标为负时,表示股票处于下降趋势。此外,MOM 指标还可以用于预测股票价格的短期趋势,以及寻找潜在的买卖机会。
语法:
real = MOM(close, timeperiod=10)
df['MOM'] = tlb.MOM(df['close'],timeperiod=14)
# 做图
df[['MOM','close']].plot(subplots=True,figsize=(6, 4),title='MOM',grid=True)
plt.legend() # 设置图示
plt.show()
17. PLUS_DI-Plus Directional Indicator
函数名:DMI 中的DI指标 正方向指标 ,用于计算正向方向性指标(Plus Directional Indicator)
名称:上升动向值
语法:
real = PLUS_DI(high, low, close, timeperiod=14)
df['PLUS_DI'] = tlb.PLUS_DI(df['high'],df['low'],df['close'],timeperiod=14)
# 做图
df[['PLUS_DI','close']].plot(subplots=True,figsize=(6, 4),title='PLUS_DI',grid=True)
plt.legend() # 设置图示
plt.show()
18. PLUS_DM-Plus Directional Movement
函数名:PLUS_DM
名称: 上升动向值 DMI中的DM代表正趋向变动值即上升动向值
简介:通过分析股票价格在涨跌过程中买卖双方力量均衡点的变化情况,即多空双方的力量的变化受价格波动的影响而发生由均衡到失衡的循环过程,从而提供对趋势判断依据的一种技术指标。
语法:
df['PLUS_DM'] = tlb.PLUS_DM(df['high'],df['low'],timeperiod=14)
# 做图
df[['PLUS_DM','close']].plot(subplots=True,figsize=(6, 4),title='PLUS_DM',grid=True)
plt.legend() # 设置图示
plt.show()
19. PPO-Percentage Price Oscillator
函数名:PPO
名称: 价格震荡百分比指数
简介:价格震荡百分比指标(PPO)是一个和MACD指标非常接近的指标。
PPO标准设定和MACD设定非常相似:12,26,9和PPO,和MACD一样说明了两条移动平均线的差距,但是它们有一个差别是PPO是用百分比说明。
语法:
real = PPO(close, fastperiod=12, slowperiod=26, matype=0)
df['PPO'] = tlb.PPO(df['close'], fastperiod=12, slowperiod=26, matype=0)
# 做图
df[['PPO','close']].plot(subplots=True,figsize=(6, 4),title='PPO',grid=True)
plt.legend() # 设置图示
plt.show()
20. ROC-Rate of change : ((price/prevPrice)-1)*100
函数名:ROC
名称: 变动率指标
简介:ROC是由当天的股价与一定的天数之前的某一天股价比较,其变动速度的大小,来反映股票市变动的快慢程度
语法:
real = ROC(close, timeperiod=10)
df['ROC'] = tlb.ROC(df['close'], timeperiod=10)
# 做图
df[['ROC','close']].plot(subplots=True,figsize=(6, 4),title='ROC',grid=True)
plt.legend() # 设置图示
plt.show()