Python量化交易进阶讲堂:TA-Lib库量价指标分析

2020-04-0420:04:51后端程序开发Comments2,744 views字数 2381阅读模式

介绍下Volume Indicators——成交量指标。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

成交量指当日成交的股票总手数(1手=100股),它能够真实地反映市场的内在动能,将量和价的变化相结合分析有助于掌握价格走势本质上的强弱度,比如通常所说的量价背离就是确认趋势反转的可靠线索。因此,成交量指标是交易决策时的重要依据,也是各种技术指标分析时不可或缺的参照。 TA-Lib的成交量指标主要包括'AD', 'ADOSC', 'OBV'这三个指标,如下所示:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

print(talib.get_function_groups()['Volume Indicators']) # ['AD', 'ADOSC', 'OBV']
复制代码

接下来我们分别介绍如何使用TA-Lib实现这三个指标。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

AD - Chaikin A/D Line文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

Chaikin Accumulation/Distribution Line由Marc Chaikin提出,计算公式为:AD=前一日AD值+(CLV*成交量)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

CLV = ((Close-Low)-(High-Close))/( High - Low)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

从公式中可知,它以当日收盘价与最高价、最低价的关系来估算一段时间内股票累积的成交量,以此分析多空双方力量的变化,能够有效地寻找突破的趋势或者提前预测反转。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

TA-Lib提供AD指标的调用接口为:real = AD(high, low, close, volume)。我们用例程来了解下具体的实现,如下所示:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html


# 计算AD线
AD = talib.AD(df_stock.High, df_stock.Low, df_stock.Close, df_stock.Volume)
df_AD = pd.DataFrame(AD, index=df_stock.index, columns=['AD'])
df_AD.loc['2018-01-01':'2019-01-01'].plot(figsize=(16, 6))
plt.show()

复制代码
Python量化交易进阶讲堂:TA-Lib库量价指标分析

在实际应用时的判断依据为:当A/D线在上升时说明多方占优势,交易者在收集该股票;当A/D线在下降时,说明空方占优势,交易者在派发该股票。如果A/D线上升的同时,价格也在上升,则说明上升趋势被确认,产生买入信号;如果A/D线下降的同时,价格也在下降,则说明下降趋势被确认,产生卖出信号;如果A/D线下降的同时,价格在上升,二者产生背离,说明价格的上升趋势减弱,有可能反转下跌;如果A/D线上升的同时,价格在下降,二者产生背离,说明价格的下降趋势减弱,有可能反转回升。实际操作中,可以与一些反转指标共同使用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

ADOSC - Chaikin A/D Oscillator文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

Chaikin A/D Oscillator是在AD指标的基础上计算长短周期的AD差,用于进一步观察市场中资金流动情况,计算公式为:fastperiod AD - slowperiod AD。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

从公式中可知,该指标类似于双均线交叉的判断,当短期均线穿越长期均线看多,即数值为正时看多,反之依然。因此操作时可遵循数值由正变负时卖出,由负变正时买进的原则。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

TA-Lib提供ADOSC指标的调用接口为:real = ADOSC(high, low, close, volume, fastperiod=3, slowperiod=10)。我们用例程来了解下具体的实现,如下所示:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

# 计算ADOSC线
ADOSC = talib.ADOSC(df_stock.High, df_stock.Low, df_stock.Close, df_stock.Volume, fastperiod=3, slowperiod=10)
df_ADOSC = pd.DataFrame(ADOSC, index=df_stock.index, columns=['ADOSC'])
df_ADOSC.loc['2018-01-01':'2019-01-01'].plot(figsize=(16, 6))
plt.show()
复制代码
Python量化交易进阶讲堂:TA-Lib库量价指标分析

OBV - On Balance Volume On Balance Volume由 Joe Granville 提出,主要计算累积的成交量,以某日为基期,逐日累计每日股票总成交量。若隔日指数或股票上涨,则基期OBV加上本日成交量为本日OBV。隔日指数或股票下跌, 则基期OBV减去本日成交量为本日OBV。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

TA-Lib提供ADOSC指标的调用接口为:real = OBV(close, volume)。我们用例程来了解下具体的实现,如下所示:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

# 计算OBC线
OBV = talib.OBV(df_stock.Close, df_stock.Volume)
df_OBV = pd.DataFrame(OBV, index=df_stock.index, columns=['ADOSC'])
df_OBV.loc['2018-01-01':'2019-01-01'].plot(figsize=(16, 6))
plt.show()
复制代码
Python量化交易进阶讲堂:TA-Lib库量价指标分析

在实际应用时的判断依据为:当OBV指标增大时,说明累积成交量在增加,可以推测当前的价格变化为正值,当期的股价是上升的;累积成交量的增大也体现了市场的活跃度增加,短期内股票价格可能继续上升,释放出买入信号;当OBV指标减小时,说明累积成交量在减小,可以推测当前的价格变化为负值,当期的股价是下跌的;市场的活跃度减弱,短期内股票价格可能还会下跌,释放出卖出信号。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

接下来我们结合K线和成交量来观察'AD', 'ADOSC', 'OBV'这三个指标的变化。我们可以调用小册子《股票数据可视化:自定义Matplotlib版股票行情界面》的代码分别绘制上证综指、浙大网新的量价技术分析图,如下所示:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

Python量化交易进阶讲堂:TA-Lib库量价指标分析
Python量化交易进阶讲堂:TA-Lib库量价指标分析

作者:元宵大师
链接:https://juejin.im/post/5da1cd9cf265da5b9f7c6960
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/18082.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/18082.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定