交易模式

第二天打板第一天已经涨停的股票,从第一天已经涨停的股票中筛选出第二天能打的股票池。

实施过程

获取20260430所有的涨停股票,通过一套筛选模式,获取可打板股票池。

筛选标准
  • 股价≤30元
  • 总市值≤300亿
  • 流通市值≤250亿
  • 最后封板时间 ≤ 14:30(下午两点半)
  • 炸板次数 ≤ 5
代码如下:
import akshare as ak
import pandas as pd
from datetime import datetime

# 1. 获取数据(你指定的接口和日期)
stock_zt_pool_em_df = ak.stock_zt_pool_em(date='20260430')

# 防护:如果数据为空直接退出
if stock_zt_pool_em_df.empty:
    print("无涨停数据")
else:
    # 2. 确保列名存在,转换连板数为数字(排序必须)
    if '连板数' in stock_zt_pool_em_df.columns:
        stock_zt_pool_em_df['连板数'] = pd.to_numeric(stock_zt_pool_em_df['连板数'], errors='coerce')

    # ===================== 筛选1:仅保留10%涨停的主板股票 =====================
    main_board_prefix = ['60', '00']
    stock_zt_pool_em_df = stock_zt_pool_em_df[
        stock_zt_pool_em_df['代码'].str.startswith(tuple(main_board_prefix))
    ]
    if stock_zt_pool_em_df.empty:
        print("无10%涨停的主板股票数据")
        exit()

    # ===================== 筛选2:剔除高价+大市值股票(核心新增) =====================
    # 转换价格、市值为数值类型(防止数据格式报错)
    df_filter = stock_zt_pool_em_df.copy()
    df_filter['最新价'] = pd.to_numeric(df_filter['最新价'], errors='coerce')
    df_filter['总市值'] = pd.to_numeric(df_filter['总市值'], errors='coerce')
    df_filter['流通市值'] = pd.to_numeric(df_filter['流通市值'], errors='coerce')

    # ---------- 新增:处理最后封板时间格式,用于筛选 ----------
    # 清理时间格式(去掉1900-01-01 前缀)
    df_filter['最后封板时间'] = df_filter['最后封板时间'].astype(str).str.replace('1900-01-01 ', '',
                                                                                        regex=False)
    df_filter['最后封板时间'] = df_filter['最后封板时间'].str.strip().astype('Int64')

    # 转换为时间对象(处理空值/格式错误)
    # def parse_time(time_str):
    #     try:
    #         return datetime.strptime(time_str, '%H:%M:%S') if len(time_str) >= 8 else datetime.strptime(time_str,
    #                                                                                                     '%H:%M')
    #     except:
    #         return None  # 格式错误标记为None
    #
    #
    # df_filter['最后封板时间_dt'] = df_filter['最后封板时间_clean'].apply(parse_time)
    # # 定义14:30的时间对象用于比较
    # cutoff_time = datetime.strptime('14:30:00', '%H:%M:%S')

    # ---------- 核心过滤条件(新增最后封板时间≤14:30) ----------
    df_filter = df_filter[
        (df_filter['最新价'] <= 30) &  # 股价 ≤30元
        (df_filter['总市值'] <= 30000000000) &  # 总市值 ≤300亿元
        (df_filter['流通市值'] <= 25000000000) &  # 流通市值 ≤250亿元
        (df_filter['最后封板时间'] <= 143000) &  # 最后封板时间 ≤14:30
        (df_filter['炸板次数'] <= 5)  # 炸板次数 ≤5
        ]

    # 防护:筛选后无数据直接退出
    if df_filter.empty:
        print("无符合条件(10%涨停+股价≤30元+总市值≤300亿+流通市值≤250亿+最后封板≤14:30)的股票")
        exit()

    # 3. 排序:连板数降序 → 首次封板时间升序
    df_sorted = df_filter.sort_values(
        by=['连板数', '首次封板时间'],
        ascending=[False, True],
        na_position='last'
    ).reset_index(drop=True)

    # 清理时间格式
    df_sorted['首次封板时间'] = df_sorted['首次封板时间'].astype(str).str.replace('1900-01-01 ', '', regex=False)
    df_sorted['首次封板时间'] = df_sorted['首次封板时间'].str.strip()

    # 4. 输出结果
    print("=" * 80)
    print("排序后:按连板数降序 | 连板数相同按首次封板时间升序")
    print("筛选条件:10%主板涨停 + 股价≤30元 + 总市值≤300亿 + 流通市值≤250亿")
    print("=" * 80)
    print(df_sorted[['代码', '名称', '最新价', '连板数', '首次封板时间', '最后封板时间', '所属行业']].to_string(index=False))

    # 保存文件
    df_sorted.to_csv('涨停股票排序结果.csv', encoding='utf-8-sig', index=False)

最终获取到39只股票:

