沪深捉妖记(一)探寻妖股的特征

探寻妖股的特征

在现实世界中,当人们对某类事物的探究渐趋深入,往往就会热衷于对其加以分类,深挖它们的共性,进而更为精准地描绘出其独有的特征,股票市场亦不例外。举例来说,那些长期保持稳定增长态势的大型企业所发行的股票,被称作蓝筹股;业绩表现优异,能够定期以现金形式向股东派发红利的股票,则被冠名为红利股;还有一类伴随着时代的发展步伐,拥有极高增长预期的股票,人们赋予了它成长股的名号。
而谈及妖股,这一概念最早可回溯至 2007 年,它堪称股票市场中极为特殊的存在。妖股的走势常常背离市场情绪以及常规的经济学规律,股价波动幅度极为惊人,变化异常剧烈,常常在极短的时间跨度内,上演暴涨暴跌的 “大戏”。正因如此,它能够迅速点燃一些投资者的情绪,使之获得强烈的心理满足,同时也为他们打开了一扇充满无限遐想的大门,让幻想肆意驰骋。

探寻妖股,则需要先探寻市场上究竟有哪些妖股,它们的特征是什么。

获取市场上的妖股

虽然妖股概念出现的早,但时代在发展,股市上的妖股可能已经发展出了了不同的表现特征,为了让数据更加可信,此次只统计近几年的沪深两市各股票的行为表现。
从20180101开始来统计,排除过早的时期市场的形势的变化带来的影响,以最少在连续5天内3次涨停为评判妖股的基准来统计沪深两市中的妖股数据。

# 安装 efinance
!pip install efinance
!pip install openpyxl
import efinance as ef
import numpy as np
import pandas as pd
from tqdm import tqdm

all_stocks = ef.stock.get_realtime_quotes()
tsxv_stocks = ef.stock.get_realtime_quotes(['创业板'])
sci_tech_stocks = ef.stock.get_realtime_quotes(['科创板'])
# 剔除创业板和科创板股票,留下主板股票
stock_codes= np.setdiff1d(np.array(all_stocks["股票代码"]),np.array(tsxv_stocks["股票代码"]))
stock_codes= np.setdiff1d(stock_codes,np.array(sci_tech_stocks["股票代码"]))
demon_stock_arr = []
# 跳过前100天的数据
skip_previous_days = 100
beg = '20180101'

# 遍历所有股票
for stock_code in tqdm(stock_codes):
    is_demon_stock = False
    demon_stock = {
   }
    demon_stock["股票代码"]=stock_code
    demon_stock["妖期"]=[]
    start_limit_up = False
    demon_period = {
   }
    demon_day_count = 0
    demon_day_total = 0
    day_count = 0
    limit_up_count = 0
    limit_up_total = 0
    start_money = 0
    end_money = 0
    # 获取股票历史行情数据
    df = ef.stock.get_quote_history(stock_code, beg=beg, fqt=0)
    # 跳过不到100天的新股数据
    if len(df) < skip_previous_days:
        continue
    # 忽略掉前100天数据
    for i in df.index[skip_previous_days:]:
        line = df.loc[i]
        if start_limit_up:
            if line["涨跌幅"]>9.9:
                limit_up_count+=1
                demon_period["最后涨停日期"]=line["日期"]
                end_money = line["收盘"]
                demon_day_count = day_count
            day_count+=1
            if limit_up_count/day_count<0.6:
                s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

被风吹过的会不会要逝去

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值