本人股市多年的老韭菜,各种股票分析书籍,技术指标书籍阅历无数,萌发想法,何不自己开发个股票预测分析软件,选择python因为够强大,它提供了很多高效便捷的数据分析工具包。
我们已经初步的接触与学习其中数据分析中常见的3大利器---Numpy,Pandas,Matplotlib库。
也简单介绍一下数据获取的二种方法,通过金融数据接口和爬虫获取。
介绍了指标之王MACD,随机指标KDJ和BOLL指标线的详细用法和量价指标,以及蜡烛图用法
这一章我们学习一下跳空缺口,作为一位老韭菜,很负责的说,跳空缺口和量价指标是股票预测准确率最高的。
1.何为跳空缺口
股票跳空缺口理论是一种技术分析理论,它认为股价的变动会在跳空缺口的出现和回补中反映市场走势和买卖力量。缺口是指股票的开盘价高于或低于前一交易日的收盘价,形成的一个价格空白区域。
根据缺口出现的位置和性质,可以将其分为普通缺口、突破缺口、持续缺口和竭尽缺口。普通缺口通常很快被回补,突破缺口和持续缺口则对未来股价走势具有决定性影响,而竭尽缺口则是市场趋势即将结束的信号。
股票跳空缺口理论认为,缺口越大、持续时间越长,则表明市场买卖力量越强,未来的股价走势也就越强。此外,在上升趋势中,缺口的存在往往代表着多方力量的增强和空方力量的削弱;在下跌趋势中,缺口的存在则意味着空方力量的增强和多方力量的削弱。
总之,股票跳空缺口理论是一种重要的技术分析理论,它可以帮助投资者更好地理解和预测市场走势。但同时,投资者也需要结合其他技术分析方法和基本面分析进行综合判断,以降低投资风险。
2.跳空缺口判断股票走势
跳空缺口是股票技术分析中的一种重要信号,它可以反映市场的走势和买卖力量。根据跳空缺口的方向和位置,可以判断股票的未来走势。
如果股票在上涨趋势中出现向上跳空缺口,这通常意味着多方力量占据主导地位,市场趋势向上,股票将继续上涨。在这种情况下,投资者可以考虑买入或持有该股票。
相反,如果股票在下跌趋势中出现向下跳空缺口,这通常意味着空方力量占据主导地位,市场趋势向下,股票将继续下跌。在这种情况下,投资者可以考虑卖出该股票或保持空仓。
另外,跳空缺口的出现也往往伴随着成交量的放大。如果成交量放大,说明市场买卖力量在增加,市场趋势将更加明显。
总之,跳空缺口是股票技术分析中非常重要的一个信号,可以帮助投资者判断股票的未来走势。但投资者还需要结合其他技术指标和基本面信息进行综合分析,以降低投资风险。
3.缺口判断代码分析:
这是一段python代码来判断股票的跳空缺口
import pandas as pd
import matplotlib.pyplot as plt
from mpl_finance import candlestick2_ochl
import matplotlib.ticker as ticker
plt.rcParams['font.family'] = 'Heiti TC'
plt.rcParams['font.sans-serif'] = ['SimHei']
def count_gap(cPriceUp, preLow, preHigh, low, high, threshold):
jump_value = 0
if (cPriceUp > 0) and ((low - preHigh) > threshold):
# 向上跳空
jump_value = (low - preHigh) / threshold
elif (cPriceUp < 0) and ((preLow - high) > threshold):
# 向下跳空
jump_value = (high - preLow) / threshold
return jump_value
df = pd.read_csv('600547.csv',encoding='gbk',index_col=0)
df['date'] = pd.to_datetime(df['date'])
df['date'] = df['date'].apply(lambda x: x.strftime('%Y-%m-%d'))
jump_threshold = df["close"].median() * 0.01
# 计算涨跌幅
df['cPriceUp'] = df["close"].pct_change() * 100
# 增加昨日最低价序列
df["preLow"] = df["low"].shift(1)
# 增加昨日最高价序列
df['preHigh'] = df['high'].shift(1)
# 增加空白列jump
df = df.assign(jump=0)
# 计算所有跳空值
df['jump'] = df.apply(
lambda row: count_gap(row['cPriceUp'], row['preLow'], row['preHigh'], row['low'], row['high'], jump_threshold),
axis=1)
# 向上跳空
up_jump = df[(df["cPriceUp"] > 0) & (df["jump"] > 0)]
# 向下跳空
down_jump = df[(df["cPriceUp"] < 0) & (df["jump"] < 0)]
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(111)
plt.rcParams['font.sans-serif'] = ['SimHei']
#绘制K线图
candlestick2_ochl(ax = ax,
opens=df["open"].values, closes=df["close"].values,
highs=df["high"].values, lows=df["low"].values,
width=0.75, colorup='red', colordown='green')
#绘制向下跳空与向上跳空缺口指标
for key, val in df.items():
for index, today in up_jump.iterrows():
x_posit = df.index.get_loc(index)
ax.annotate("{}\n{}".format("向上跳空", today["date"]), xy=(x_posit, today["preHigh"]),
xytext=(-30, -up_jump["close"].mean() *0.5), xycoords="data",
fontsize=18, textcoords="offset points", arrowprops=dict(arrowstyle="simple", color="r"))
for key, val in df.items():
for index, today in down_jump.iterrows():
x_posit = df.index.get_loc(index)
ax.annotate("{}\n{}".format("向下跳空", today["date"]), xy=(x_posit, today["preLow"]),
xytext=(-30, down_jump["close"].mean() *0.5), xycoords="data",
fontsize=18, textcoords="offset points", arrowprops=dict(arrowstyle="simple", color="r"))
ax.xaxis.set_major_locator(ticker.MaxNLocator(20))
def format_date(x, pos=None):
if x < 0 or x > len(df['date']) - 1:
return ''
return df['date'][int(x)]
ax.xaxis.set_major_formatter(ticker.FuncFormatter(format_date))
plt.setp(plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right')
plt.show()
图片显示:
重点说一下:股市多年经验,如果缺口连续3天没有回补,那基本确定缺口的有效性,产生第三个缺口后操作非常关键,如果是向下缺口,买入,向上缺口,卖出,基本准确率80%以上