名称 涨跌幅 最新价 成交额 流通市值 总市值 换手率 封板资金 首次封板时间 最后封板时间 炸板次数 涨停统计 连板数 所属行业
越剑智能 10.01735 25.37 95422151 6.55E+09 6.55E+09 1.456318 1.43E+08 92503 92503 0 4月4日 4 专用设备
永杉锂业 9.982984 19.39 1.69E+08 9.93E+09 9.93E+09 1.696355 2.02E+08 92503 92503 0 3月3日 3 能源金属
宝光股份 10.03279 16.78 7.34E+08 5.54E+09 5.54E+09 13.27503 1.55E+08 93011 95356 1 3月3日 3 电网设备
金 螳 螂 10.07463 5.9 3.22E+09 1.56E+10 1.57E+10 21.77154 86810369 102415 133442 1 10月8日 3 装修装饰
丰元股份 10.01444 22.85 2.97E+08 6.37E+09 6.4E+09 4.677855 91622490 93009 93009 0 2月2日 2 电池
华宏科技 9.987196 25.77 1.17E+09 1.44E+10 1.62E+10 8.188773 51527192 93106 100415 2 2月2日 2 环保设备
金 融 街 10.06944 3.17 3.85E+08 9.47E+09 9.47E+09 4.10004 40558228 93215 93345 1 2月2日 2 房地产开
舒华体育 9.991532 25.98 5.93E+08 1.06E+10 1.06E+10 5.657559 35992692 93414 93923 4 2月2日 2 文娱用品
众泰汽车 10.04367 2.52 7.45E+08 1.27E+10 1.27E+10 6.083804 75978831 100630 100630 0 2月2日 2 汽车零部
金瑞矿业 10.00498 22.1 1.02E+09 6.37E+09 6.37E+09 16.46256 91810030 131315 131315 0 2月2日 2 化学原料
安道麦A 10 6.82 82223195 1.48E+10 1.59E+10 0.55378 18418862 92500 92500 0 1月1日 1 农化制品
丽臣实业 9.992039 27.63 69071961 3.26E+09 3.6E+09 2.117453 46194873 92500 92500 0 1月1日 1 化学制品
恒大高新 10 8.36 1.79E+08 1.87E+09 2.51E+09 9.618211 31363376 92500 130718 1 1月1日 1 化学制品
跨境通 9.939759 3.65 2.57E+08 5.65E+09 5.69E+09 4.552266 96373140 93000 93000 0 1月1日 1 互联网电
全筑股份 9.958507 2.65 1.14E+08 3.49E+09 3.49E+09 3.274926 21834145 93001 93131 1 1月1日 1 装修装饰
中体产业 10.02785 11.85 7.96E+08 1.14E+10 1.14E+10 7.028494 68594400 93132 93411 2 1月1日 1 体育Ⅱ
华软科技 10 5.61 1.08E+08 3.38E+09 4.56E+09 3.234562 56896620 93348 93348 0 1月1日 1 化学制品
新赛股份 10.05917 5.58 2.6E+08 3.24E+09 3.24E+09 8.103035 24059286 93759 94337 1 1月1日 1 种植业
津投城开 10.08065 2.73 1.85E+08 3.02E+09 3.02E+09 6.178051 7816536 93850 131005 5 1月1日 1 房地产开
香飘飘 10.01541 14.28 1.99E+08 5.9E+09 5.9E+09 3.404921 54142634 94046 94046 0 1月1日 1 饮料乳品
东望时代 9.90099 4.44 2.34E+08 3.75E+09 3.75E+09 6.382086 83035476 94250 95429 2 1月1日 1 电力
国芳集团 9.975369 8.93 2.18E+08 5.95E+09 5.95E+09 3.713736 56172557 94403 94403 0 1月1日 1 一般零售
安妮股份 10.01965 11.2 1.17E+09 6.2E+09 6.49E+09 19.14519 97542222 94542 132518 1 1月1日 1 造纸
朗迪集团 10.00443 24.85 1.91E+08 4.59E+09 4.61E+09 4.217563 86788625 94701 94701 0 4月2日 1 家电零部
华神科技 10.12048 4.57 2.1E+08 2.85E+09 2.85E+09 7.489288 64051895 94933 94933 0 1月1日 1 中药Ⅱ
粤 传 媒 10.00667 16.49 1.2E+09 1.87E+10 1.91E+10 6.63878 1.16E+08 95245 95245 0 4月2日 1 出版
汇洁股份 10.05848 9.41 2.16E+08 2.86E+09 3.86E+09 7.667965 52386034 95306 95306 0 1月1日 1 服装家纺
圣龙股份 10.00565 19.46 4.58E+08 4.6E+09 4.6E+09 10.26289 44559508 95653 100205 2 1月1日 1 汽车零部
冠豪高新 10 4.84 8.12E+08 8.47E+09 8.47E+09 9.823765 40704729 95704 102219 4 4月2日 1 造纸
北辰实业 9.89011 2 2.43E+08 5.32E+09 6.73E+09 4.669164 8978200 100318 100954 1 1月1日 1 房地产开
万通发展 10.04878 11.28 1.81E+09 2.13E+10 2.19E+10 8.672855 58386408 101750 131226 3 4月2日 1 房地产开
上海沪工 10.01466 22.52 3.24E+08 7.59E+09 7.59E+09 4.402231 1.58E+08 102926 102926 0 1月1日 1 通用设备
百傲化学 10 22.66 9.32E+08 1.6E+10 1.6E+10 6.082862 98172999 130228 130228 0 1月1日 1 农化制品
天域生物 10.07299 7.54 1.38E+08 2.19E+09 2.19E+09 6.537669 93392702 131927 131927 0 1月1日 1 基础建设
中天精装 10.01883 29.21 2.56E+08 5.36E+09 5.89E+09 4.905187 70890946 132715 132715 0 3月2日 1 装修装饰
全新好 10 15.51 1.73E+08 5.37E+09 5.37E+09 3.346613 40572640 133233 133233 0 1月1日 1 一般零售
汉钟精机 10 27.61 4.1E+08 1.47E+10 1.48E+10 2.886054 1.06E+08 133236 133236 0 1月1日 1 通用设备
华东重机 9.975962 9.15 1.22E+09 9.22E+09 9.22E+09 13.76108 54057870 141503 141503 0 1月1日 1 工程机械
大胜达 9.987196 17.18 1.15E+09 9.45E+09 9.45E+09 12.64019 1.53E+08 142533 142533 0 1月1日 1 包装印刷
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