交易模式

第二天打板前一天涨停的股票,筛选出第二天能打的股票池。包括一进二、二进三以及更高的板。

实施过程

获取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
        (df_filter['涨停统计'].str.split('/').str[0] == df_filter['涨停统计'].str.split('/').str[1]) #排除断板
        ]

    # 防护:筛选后无数据直接退出
    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)

运行结果如下:

名称涨跌幅最新价成交额流通市值总市值换手率封板资金首次封板时间最后封板时间炸板次数涨停统计连板数所属行业
越剑智能10.0173525.37954221516.55E+096.55E+091.4563181.43E+08925039250304月4日4专用设备
永杉锂业9.98298419.391.69E+089.93E+099.93E+091.6963552.02E+08925039250303月3日3能源金属
宝光股份10.0327916.787.34E+085.54E+095.54E+0913.275031.55E+08930119535613月3日3电网设备
丰元股份10.0144422.852.97E+086.37E+096.4E+094.67785591622490930099300902月2日2电池
华宏科技9.98719625.771.17E+091.44E+101.62E+108.188773515271929310610041522月2日2环保设备
金 融 街10.069443.173.85E+089.47E+099.47E+094.1000440558228932159334512月2日2房地产开
舒华体育9.99153225.985.93E+081.06E+101.06E+105.65755935992692934149392342月2日2文娱用品
众泰汽车10.043672.527.45E+081.27E+101.27E+106.0838047597883110063010063002月2日2汽车零部
金瑞矿业10.0049822.11.02E+096.37E+096.37E+0916.462569181003013131513131502月2日2化学原料
安道麦A106.82822231951.48E+101.59E+100.5537818418862925009250001月1日1农化制品
丽臣实业9.99203927.63690719613.26E+093.6E+092.11745346194873925009250001月1日1化学制品
恒大高新108.361.79E+081.87E+092.51E+099.618211313633769250013071811月1日1化学制品
跨境通9.9397593.652.57E+085.65E+095.69E+094.55226696373140930009300001月1日1互联网电
全筑股份9.9585072.651.14E+083.49E+093.49E+093.27492621834145930019313111月1日1装修装饰
中体产业10.0278511.857.96E+081.14E+101.14E+107.02849468594400931329341121月1日1体育Ⅱ
华软科技105.611.08E+083.38E+094.56E+093.23456256896620933489334801月1日1化学制品
新赛股份10.059175.582.6E+083.24E+093.24E+098.10303524059286937599433711月1日1种植业
津投城开10.080652.731.85E+083.02E+093.02E+096.17805178165369385013100551月1日1房地产开
香飘飘10.0154114.281.99E+085.9E+095.9E+093.40492154142634940469404601月1日1饮料乳品
东望时代9.900994.442.34E+083.75E+093.75E+096.38208683035476942509542921月1日1电力
国芳集团9.9753698.932.18E+085.95E+095.95E+093.71373656172557944039440301月1日1一般零售
安妮股份10.0196511.21.17E+096.2E+096.49E+0919.14519975422229454213251811月1日1造纸
华神科技10.120484.572.1E+082.85E+092.85E+097.48928864051895949339493301月1日1中药Ⅱ
汇洁股份10.058489.412.16E+082.86E+093.86E+097.66796552386034953069530601月1日1服装家纺
圣龙股份10.0056519.464.58E+084.6E+094.6E+0910.26289445595089565310020521月1日1汽车零部
北辰实业9.8901122.43E+085.32E+096.73E+094.669164897820010031810095411月1日1房地产开
上海沪工10.0146622.523.24E+087.59E+097.59E+094.4022311.58E+0810292610292601月1日1通用设备
百傲化学1022.669.32E+081.6E+101.6E+106.0828629817299913022813022801月1日1农化制品
天域生物10.072997.541.38E+082.19E+092.19E+096.5376699339270213192713192701月1日1基础建设
全新好1015.511.73E+085.37E+095.37E+093.3466134057264013323313323301月1日1一般零售
汉钟精机1027.614.1E+081.47E+101.48E+102.8860541.06E+0813323613323601月1日1通用设备
华东重机9.9759629.151.22E+099.22E+099.22E+0913.761085405787014150314150301月1日1工程机械
大胜达9.98719617.181.15E+099.45E+099.45E+0912.640191.53E+0814253314253301月1日1包装印刷
Logo

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

更多推荐