高级Python量化交易讲座:TA-Lib库成交量和价格指标分析
介绍Volume Indicators - 交易量指标。
交易量是指当日交易的股票总数(1手=100股)。这或许真实地反映了市场的内在动力。成交量和价格变化的综合分析有助于了解价格趋势的显着强度。例如,所谓的量价背离是确认趋势反转的可靠线索。因此,成交量指标是进行交易决策的重要依据,也是分析各种技术指标时不可替代的参考。 TA-Lib 的交易量指标主要包括“AD”、“ADOSC”和“OBV”三个指标,如下图:
print(talib.get_function_groups()['Volume Indicators']) # ['AD', 'ADOSC', 'OBV']
复制代码
接下来我们介绍如何使用 TA-Lib 来实现这三个指标。 。
AD - Chaikin A/D 线
Chaikin 收集/分发线由 Marc Chaikin 提出。计算公式如下: AD = 前一日 AD 值 + (CLV*交易量)
CLV = ((收盘价-Low)-(最高收盘价))/(最高价-Low)
It从公式中可以看出,它根据当日收盘价和高低价来评估股票在一段时间内的累计交易量,并用它来分析双方实力的多次变化,以有效地发现突破或突破预测逆转。
TA-Lib 提供了调用 AD 指标的接口:real = AD(high、low、near、volume)。为了了解具体应用,我们使用如下所示的例程:
# 计算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()
复制代码
实际应用决策的依据如下:当A/D线上升时,意味着多方占据优势,交易者正在吸筹。 ;如果A/D线上升,如果D线下降,则表明空方占据上风,交易者正在分割股票。如果A/D线同时上升,则价格也上涨,即上升趋势得到确认,产生买入信号;如果A/D线同时下跌,则价格也下跌,这意味着下跌趋势得到确认,并产生卖出信号。信号;如果价格上涨,而A/D线下跌,且两者之间出现背离,则表明价格上涨趋势减弱,可能转为下跌;如果价格下跌而 A/D 线上升,则两者之间存在差异。 ,表明价格下跌趋势已经减弱,并可能逆转上涨。在实际工作中,可以与一些反转指标配合使用。
ADOSC - Chaikin A/D 振荡器
Chaikin A/D 振荡器根据 AD 指标计算多空之间的 AD 差值,用于进一步监控市场上的资金流向。计算公式为:快周期AD-慢周期AD。
从公式中可以看出,该指标类似于穿越两条均线的决策。当短期移动平均线穿过长期移动平均线时,它是看涨的,即当该值是正数时,它是看涨的,反之亦然。因此,在操作时,可以遵循由正转负时卖出,由负转正时买入的原则。
TA-Lib 提供了调用 ADOSC 指标的接口:real = ADOSC(最高价、最低价、收盘价、交易量、快速周期 = 3、慢速周期 = 10)。为了理解特定的应用,我们使用如下所示的例程:
# 计算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()
复制代码
OBV - 平衡体积 平衡体积由 Joe Granville 提出。主要以特定日为基期,逐日累加计算累计交易量。每日总库存量。如果指数或股票第二天上涨,基期的 OBV 加上今天的交易量就是当日的 OBV。如果指数或股票第二天下跌,基期的 OBV 减去今天的交易量就是当天的 OBV。
TA-Lib 提供 ADOSC 指标调用接口:line = OBV(close, Volume)。为了理解具体应用,我们使用如下例程:
# 计算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()
复制代码
实际执行决策的依据是:当OBV指标增加时,意味着累计交易量增加,可以得出当前价格变化是积极的。 ,当前股价将会上涨;累计交易量的增加也反映了市场活动的增加。短期内股价可能继续上涨,释放买入信号;如果OBV指标是下降的,则说明累计交易量在下降,可以得出当前价格变化为负值,当前股价正在下降;市场活跃度减弱,股价可能短线下跌,释放卖出信号。
接下来我们结合K线和成交量来观察‘AD’、‘ADOSC’和‘OBV’三个指标的变化。我们可以调用说明书中的代码《股票数据可视化:自定义Matplotlib版股票行情界面》,分别制作上证指数和浙大网信的量价技术分析图,如下图:
作者:元宵大师
链接:https:// /juejin.im/ post /5da1cd9cf265da5b9f7c6960
来源:掘金
版权归作者所有。商业转载请联系作者获取授权。非商业转载请注明出处。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。