talib安装方式:pip install Ta-lib
Tushare数据获取请参考:金融量化分析基础环境搭建
数据获取代码请参考:Talib技术因子详解(一)
36、STOCH - Stochastic KDJ指标中的KD指标,调用方式如下:
slowk, slowd = talib.STOCH(high, low, close, fastk_period, slowk_period)
K线是快速确认线——数值在90以上为超买,数值在10以下为超卖;D线是慢速主干线——数值在80以上为超买,数值在20以下为超卖。
37、STOCHF - Stochastic Fast,调用方式如下:
fastk, fastd = talib.STOCHF(high, low, close, fastk_period, fastd_period)
STOCHF指标是指FASTK 和 FASTD。 而KDJ由FASTK计算而得。J线反映了FASTK的快均线K相对与慢均线D的偏离程度。 它的值越大,说明价格冲得越高。 当它从高位反转时,说明此时的动量不足了。但时此时的价格不一定就会一直下落,如果接下来K线下行穿越D线,就可确认价格已经反转了。 这个特征可以作为股票的卖点。
38、STOCHRSI - Stochastic Relative Strength Index 随机强弱指数,调用方式如下:
fastk, fastd = talib.STOCHRSI(close, timeperiod, fastk_period, fastd_period)
39、TRIX - 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA,调用方式如下:
output = talib.TRIX(close, timeperiod)
TRIX指标是属于中长线技术指标,其最大的优点就是可以过滤短期波动的干扰,以避免频繁操作而带来的失误和损失。因此TRIX指标最适合于对行情的中长期走势的研判。在股市软件上TRIX指标有两条线,一条线为TRIX线,另一条线为TRMA线。TRIX指标的一般研判标准主要集中在TRIX线和TRMA线的交叉情况的考察上。
40、ULTOSC - Ultimate Oscillator 终极波动指标,调用方式如下:
output = talib. ULTOSC(high, low, close, timeperiod1, timeperiod2, timeperiod3)
uos短线抄底:uos上穿50;uos短线卖顶:uos下穿65;uos中长期抄底:uos上穿35;uos中长期卖顶:uos下穿70。
41、WILLR - Williams' %R 威廉指标,调用方式如下:
output = talib.WILLR(high, low, close, timeperiod)
当W&R高于80,即处于超卖状态,行情即将见底,应当考虑买进。当W&R低于20,即处于超买状态,行情即将见顶,应当考虑卖出。在W&R进入高位后,一般要回头,如果股价继续上升就产生了背离,是卖出信号。在W&R进入低位后,一般要反弹,如果股价继续下降就产生了背离。W&R连续几次撞顶(底),局部形成双重或多重顶(底),是卖出(买进)的信号。
42、AD - Chaikin A/D Line 量价指标,调用方式如下:
output = talib.AD(high, low, close, volume)
A/D测量资金流向,向上的A/D表明买方占优势,而向下的A/D表明卖方占优势;A/D与价格的背离可视为买卖信号,即底背离考虑买入,顶背离考虑卖出;应当注意A/D忽略了缺口的影响,事实上,跳空缺口的意义是不能轻易忽略的。
43、Chaikin A/D Oscillator Chaikin震荡指标,调用方式如下:
output = talib.ADOSC(high, low, close, volume, fastperiod, slowperiod)
将资金流动情况与价格行为相对比,检测市场中资金流入和流出的情况。交易信号是背离:看涨背离做多,看跌背离做空。股价与90天移动平均结合,与其他指标结合。由正变负卖出,由负变正买进。
44、On Balance Volume 能量潮指标,调用方式如下:
output = talib.OBV(close, volume)
以“N”字型为波动单位,一浪高于一浪称“上升潮”,下跌称“跌潮”;上升潮买进,跌潮卖出。须配合K线图走势。
45、ATR 名称:真实波动幅度均值,调用方式如下:
output = talib.ATR(high, low, close, timeperiod)
波动幅度的概念表示可以显示出交易者的期望和热情。大幅的或增加中的波动幅度表示交易者在当天可能准备持续买进或卖出股票。波动幅度的减少则表示交易者对股市没有太大的兴趣。
部分代码
#36、STOCH - Stochastic KDJ指标中的KD指标
#K线是快速确认线——数值在90以上为超买,数值在10以下为超卖;
#D线是慢速主干线——数值在80以上为超买,数值在20以下为超卖。
# slowk, slowd = tl.STOCH(high_price_arr, low_price_arr, close_price_arr, fastk_period=5, slowk_period=3, slowk_matype=0, slowd_period=3, slowd_matype=0)
# plt.plot(close_price_arr)
# plt.plot(slowk)
# plt.plot(slowd)
# plt.legend(['close', 'slowk', 'slowd'])
# plt.show()
#37、STOCHF - Stochastic Fast
# fastk, fastd = tl.STOCHF(high_price_arr, low_price_arr, close_price_arr, fastk_period=5, fastd_period=3, fastd_matype=0)
#38、STOCHRSI - Stochastic Relative Strength Index 随机强弱指数
# fastk, fastd = tl.STOCHRSI(close_price_arr, timeperiod=14, fastk_period=5, fastd_period=3, fastd_matype=0)
# plt.plot(close_price_arr)
# plt.plot(fastk)
# plt.plot(fastd)
# plt.legend(['close', 'fastk', 'fastd'])
# plt.show()
#39、TRIX - 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
#一条线为TRIX线,另一条线为TRMA线。
# output = tl.TRIX(close_price_arr, timeperiod=30)
#40、ULTOSC - Ultimate Oscillator 终极波动指标
#uos短线抄底:uos上穿50
#uos短线卖顶:uos下穿65
#uos中长期抄底:uos上穿35
#uos中长期卖顶:uos下穿70。
# output = tl. ULTOSC(high_price_arr, low_price_arr, close_price_arr, timeperiod1=7, timeperiod2=14, timeperiod3=28)
#41、WILLR - Williams' %R 威廉指标
#当W&R高于80,即处于超卖状态,行情即将见底,应当考虑买进。
#当W&R低于20,即处于超买状态,行情即将见顶,应当考虑卖出。
#在W&R进入高位后,一般要回头,如果股价继续上升就产生了背离,是卖出信号。
#在W&R进入低位后,一般要反弹,如果股价继续下降就产生了背离。
#W&R连续几次撞顶(底),局部形成双重或多重顶(底),是卖出(买进)的信号。
# output = tl.WILLR(high_price_arr, low_price_arr, close_price_arr, timeperiod=14)
#####################################
#Volume Indicators 成交量指标https://www.jianshu.com/p/04a0cbd43975
#42、AD - Chaikin A/D Line 量价指标
#1、A/D测量资金流向,向上的A/D表明买方占优势,而向下的A/D表明卖方占优势
#2、A/D与价格的背离可视为买卖信号,即底背离考虑买入,顶背离考虑卖出
#3、应当注意A/D忽略了缺口的影响,事实上,跳空缺口的意义是不能轻易忽略的
# output = tl.AD(high_price_arr, low_price_arr, close_price_arr, volume_arr)
#43、Chaikin A/D Oscillator Chaikin震荡指标
#将资金流动情况与价格行为相对比,检测市场中资金流入和流出的情况
#交易信号是背离:看涨背离做多,看跌背离做空
#股价与90天移动平均结合,与其他指标结合
#由正变负卖出,由负变正买进
# output = tl.ADOSC(high_price_arr, low_price_arr, close_price_arr, volume_arr, fastperiod=3, slowperiod=10)
#44、On Balance Volume 能量潮
#以“N”字型为波动单位,一浪高于一浪称“上升潮”,下跌称“跌潮”;上升潮买进,跌潮卖出
#须配合K线图走势
#用多空比率净额法进行修正,但不知TA-Lib采用哪种方法
# output = tl.OBV(close_price_arr, volume_arr)
#VVolatility Indicator Functions 波动率指标函数https://www.jianshu.com/p/df37741c8a68
#45、ATR 名称:真实波动幅度均值
#波动幅度的概念表示可以显示出交易者的期望和热情。
#大幅的或增加中的波动幅度表示交易者在当天可能准备持续买进或卖出股票。
#波动幅度的减少则表示交易者对股市没有太大的兴趣。
output = tl.ATR(high_price_arr, low_price_arr, close_price_arr, timeperiod=14)
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.plot(close_price_arr, 'b')
ax2.plot(output, 'r')
ax1.set_ylabel('close', color='b')
ax2.set_ylabel('output', color='r')
plt.show()
完整代码请结合:Talib技术因子详解(一)