使用Python计算股票K线图缺口

缺口,本人理解就是高开或者低开。

高开就是跳高缺口,低开就是跳低缺口。不过从技术面上说有一套比较完整的缺口理论,感兴趣的可以手动百度。之所以形成缺口,之前本人另一篇博客《使用Python统计股票高开后的走势》提及过,股票的开盘价是由集合竞价机制决定的,当开盘前有一帮人愿意以高出昨日收盘价的价格购买股票,且数量比开盘前想要卖出股票的人多,那么股票价格就会高开。

但是,有趣的不是缺口的形成,而是大A另一个不成文的规矩:缺口必补

当股价出现缺口,经过几天,甚至更长时间的变动后,然后反转过来,回到原来缺口的价位时,称为缺口的封闭,相当于把缺口补上。

缺口的产生和封闭过程如下图所示:

使用Python计算股票K线图缺口_第1张图片

缺口必补这个结论,目前没有找到科学的证明依据,但是跟据统计学(经验)来看,似乎大家都将其当成了一种比较有效的分析方法,所以本次实验希望通过程序找出一只股票的缺口。

========================

首先,需要准备一段时间的盘口数据,参考《使用Python绘制股票CCI指标曲线》。

然后,代码如下:

import os
import pandas as pd

name_ = '平安银行'
high_ = []
low_ = []
date_ = []

file_list = os.listdir('E:\\股票盘口信息')
for file in file_list:
    path = 'E:\\股票盘口信息\\' + file
    print(path)

    csv_data = pd.read_csv(path, encoding='utf_8_sig')
    for i in range(0, csv_data.shape[0]):
        if csv_data.loc[i]['名称'] == name_:
            high_.append(csv_data.loc[i]['最高'])
            low_.append(csv_data.loc[i]['最低'])
            date_.append(file.split('.')[0])
            break

for i in range(1, len(date_)):
    if high_[i] < low_[i-1]:
        print('[跳空缺口]' + date_[i] + ': ' + str(high_[i]))
    if low_[i] > high_[i-1]:
        print('[跳高缺口]' + date_[i] + ': ' + str(low_[i]))

代码中,我们遍历盘口信息文件夹,每个CSV文件中存有当日所有股票的盘口信息,需要二重循环找到对应股票信息,例如代码中通过属性“名称”来找到对应数据信息。

运行代码,我们可以获得缺口日期和缺口价格:

[跳空缺口]20220307: 15.17
[跳空缺口]20220315: 14.4
[跳空缺口]20220714: 13.71
[跳空缺口]20220721: 13.34
[跳空缺口]20220722: 12.93
[跳空缺口]20220802: 12.34
[跳空缺口]20220907: 12.42
[跳空缺口]20221010: 11.77
[跳高缺口]20221111: 11.01
[跳高缺口]20221114: 11.7
[跳空缺口]20221121: 11.5
[跳高缺口]20221129: 12.13
[跳空缺口]20221221: 12.99
[跳空缺口]20230202: 14.78
[跳空缺口]20230206: 14.13
[跳空缺口]20230307: 14.1
[跳空缺口]20230308: 13.64
[跳空缺口]20230525: 12.0
[跳空缺口]20230626: 11.3

使用最后一次输出11.3来验证,结合最近K线图来看。大部分财经软件会提供缺口的标记,一条横向的灰色线段,当缺口封闭时,灰色线段就会消失。

使用Python计算股票K线图缺口_第2张图片

假如缺口必补结论是100%准确的,意味着,当前股价11.23,一定会涨到11.3。

使用Python计算股票K线图缺口_第3张图片

同样,我们拉长K线周期,假如缺口必补结论是100%准确的,意味着,当前股价11.23,一定会跌倒11.01,把下面一个大缺口补上,然后再涨到13.64,把上面一个小缺口补上。

个人认为,缺口必补结论遵循的是 周期 这个底层逻辑,但周期长度不可预计,所以如果将缺口必补结论作为短线指标参考,不太科学。

你可能感兴趣的:(韭菜历险记,python)