分享最精品的资源,网站源码,影子门户,qq技术博客,吾爱分享,实用软件,网站搭建,影视资源,技术教程 分类搜索 官网    VIP电影   留言板   免责声明    我要投稿   后花园  

网站首页 代码技术 正文

量价关系分析与Python实现_上网技巧_沐辰资源网

2021-11-24 代码技术 3 ℃ 0 评论
引言
 
成交量是股票市场的温度计,许多股票的疯狂上涨并非基本面发生了实质性的变化,而是短期筹码和资金供求关系造成的。量价关系分析法是一种将价格走势与成交量变化相结合的研究方法,正所谓,大军未动,粮草先行。成交量一直被看为是股票市场的“粮草”,成交量的变化是股价变化的前兆。因此,成交量是分析判断市场行情,并作出投资决策时的重要依据,也是各种技术分析指标应用时不可或缺的参照。
 
本文延续“手把手教你使用Python的TA-Lib”系列,着重介绍交易量指标(Volume Indicators)及其运用。【手把手教你】股市技术分析利器之TA-Lib(一)主要探讨了重叠指标的相关原理与Python实现,【手把手教你】股市技术分析利器之TA-Lib(二) 则着重介绍了TA-Lib中强大的数学运算、数学变换、统计函数、价格变换、周期指标和波动率指标函数及其应用实例。TA-Lib的安装使用可查看以前推文。
 
                        Image
 
 
 
01
A/D Line 累积派发线
 
 
Image
Chaikin Accumulation/Distribution Line (AD),是Marc Chaikin提出的用来平衡交易量的指标,以当日收盘价、最高价和最低价来估算一段时间内该股票累积的资金流量, 用来确定潜在的趋势以及预测趋势反转。
 
函数名:AD
 
调用格式:ta.AD(high,low,close,volume)
 
计算方法: AD=前日AD值+(多空对比*成交量)
 
多空对比=((收盘价-最低价)-(最高价-收盘价))/(最高价-最低价);注意:当最高价等于最低价时,多空对比 = (收盘价 / 昨收盘) - 1
 
Image
运用要点:
 
AD测量资金流向,AD向上表明多方占优势,反之表明空方占优势;
 
AD与价格的背离可视为买卖信号:底背离考虑买入,顶背离考虑卖出;
 
AD指标无需设置参数,但在应用时,可结合均线、MACD、KDJ等指标进行分析;
 
AD指标忽略了缺口的影响,有时无法真实反映价格与成交量的关系。
 
 
 
02
A/D Oscillator 震荡指标
 
 
Image
震荡指标是计算长短周期的AD差,将资金流动情况与价格行为相对比,用来研判市场中资金流入和流出的情况。
 
函数名:ADOSC
 
调用格式:ta. ADOSC(high,low,close,volume,
 
              fastperiod=3,slowperiod=10)
 
计算方法:fastperiod AD - slowperiod AD,AD的计算同上。
 
Image
运用要点:
 
交易信号是背离:看涨背离做多,看跌背离做空;
 
股价与90天移动平均结合,与其他指标结合;
 
由正变负卖出,由负变正买进。
 
 
 
 
03
OBV - 能量潮
 
 
Image
全称为 On Balance Volume, 由 Joe Granville 提出,通过统计成交量变动的趋势推测股价趋势。
 
函数名:OBV
 
调用格式:ta.OBV(close, volume)
 
计算公式:以某日为基期,逐日累计每日股票总成交量,若隔日指数或股票上涨,则基期OBV加上本日成交量为本日OBV。隔日指数或股票下跌, 则基期OBV减去本日成交量为本日OBV。
 
Image
研判:
 
以“N”字型为波动单位,一浪高于一浪称“上升潮”,下跌称“跌潮”;
 
上升潮买进,跌潮卖出;
 
须配合K线图、股价走势和其他指标。
 
 
 
04
应用实例代码
 
 
#先引入后面可能用到的包(package)
import pandas as pd  
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline   
 
#正常显示画图时出现的中文和负号
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False
 
#引入TA-Lib库
import talib as ta
 
#获取交易数据函数,这里使用tushare的老接口,比较方便
import tushare as ts
def get_data(code,start='2018-11-01',end='2019-03-26'):
    df=ts.get_k_data(code,start,end)
    df.index=pd.to_datetime(df.date)
    df=df.sort_index()
    return df[['open','close','high','low','volume']]
 
#获取当前交易是所有股票代码和名字
basics=ts.get_stock_basics()
print(len(basics))
#basics.head()
 
3602
 
index={'上证综指': 'sh','深证成指': 'sz','沪深300': 'hs300',
               '创业板指': 'cyb', '上证50': 'sz50','中小板指': 'zxb'}
 
#将当前交易的股票和常用指数代码和名称写入字典,方便调用
stock=dict(zip(basics.name,basics.index))
stocks=dict(stock,**index)
 
 
计算交易量指标并可视化
#使用matplotlib画k线图以及
import matplotlib.patches as patches
def plot_line(name):   
    code=stocks[name]
    data=get_data(code)
    fig = plt.figure(figsize=(12,5))
    ax1 = fig.add_axes([0, 1, 1, 1])               
    ax1.set_title(name+"K线图与交易量指标",  fontsize=15)
    ax1.set_xlim(-1, len(data)+1)
 
    for i in range(len(data)):
        close_price,open_price = data.iloc[i, 1], data.iloc[i, 0]
        high_price, low_price = data.iloc[i,2], data.iloc[i, 3]
        trade_date = data.index[i]
        if close_price > open_price:#画阳线
            ax1.add_patch(patches.Rectangle((i-0.2, open_price), 0.4, close_price-open_price, fill=False, color='r'))
            ax1.plot([i, i], [low_price, open_price], 'r')
            ax1.plot([i, i], [close_price, high_price], 'r')
        else:#画阴线
            ax1.add_patch(patches.Rectangle((i-0.2, open_price), 0.4, close_price-open_price, color='g'))
            ax1.plot([i, i], [low_price, high_price], color='g')
    ax1.set_title("Price", fontsize=15, loc='left', color='r')
    #设置x轴

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Tags:

< weida blog >
如有密码均为:weidablog.com
学到东西应该懂得感恩作者 无脑喷子永封IP段+删帐号所有评论
本站资源软件和源码 文章大部分为网上收集,如侵犯您的权利,请告知管理员,我们会及时删除,并向您赔礼道歉.

站长QQ:858896214  官方QQ群:未添加

猜你喜欢

本文暂时没有评论,来添加一个吧(●'◡'●)


欢迎 发表评论:

搜索
最近发表
«    2021年6月    »
123456
78910111213
14151617181920
21222324252627
282930