当前位置: 首页 > article >正文

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

探寻妖股的特征

对于现实里的一类事物,人们一旦研究的深入了一点,就喜欢给它们进行分类,探寻它们的共性以便于更好的去描述它们的特征。股票市场也是同样,例如:对于长期稳定增长的、大型的股票被称为蓝筹股,对于业绩良好、定期以现金形式向股东发放红利分红的股票被称为红利股,对于伴随了时代的进步、有着高增长预期的股票被称为成长股。而妖股,妖股这一概念可追溯自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+=

http://www.kler.cn/a/459153.html

相关文章:

  • 速盾:服务器CDN加速解析的好处有哪些呢?
  • 使用pandas把数据库中的数据转成csv文件
  • 2021.12.28基于UDP同信的相关流程
  • 自动化办公 | 根据成绩进行自动评级
  • Java 8 及经典面试题全解析
  • 自动化测试-Pytest测试
  • 什么是网络安全(Cybersecurity)?
  • 1341:【例题】一笔画问题
  • 天河超算,使用Python自动ssh
  • 爬虫究竟是合法还是违法的?
  • 深度求索发布DeepSeek:高效、低成本的开源大语言模型
  • 讯飞星火智能生成PPTAPi接口说明文档 python示例demo
  • wget基本使用
  • Python爬虫教程——7个爬虫小案例(附源码)_爬虫实例
  • 如何优化Python网络爬虫的数据清洗流程,以提升数据质量并有效应对网站反爬虫机制?
  • pd.Timestamp接收的参数类型
  • 在K8S中,节点状态哪个组件负责上报?
  • 人形机器人全身运动规划相关资料与文章
  • JVM实战—JVM垃圾回收的算法和全流程
  • FPGA中三模冗余的4项关键技术(一)
  • 大数据Scala面试题汇总
  • LVS 负载均衡原理 | 配置示例
  • Ubuntu安装MinIO
  • 【蓝桥杯研究生组】第15届Java试题答案整理
  • 操作系统之死锁
  • HarmonyOS NEXT 实战之元服务:静态案例效果---我的热门应用服务