一、 Talib
注:每部分结尾都有该部分所有指标整理
1.1 Overlap Studies(重叠指标)
1.1.1 移动平均线
移动平均线是技术分析理论中应用最普遍的指标之一,主要用于确认、跟踪和判断趋势,提示买入和卖出信号,在单边市场行情中可以较好的把握市场机会和规避风险。但是,移动平均线一般要与其他的技术指标或基本面相结合来使用,特别是当市场处于盘整行情时,其买入卖出信号会频繁出现,容易失真。
通用函数名:MA
代码:ta.MA(close,timeperiod=30,matype=0)
close为收盘价,时间序列,timeperiod为时间段,默认30天,指标类型matype分别对应:0=SMA, 1=EMA, 2=WMA, 3=DEMA, 4=TEMA, 5=TRIMA, 6=KAMA, 7=MAMA, 8=T3 (Default=SMA)
1.1.2 布林带
布林带(Bollinger Band),由压力线、支撑线价格平均线组成,一般情况价格线在压力线和支撑线组成的上下区间中游走,区间位置会随着价格的变化而自动调整。布林线的理论使用原则是:当股价穿越最外面的压力线(支撑线)时,表示卖点(买点)出现。当股价延着压力线(支撑线)上升(下降)运行,虽然股价并未穿越,但若回头突破第二条线即是卖点或买点。在实际应用中,布林线有其滞后性,相对于其他技术指标在判断行情反转时参考价值较低,但在判断盘整行情终结节点上成功率较高
计算方法:首先计出过去 N 日收巿价的标准差 SD(Standard Deviation) ,通常再乘 2 得出 2 倍标准差, Up 线为 N日平均线加 2 倍标准差, Down 线则为 N日平均线减 2 倍标准差。
代码:ta.BBANDS(close, timeperiod=5, nbdevup=2, nbdevdn=2, matype=0)
1.1.3 其他指标
BBANDS布林线指标
统计原理,求出股价的标准差及其信赖区间,从而确定股价的波动范围及未来走势,利用波带显示股价的安全高低价位,因而也被称为布林带。
upperband, middleband, lowerband = BBANDS(df.close, timeperiod=5, nbdevup=2, nbdevdn=2, matype=0)
DEMA双移动平均线
两条移动平均线来产生趋势信号,较长期者用来识别趋势,较短期者用来选择时机。正是两条平均线及价格三者的相互作用,才共同产生了趋势信号
real = DEMA(df.close, timeperiod=30)
EMA指数平均数
趋向类指标,其构造原理是仍然对价格收盘价进行算术平均,并根据计算结果来进行分析,用于判断价格未来走势的变动趋势
real = EMA(df.close, timeperiod=30)
HT_TRENDLINE希尔伯特瞬时变换
趋向类指标,其构造原理是仍然对价格收盘价进行算术平均,并根据计算结果来进行分析,用于判断价格未来走势的变动趋势。
real = HT_TRENDLINE(df.close)
KAMA考夫曼的自适应移动平均线
当价格沿一个方向快速移动时,短期的移动平均线是最合适的;当价格在横盘的过程中,长期移动平均线是合适的。
real = KAMA(df.close, timeperiod=30)
MA移动平均线
将某一段时间的收盘价之和除以该周期。 比如日线MA5指5天内的收盘价除以5 。
real = MA(df.close, timeperiod=30, matype=0)
MAMA自适应移动平均线
该功能的周期不稳定。
mama, fama = MAMA(df.close, fastlimit=0, slowlimit=0)
MAVP - 移动平均变动期
real = MAVP(df.close, periods, minperiod=2, maxperiod=30, matype=0)
MIDPOINT - 中期点
real = MIDPOINT(df.close, timeperiod=14)
MIDPRICE - 中期价格
real = MIDPRICE(df.high, df.low, timeperiod=14)
SAR抛物线指标
停损点转向,利用抛物线方式,随时调整停损点位置以观察买卖点。 由于停损点(又称转向点SAR)以弧形的方式移动,故称之为抛物线转向指标 。
real = SAR(df.high, df.low, acceleration=0, maximum=0)
SAREXT 抛物面SAR扩展
real = SAREXT(df.high, df.low, startvalue=0, offsetonreverse=0, accelerationinitlong=0, accelerationlong=0, accelerationmaxlong=0, accelerationinitshort=0, accelerationshort=0, accelerationmaxshort=0)
SMA移动平均线(与MA无区别)
real = SMA(df.close, timeperiod=30)
T3三重指数移动平均线
TRIX长线操作时采用本指标的讯号,长时间按照本指标讯号交易,获利百分比大于损失百分比,利润相当可观。
real = T3(df.close, timeperiod=5, vfactor=0)
TEMA三重指数移动平均线(与T3无区别)
real = TEMA(df.close, timeperiod=30)
TRIMA - 三角移动平均线
real = TRIMA(df.close, timeperiod=30)
WMA移动加权平均法
以每次进货的成本加上原有库存存货的成本,除以每次进货数量与原有库存存货的数量之和,据以计算加权平均单位成本,以此为基础计算当月发出存货的成本和期末存货的成本的一种方法
real = WMA(df.close, timeperiod=30)
1.2 Momentum Indicators(动量指标)
ADX平均趋向指数
real = ADX(df.high, df.low, df.close, timeperiod=14)
ADXR平均趋向指数的趋向指数
使用ADXR指标,判断ADX趋势。
real = ADXR(df.high, df.low, df.close, timeperiod=14)
APO - 绝对价格振荡器
real = APO(df.close, fastperiod=12, slowperiod=26, matype=0)
AROON阿隆指标
通过计算自价格达到近期最高值和最低值以来所经过的期间数,阿隆指标帮助你预测价格趋势到趋势区域(或者反过来,从趋势区域到趋势)的变化。
aroondown, aroonup = AROON(df.high, df.low, timeperiod=14)
AROONOSC阿隆振荡
real = AROONOSC(df.high, df.low, timeperiod=14)
BOP均势指标
real = BOP(df.open, df.high, df.low, df.close)
CCI顺势指标
测量股价是否已超出常态分布范围
real = CCI(df.high, df.low, df.close, timeperiod=14)
CMO钱德动量摆动指标
计算公式的分子中采用上涨日和下跌日的数据。
real = CMO(df.close, timeperiod=14)
DX动向指标或趋向指标
分析股票价格在涨跌过程中买卖双方力量均衡点的变化情况,即多空双方的力量的变化受价格波动的影响而发生由均衡到失衡的循环过程,从而提供对趋势判断依据的一种技术指标。
real = DX(df.high, df.low, df.close, timeperiod=14)
MACD平滑异同移动平均线
利用收盘价的短期(常用为12日)指数移动平均线与长期(常用为26日)指数移动平均线之间的聚合与分离状况,对买进、卖出时机作出研判的技术指标。
macd, macdsignal, macdhist = MACD(df.close, fastperiod=12, slowperiod=26, signalperiod=9)
MACDEXT - 具有可控MA类型的MACD
macd, macdsignal, macdhist = MACDEXT(df.close, fastperiod=12, fastmatype=0, slowperiod=26, slowmatype=0, signalperiod=9, signalmatype=0)
MACDFIX - 移动平均收敛/发散修正
macd, macdsignal, macdhist = MACDFIX(df.close, signalperiod=9)
MFI资金流量指标
属于量价类指标,反映市场的运行趋势
real = MFI(df.high, df.low, df.close, df.volume, timeperiod=14)
MINUS_DI下升动向值(与DX相似)
分析股票价格在涨跌过程中买卖双方力量均衡点的变化情况,即多空双方的力量的变化受价格波动的影响而发生由均衡到失衡的循环过程,从而提供对趋势判断依据的一种技术指标。
real = MINUS_DI(df.high, df.low, df.close, timeperiod=14)
MINUS_DM上升动向值(与DX相似)
分析股票价格在涨跌过程中买卖双方力量均衡点的变化情况,即多空双方的力量的变化受价格波动的影响而发生由均衡到失衡的循环过程,从而提供对趋势判断依据的一种技术指标。
real = MINUS_DM(df.high, df.low, timeperiod=14)
MOM上升动向值
指股票(或经济指数)持续增长的能力。赢家组合在牛市中存在着正的动量效应,输家组合在熊市中存在着负的动量效应。
real = MOM(df.close, timeperiod=10)
PLUS_DI - Plus方向指示器
real = PLUS_DI(df.high, df.low, df.close, timeperiod=14)
PLUS_DM - Plus定向运动
real = PLUS_DM(df.high, df.low, timeperiod=14)
PPO价格震荡百分比指数(与MACD相似)
real = PPO(df.close, fastperiod=12, slowperiod=26, matype=0)
ROC变动率指标
由当天的股价与一定的天数之前的某一天股价比较,其变动速度的大小,来反映股票市变动的快慢程度
real = ROC(df.close, timeperiod=10)
ROCP - 变化率百分比
real = ROCP(df.close, timeperiod=10)
ROCR - 变化率比率
real = ROCR(df.close, timeperiod=10)
ROCR100 - 变化率100比例
real = ROCR100(df.close, timeperiod=10)
RSI相对强弱指数
比较一段时期内的平均收盘涨数和平均收盘跌数来分析市场买沽盘的意向和实力,从而作出未来市场的走势。
real = RSI(df.close, timeperiod=14)
STOCH - Stochastic KDJ指标中的KD指标
slowk, slowd = STOCH(df.high, df.low, df.close, fastk_period=5, slowk_period=3, slowk_matype=0, slowd_period=3, slowd_matype=0)
STOCHF - 随机快速
fastk, fastd = STOCHF(df.high, df.low, df.close, fastk_period=5, fastd_period=3, fastd_matype=0)
STOCHRSI - 随机相对强弱指数
fastk, fastd = STOCHRSI(df.close, timeperiod=14, fastk_period=5, fastd_period=3, fastd_matype=0)
TRIX - 三次平滑EMA的1天变化率(与ROC相似)
real = TRIX(df.close, timeperiod=30)
ULTOSC终极波动指标
一种多方位功能的指标,除了趋势确认及超买超卖方面的作用之外,它的“突破”讯号不仅可以提供最适当的交易时机之外,更可以进一步加强指标的可靠度。
real = ULTOSC(df.high, df.low, df.close, timeperiod1=7, timeperiod2=14, timeperiod3=28)
WILLR威廉指标
市场处于超买还是超卖状态。股票投资分析方法主要有如下三种:基本分析、技术分析、演化分析。在实际应用中,它们既相互联系,又有重要区别。
real = WILLR(df.high, df.low, df.close, timeperiod=14)
1.3 Volume Indicators(交易量指标)
AD累积/派发线
平衡交易量指标,以当日的收盘价位来估算成交流量,用于估定一段时间内该证券累积的资金流量。
real = AD(df.high, df.low, df.close, volume)
ADOSC震荡指标
将资金流动情况与价格行为相对比,检测市场中资金流入和流出的情况
real = ADOSC(df.high, df.low, df.close, df.volume, fastperiod=3, slowperiod=10)
OBV能量潮
通过统计成交量变动的趋势推测股价趋势
real = OBV(df.close, df.volume)
1.4 Cycle Indicators(周期指标)
希尔伯特变换(Hilbert Transform)是积分变换中的一种,在信号处理领域得到了广泛的应用,而在工程中常用于窄带数字信号的处理。金融市场的波动是非周期、不规律的,但只要存在波动,就可以通过希尔伯特变换寻找其“周期性”。对于股价走势,一般可将其分解为:长期趋势、中短期周期性波动和噪声。在去除长期趋势的情况下,可以利用希尔伯特变换对中短期的周期性波动进行分析。关于希尔伯特变换原理及其在短线择时中的应用可参考广发证券金融工程专题报告《希尔伯特变换下的短线择时策略》(公众号Python金融量化后台回复:“希尔伯特”,获取免费下载地址)
HT_DCPERIOD希尔伯特变换-主导周期
将价格作为信息信号,计算价格处在的周期的位置,作为择时的依据。
real = HT_DCPERIOD(df.close)
HT_DCPHASE希尔伯特变换-主导循环阶段
real = HT_DCPHASE(df.close)
HT_ PHASOR希尔伯特变换-希尔伯特变换相量分量
inphase, quadrature = HT_PHASOR(df.close)
HT_ SINE希尔伯特变换-正弦波
sine, leadsine = HT_SINE(df.close)
HT_ TRENDMODE希尔伯特变换-趋势与周期模式
integer = HT_TRENDMODE(df.close)
1.5 Price Transform(价格变换)
TA-Lib模块中提供的价格转换函数有四个,主要用于计算开盘价、收盘价、最高价、最低价之间的均值
AVGPRICE平均价格函数
real = AVGPRICE(df.open, df.high, df.low, df.close)
MEDPRICE中位数价格
real = MEDPRICE(df.high, df.low)
TYPPRICE代表性价格
real = TYPPRICE(df.high, df.low, df.close)
WCLPRICE加权收盘价
real = WCLPRICE(df.high, df.low, df.close)
1.6 Volatility Indicators(波动率指标)
当前交易日最高价与最低价差值,前一交易日收盘价与当前交易日最高价间的差值,前一交易日收盘价与当前交易日最低价的差值,这三者中的最大值为真实波幅。即真实波动幅度 = max(最大值,昨日收盘价) − min(最小值,昨日收盘价),平均真实波动幅度等于真实波动幅度的N日指数移动平均数。波动幅度可以显示出交易者的期望和热情。波动幅度的急剧增加表示交易者在当天可能准备持续买进或卖出股票,波动幅度的减少则表示交易者对股市没有太大的兴趣。波动率指标可用于衡量价格的波动情况,辅助判断趋势改变的可能性,市场的交易氛围,也可以利用波动性指标来帮助止损止盈。
ATR真实波动幅度均值
以 N 天的指数移动平均数平均後的交易波动幅度。
real = ATR(df.high, df.low, df.close, timeperiod=14)
NATR归一化波动幅度均值
real = NATR(df.high, df.low, df.close, timeperiod=14)
TRANGE真正的范围
real = TRANGE(df.high, df.low, df.close)
1.7 Pattern Recognition(模式识别)
CDL2CROWS两只乌鸦
三日K线模式,第一天长阳,第二天高开收阴,第三天再次高开继续收阴,收盘比前一日收盘价低,预示股价下跌。
integer = CDL2CROWS(df.open, df.high, df.low, df.close)
CDL3BLACKCROWS三只乌鸦
三日K线模式,连续三根阴线,每日收盘价都下跌且接近最低价,每日开盘价都在上根K线实体内,预示股价下跌。
integer = CDL3BLACKCROWS(df.open, df.high, df.low, df.close)
CDL3INSIDE三内部上涨和下跌
三日K线模式,母子信号+长K线,以三内部上涨为例,K线为阴阳阳,第三天收盘价高于第一天开盘价,第二天K线在第一天K线内部,预示着股价上涨。
integer = CDL3INSIDE(df.open, df.high, df.low, df.close)
CDL3LINESTRIKE三线打击
四日K线模式,前三根阳线,每日收盘价都比前一日高,开盘价在前一日实体内,第四日市场高开,收盘价低于第一日开盘价,预示股价下跌。
integer = CDL3LINESTRIKE(df.open, df.high, df.low, df.close)
CDL3OUTSIDE三外部上涨和下跌
三日K线模式,与三内部上涨和下跌类似,K线为阴阳阳,但第一日与第二日的K线形态相反,以三外部上涨为例,第一日K线在第二日K线内部,预示着股价上涨。
integer = CDL3OUTSIDE(df.open, df.high, df.low, df.close)
CDL3STARSINSOUTH南方三星
三日K线模式,与大敌当前相反,三日K线皆阴,第一日有长下影线,第二日与第一日类似,K线整体小于第一日,第三日无下影线实体信号,成交价格都在第一日振幅之内,预示下跌趋势反转,股价上升
integer = CDL3STARSINSOUTH(df.open, df.high, df.low, df.close)
CDL3WHITESOLDIERS三个白兵
三日K线模式,三日K线皆阳,每日收盘价变高且接近最高价,开盘价在前一日实体上半部,预示股价上升。
integer = CDL3WHITESOLDIERS(df.open, df.high, df.low, df.close)
CDLABANDONEDBABY弃婴
三日K线模式,第二日价格跳空且收十字星(开盘价与收盘价接近,最高价最低价相差不大),预示趋势反转,发生在顶部下跌,底部上涨。
integer = CDLABANDONEDBABY(df.open, df.high, df.low, df.close, penetration=0)
CDLADVANCEBLOCK 大敌当前
三日K线模式,三日都收阳,每日收盘价都比前一日高,开盘价都在前一日实体以内,实体变短,上影线变长。
integer = CDLADVANCEBLOCK(df.open, df.high, df.low, df.close)
CDLBELTHOLD捉腰带线
两日K线模式,下跌趋势中,第一日阴线,第二日开盘价为最低价,阳线,收盘价接近最高价,预示价格上涨。
integer = CDLBELTHOLD(df.open, df.high, df.low, df.close)
CDLBREAKAWAY脱离
五日K线模式,以看涨脱离为例,下跌趋势中,第一日长阴线,第二日跳空阴线,延续趋势开始震荡,第五日长阳线,收盘价在第一天收盘价与第二天开盘价之间,预示价格上涨
integer = CDLBREAKAWAY(df.open, df.high, df.low, df.close)
CDLCLOSINGMARUBOZU收盘缺影线
一日K线模式,以阳线为例,最低价低于开盘价,收盘价等于最高价,预示着趋势持续
integer = CDLCLOSINGMARUBOZU(df.open, df.high, df.low, df.close)
CDLCONCEALBABYSWALL藏婴吞没
四日K线模式,下跌趋势中,前两日阴线无影线,第二日开盘、收盘价皆低于第二日,第三日倒锤头,第四日开盘价高于前一日最高价,收盘价低于前一日最低价,预示着底部反转。
integer = CDLCONCEALBABYSWALL(df.open, df.high, df.low, df.close)
CDLCOUNTERATTACK反击线
二日K线模式,与分离线类似。
integer = CDLCOUNTERATTACK(df.open, df.high, df.low, df.close)
CDLDARKCLOUDCOVER乌云压顶
二日K线模式,第一日长阳,第二日开盘价高于前一日最高价,收盘价处于前一日实体中部以下,预示着股价下跌。
integer = CDLDARKCLOUDCOVER(df.open, df.high, df.low, df.close, penetration=0)
CDLDOJI十字
一日K线模式,开盘价与收盘价基本相同。
integer = CDLDOJI(df.open, df.high, df.low, df.close)
CDLDOJISTAR十字星
一日K线模式,开盘价与收盘价基本相同,上下影线不会很长,预示着当前趋势反转
integer = CDLDOJISTAR(df.open, df.high, df.low, df.close)
CDLDRAGONFLYDOJI蜻蜓十字/T形十字
一日K线模式,开盘后价格一路走低,之后收复,收盘价与开盘价相同,预示趋势反转
integer = CDLDRAGONFLYDOJI(df.open, df.high, df.low, df.close)
CDLENGULFING吞噬模式
两日K线模式,分多头吞噬和空头吞噬,以多头吞噬为例,第一日为阴线,第二日阳线,第一日的开盘价和收盘价在第二日开盘价收盘价之内,但不能完全相同。
integer = CDLENGULFING(df.open, df.high, df.low, df.close)
CDLEVENINGDOJISTAR十字暮星
三日K线模式,基本模式为暮星,第二日收盘价和开盘价相同,预示顶部反转
integer = CDLEVENINGDOJISTAR(df.open, df.high, df.low, df.close, penetration=0)
CDLEVENINGSTAR暮星
三日K线模式,与晨星相反,上升趋势中,第一日阳线,第二日价格振幅较小,第三日阴线,预示顶部反转。
integer = CDLEVENINGSTAR(df.open, df.high, df.low, df.close, penetration=0)
CDLGAPSIDESIDEWHITE向上/下跳空并列阳线
二日K线模式,上升趋势向上跳空,下跌趋势向下跳空,第一日与第二日有相同开盘价,实体长度差不多,则趋势持续。
integer = CDLGAPSIDESIDEWHITE(df.open, df.high, df.low, df.close)
CDLGRAVESTONEDOJI墓碑十字/倒T十字
一日K线模式,开盘价与收盘价相同,上影线长,无下影线,预示底部反转
integer = CDLGRAVESTONEDOJI(df.open, df.high, df.low, df.close)
CDLHAMMER锤头
一日K线模式,实体较短,无上影线,下影线大于实体长度两倍,处于下跌趋势底部,预示反转。
integer = CDLHAMMER(df.open, df.high, df.low, df.close)
CDLHANGINGMAN上吊线
一日K线模式,形状与锤子类似,处于上升趋势的顶部,预示着趋势反转
integer = CDLHANGINGMAN(df.open, df.high, df.low, df.close)
CDLHARAMI母子线
二日K线模式,分多头母子与空头母子,两者相反,以多头母子为例,在下跌趋势中,第一日K线长阴,第二日开盘价收盘价在第一日价格振幅之内,为阳线,预示趋势反转,股价上升。
integer = CDLHARAMI(df.open, df.high, df.low, df.close)
CDLHARAMICROSS十字孕线
二日K线模式,与母子县类似,若第二日K线是十字线,便称为十字孕线,预示着趋势反转。
integer = CDLHARAMICROSS(df.open, df.high, df.low, df.close)
CDLHIGHWAVE风高浪大线
三日K线模式,具有极长的上/下影线与短的实体,预示着趋势反转。
integer = CDLHIGHWAVE(df.open, df.high, df.low, df.close)
CDLHIKKAKE陷阱
三日K线模式,与母子类似,第二日价格在前一日实体范围内,第三日收盘价高于前两日,反转失败,趋势继续。
integer = CDLHIKKAKE(df.open, df.high, df.low, df.close)
CDLHIKKAKEMOD修正陷阱
三日K线模式,与陷阱类似,上升趋势中,第三日跳空高开;下跌趋势中,第三日跳空低开,反转失败,趋势继续。
integer = CDLHIKKAKEMOD(df.open, df.high, df.low, df.close)
CDLHOMINGPIGEON家鸽
二日K线模式,与母子线类似,不同的的是二日K线颜色相同,第二日最高价、最低价都在第一日实体之内,预示着趋势反转。
integer = CDLHOMINGPIGEON(df.open, df.high, df.low, df.close)
CDLIDENTICAL3CROWS三胞胎乌鸦
三日K线模式,上涨趋势中,三日都为阴线,长度大致相等,每日开盘价等于前一日收盘价,收盘价接近当日最低价,预示价格下跌。
integer = CDLIDENTICAL3CROWS(df.open, df.high, df.low, df.close)
CDLINNECK颈内线
二日K线模式,下跌趋势中,第一日长阴线,第二日开盘价较低,收盘价略高于第一日收盘价,阳线,实体较短,预示着下跌继续。
integer = CDLINNECK(df.open, df.high, df.low, df.close)
CDLINVERTEDHAMMER倒锤头
一日K线模式,上影线较长,长度为实体2倍以上,无下影线,在下跌趋势底部,预示着趋势反转。
integer = CDLINVERTEDHAMMER(df.open, df.high, df.low, df.close)
CDLKICKING反冲形态
二日K线模式,与分离线类似,两日K线为秃线,颜色相反,存在跳空缺口。
integer = CDLKICKING(df.open, df.high, df.low, df.close)
CDLKICKINGBYLENGTH由较长缺影线决定的反冲形态
二日K线模式,与反冲形态类似,较长缺影线决定价格的涨跌。
integer = CDLKICKINGBYLENGTH(df.open, df.high, df.low, df.close)
CDLLADDERBOTTOM梯底
五日K线模式,下跌趋势中,前三日阴线,开盘价与收盘价皆低于前一日开盘、收盘价,第四日倒锤头,第五日开盘价高于前一日开盘价,阳线,收盘价高于前几日价格振幅,预示着底部反转。
integer = CDLLADDERBOTTOM(df.open, df.high, df.low, df.close)
CDLLONGLEGGEDDOJI长脚十字
一日K线模式,开盘价与收盘价相同居当日价格中部,上下影线长,表达市场不确定性
integer = CDLLONGLEGGEDDOJI(df.open, df.high, df.low, df.close)
CDLLONGLINE长蜡烛
一日K线模式,K线实体长,无上下影线。
integer = CDLLONGLINE(df.open, df.high, df.low, df.close)
CDLMARUBOZU光头光脚/缺影线
一日K线模式,上下两头都没有影线的实体,阴线预示着熊市持续或者牛市反转,阳线相反。
integer = CDLMARUBOZU(df.open, df.high, df.low, df.close)
CDLMATCHINGLOW相同低价
二日K线模式,下跌趋势中,第一日长阴线,第二日阴线,收盘价与前一日相同,预示底部确认,该价格为支撑位。
integer = CDLMATCHINGLOW(df.open, df.high, df.low, df.close)
CDLMATHOLD铺垫
五日K线模式,上涨趋势中,第一日阳线,第二日跳空高开影线,第三、四日短实体影线,第五日阳线,收盘价高于前四日,预示趋势持续。
integer = CDLMATHOLD(df.open, df.high, df.low, df.close, penetration=0)
CDLMORNINGDOJISTAR十字晨星
三日K线模式,基本模式为晨星,第二日K线为十字星,预示底部反
integer = CDLMORNINGDOJISTAR(df.open, df.high, df.low, df.close, penetration=0)
CDLMORNINGSTAR晨星
三日K线模式,下跌趋势,第一日阴线,第二日价格振幅较小,第三天阳线,预示底部反转。
integer = CDLMORNINGSTAR(df.open, df.high, df.low, df.close, penetration=0)
CDLONNECK颈上线
二日K线模式,下跌趋势中,第一日长阴线,第二日开盘价较低,收盘价与前一日最低价相同,阳线,实体较短,预示着延续下跌趋势。
integer = CDLONNECK(df.open, df.high, df.low, df.close)
CDLPIERCING刺透形态
两日K线模式,下跌趋势中,第一日阴线,第二日收盘价低于前一日最低价,收盘价处在第一日实体上部,预示着底部反转。
integer = CDLPIERCING(df.open, df.high, df.low, df.close)
CDLRICKSHAWMAN黄包车夫
一日K线模式,与长腿十字线类似,若实体正好处于价格振幅中点,称为黄包车夫
integer = CDLRICKSHAWMAN(df.open, df.high, df.low, df.close)
CDLRISEFALL3METHODS上升/下降三法
五日K线模式,以上升三法为例,上涨趋势中,第一日长阳线,中间三日价格在第一日范围内小幅震荡,第五日长阳线,收盘价高于第一日收盘价,预示股价上升
integer = CDLRISEFALL3METHODS(df.open, df.high, df.low, df.close)
CDLSEPARATINGLINES分离线
二日K线模式,上涨趋势中,第一日阴线,第二日阳线,第二日开盘价与第一日相同且为最低价,预示着趋势继续。
integer = CDLSEPARATINGLINES(df.open, df.high, df.low, df.close)
CDLSHOOTINGSTAR射击之星
一日K线模式,上影线至少为实体长度两倍,没有下影线,预示着股价下跌
integer = CDLSHOOTINGSTAR(df.open, df.high, df.low, df.close)
CDLSHORTLINE短蜡烛
一日K线模式,实体短,无上下影线
integer = CDLSHORTLINE(df.open, df.high, df.low, df.close)
CDLSPINNINGTOP纺锤
一日K线,实体小。
integer = CDLSPINNINGTOP(df.open, df.high, df.low, df.close)
CDLSTALLEDPATTERN停顿形态
三日K线模式,上涨趋势中,第二日长阳线,第三日开盘于前一日收盘价附近,短阳线,预示着上涨结束
integer = CDLSTALLEDPATTERN(df.open, df.high, df.low, df.close)
CDLSTICKSANDWICH条形三明治
三日K线模式,第一日长阴线,第二日阳线,开盘价高于前一日收盘价,第三日开盘价高于前两日最高价,收盘价于第一日收盘价相同
integer = CDLSTICKSANDWICH(df.open, df.high, df.low, df.close)
CDLTAKURI探水竿
一日K线模式,大致与蜻蜓十字相同,下影线长度长。
integer = CDLTAKURI(df.open, df.high, df.low, df.close)
CDLTASUKIGAP跳空并列阴阳线
三日K线模式,分上涨和下跌,以上升为例,前两日阳线,第二日跳空,第三日阴线,收盘价于缺口中,上升趋势持续。
integer = CDLTASUKIGAP(df.open, df.high, df.low, df.close)
CDLTHRUSTING插入
二日K线模式,与颈上线类似,下跌趋势中,第一日长阴线,第二日开盘价跳空,收盘价略低于前一日实体中部,与颈上线相比实体较长,预示着趋势持续。
integer = CDLTHRUSTING(df.open, df.high, df.low, df.close)
CDLTRISTAR三星
三日K线模式,由三个十字组成,第二日十字必须高于或者低于第一日和第三日,预示着反转。
integer = CDLTRISTAR(df.open, df.high, df.low, df.close)
CDLUNIQUE3RIVER奇特三河床
三日K线模式,下跌趋势中,第一日长阴线,第二日为锤头,最低价创新低,第三日开盘价低于第二日收盘价,收阳线,收盘价不高于第二日收盘价,预示着反转,第二日下影线越长可能性越大。
integer = CDLUNIQUE3RIVER(df.open, df.high, df.low, df.close)
CDLUPSIDEGAP2CROWS向上跳空的两只乌鸦
三日K线模式,第一日阳线,第二日跳空以高于第一日最高价开盘,收阴线,第三日开盘价高于第二日,收阴线,与第一日比仍有缺口。
integer = CDLUPSIDEGAP2CROWS(df.open, df.high, df.low, df.close)
CDLXSIDEGAP3METHODS上升/下降跳空三法
五日K线模式,以上升跳空三法为例,上涨趋势中,第一日长阳线,第二日短阳线,第三日跳空阳线,第四日阴线,开盘价与收盘价于前两日实体内,第五日长阳线,收盘价高于第一日收盘价,预示股价上升。
integer = CDLXSIDEGAP3METHODS(df.open, df.high, df.low, df.close)
1.8 Statistic Functions(统计函数)
TA-Lib提供了常用的基础统计学函数,基于时间序列移动窗口进行计算。注意TA-Lib的beta,示例中是求某只股票的最高价与最低价序列的移动beta值,默认时间周期为5日,而资本资产定价中一般是分析某只股票相对于市场(大盘指数)的波动情况。具体指标如下表所示
BETA
real = BETA(df.high, df.low, timeperiod=5)
CORREL
real = CORREL(df.high, df.low, timeperiod=30)
LINEARREG
real = LINEARREG(df.close, timeperiod=14)
LINEARREG_ANGLE
real = LINEARREG_ANGLE(df.close, timeperiod=14)
LINEARREG_INTERCEPT
real = LINEARREG_INTERCEPT(df.close, timeperiod=14)
LINEARREG_SLOPE
real = LINEARREG_SLOPE(df.close, timeperiod=14)
STDDEV
real = STDDEV(df.close, timeperiod=5, nbdev=1)
TSF
real = TSF(df.close, timeperiod=14)
VAR
real = VAR(df.close, timeperiod=5, nbdev=1)
1.9 Math Transform(数学变换)
TA-Lib提供了三角函数(正余弦、正余切、双曲)、取整、对数、平方根等数学转换函数,均是基于时间序列的向量变换。三角函数的应用比较复杂,可结合傅里叶变换和小波分析进行学习,此处不再详细展开。具体指标如下表所示。
ACOS反余弦
ACOS(df.close)
ASIN反正弦
ASIN(df.close)
ASIN反正切
ATAN(df.close)
CEIL向上取整数
CEIL(df.close)
COS余弦函数
COS(df.close)
COSH双曲正弦函数
COSH(df.close)
EXP指数曲线
EXP(df.close)
FLOOR向下取整数
FLOOR(df.close)
LN自然对数
LN(df.close)
LOG10对数函数log
LOG10(df.close)
SIN正弦函数
SIN(df.close)
SINH双曲正弦函数
SINH(df.close)
SQRT非负实数的平方根
SQRT(df.close)
TAN正切函数
TAN(df.close)
TANH双曲正切函数
TANH(df.close)
1.10 Math Operators(数学运算)
TA-Lib提供了向量(数组)的加减乘除、在某个周期内求和、最大最小值及其索引等计算函数,注意与Numpy和Pandas数学运算函数的联系与区别,TA-Lib的向量计算功能类似于pandas的moving window(移动窗口),得到的是一个新的序列(不是某个值),具体如下表所示。
ADD向量加法运算
real = ADD(df.high, df.low)
DIV向量除法运算
real = DIV(df.high, df.low)
MAX周期内最大值
real = MAX(df.close, timeperiod=30)
MAXINDEX周期内最大值的索引
integer = MAXINDEX(df.close, timeperiod=30)
MIN周期内最小值
real = MIN(df.close, timeperiod=30)
MININDEX周期内最小值的索引
integer = MININDEX(df.close, timeperiod=30)
MINMAX周期内最小值和最大值
min, max = MINMAX(df.close, timeperiod=30)
MINMAX周期内最小值和最大值索引
minidx, maxidx = MINMAXINDEX(df.close, timeperiod=30)
MULT向量乘法运算
MULT(df.high, df.low)
SUB向量减法运算
SUB(df.high, df.low)
SUM周期内求和
real = SUM(df.close, timeperiod=30)