有许多投资者喜欢在股票涨停封盘后,跟进买入。普通股民会认为一个能在今日涨停封盘的股票,证明其上市公司正有十分重大的利好信息,只需要跟进购买便可以获取短期利益。
我们用数据来看一下在当日涨停封盘后,第二次交易日是上涨还是下跌?
import efinance as ef
import numpy as np
import pandas as pd
from tqdm import tqdm
all_stocks = ef.stock.get_realtime_quotes()
stock_codes= np.array(all_stocks["股票代码"])
stock_rise_fall_arr = []
for stock_code in tqdm(stock_codes):
# 获取股票历史行情数据
df = ef.stock.get_quote_history(stock_code)
if len(df) == 0:
continue
stock_rise_fall = {}
stock_rise_fall["股票代码"] = stock_code
stock_rise_fall["股票名称"] = df["股票名称"].loc[0]
stock_rise_fall["涨停天数"] = 0
stock_rise_fall["涨停后涨"] = 0
stock_rise_fall["涨停后跌"] = 0
stock_rise_fall["涨停后开盘涨"] = 0
stock_rise_fall["涨停后开盘跌"] = 0
stock_rise_fall["涨停后最高涨"] = 0
stock_rise_fall["涨停后最高跌"] = 0
is_limit_up = False
is_first = False
last_price = 0
for i in df.index[:]:
line = df.loc[i]
# 如果昨日涨停
if is_limit_up and is_first:
if line["涨跌幅"] > 0:
stock_rise_fall["涨停后涨"] += 1
else:
stock_rise_fall["涨停后跌"] += 1
if line["开盘"]> last_price:
stock_rise_fall["涨停后开盘涨"] += 1
else:
stock_rise_fall["涨停后开盘跌"] += 1
if line["最高"]> last_price:
stock_rise_fall["涨停后最高涨"] += 1
else:
stock_rise_fall["涨停后最高跌"] += 1
# 如果当日涨停
if line["涨跌幅"]>9.9:
# 如果昨天也涨停
if is_limit_up:
is_first = False
else:
last_price = line["收盘"]
is_first = True
is_limit_up = True
stock_rise_fall["涨停天数"] += 1
else:
is_limit_up = False
if stock_rise_fall["涨停后涨"] + stock_rise_fall["涨停后跌"] > 0:
stock_rise_fall["涨停后涨概率"] = stock_rise_fall["涨停后涨"] / (stock_rise_fall["涨停后涨"]+stock_rise_fall["涨停后跌"])
if stock_rise_fall["涨停后开盘涨"] + stock_rise_fall["涨停后开盘跌"] > 0:
stock_rise_fall["涨停后开盘涨概率"] = stock_rise_fall["涨停后开盘涨"] / (stock_rise_fall["涨停后开盘涨"]+stock_rise_fall["涨停后开盘跌"])
if stock_rise_fall["涨停后最高涨"] + stock_rise_fall["涨停后最高跌"] > 0:
stock_rise_fall["涨停后最高涨概率"] = stock_rise_fall["涨停后最高涨"] / (stock_rise_fall["涨停后最高涨"]+stock_rise_fall["涨停后最高跌"])
stock_rise_fall_arr.append(stock_rise_fall)
stock_rise_fall_df = pd.DataFrame(stock_rise_fall_arr)
stock_rise_fall_df.to_excel('output.xlsx', index = False)
stock_rise_fall_df
100%|██████████| 5649/5649 [43:02<00:00, 2.19it/s]
股票代码 | 股票名称 | 涨停天数 | 涨停后涨 | 涨停后跌 | 涨停后开盘涨 | 涨停后开盘跌 | 涨停后最高涨 | 涨停后最高跌 | 涨停后涨概率 | 涨停后开盘涨概率 | 涨停后最高涨概率 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 300120 | 经纬辉开 | 72 | 32 | 18 | 36 | 14 | 42 | 8 | 0.640000 | 0.720000 | 0.840000 |
1 | 300284 | 苏交科 | 58 | 31 | 11 | 25 | 17 | 38 | 4 | 0.738095 | 0.595238 | 0.904762 |
2 | 300052 | 中青宝 | 91 | 46 | 25 | 44 | 27 | 58 | 13 | 0.647887 | 0.619718 | 0.816901 |
3 | 300045 | 华力创通 | 65 | 33 | 21 | 39 | 15 | 49 | 5 | 0.611111 | 0.722222 | 0.907407 |
4 | 300865 | 大宏立 | 21 | 8 | 9 | 10 | 7 | 15 | 2 | 0.470588 | 0.588235 | 0.882353 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
5637 | 300047 | 天源迪科 | 49 | 24 | 21 | 28 | 17 | 42 | 3 | 0.533333 | 0.622222 | 0.933333 |
5638 | 872953 | 国子软件 | 12 | 3 | 6 | 1 | 8 | 6 | 3 | 0.333333 | 0.111111 | 0.666667 |
5639 | 300598 | 诚迈科技 | 104 | 37 | 24 | 35 | 26 | 54 | 7 | 0.606557 | 0.573770 | 0.885246 |
5640 | 001279 | C强邦 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0.000000 | 0.000000 | 0.000000 |
5641 | 837592 | 华信永道 | 60 | 17 | 38 | 14 | 41 | 25 | 30 | 0.309091 | 0.254545 | 0.454545 |
5642 rows × 12 columns
将导出excel文件下载到本地,并对数据进行统计整理到最后一行,计算各个概率,可以得到如图所示:
可以看出,涨停后收盘涨和涨停后开盘涨的概率均在0.5左右,可以认为首日涨停与第二日是否涨停无关。故某只股在今日涨停,并不意味着,该股公司有什么重大利好信息,也无法作为买进的支撑。