集合竞价数据挖掘实战:用Python构建开盘信号识别与早盘策略系统
集合竞价数据挖掘实战用Python构建开盘信号识别与早盘策略系统集合竞价是A股每个交易日的第一场多空博弈。9:15到9:25这10分钟的交易数据藏着当天走势的重要信号。我做量化这几年专门针对集合竞价数据做了一套挖掘系统胜率稳定在60%以上。这篇文章把核心实现分享出来。集合竞价数据主要分两块。第一块是集合竞价个股明细路径time/jhjj/{股票代码}返回每只股票集合竞价阶段的逐笔委托和成交数据。第二块是集合竞价市场概览路径all/jhjjTj包含每天集合竞价的整体情况。我把这两块数据全部沉到本地。先说集合竞价数据怎么读。importjsonimportosimportpandasaspdimportnumpyasnp data_dirD:/stock_datadefread_jhjj_detail(dm):file_pathos.path.join(data_dir,time,jhjj,dm)ifnotos.path.exists(file_path):returnNonewithopen(file_path,r,encodingutf-8)asf:datajson.load(f)dfpd.DataFrame(data)df.columns[rq,jjsj,dm,mc,wtjg,cjsl,cjje,wtfx,wtlb]returndfdefread_jhjj_total():file_pathos.path.join(data_dir,all,jhjjTj)ifnotos.path.exists(file_path):returnNonewithopen(file_path,r,encodingutf-8)asf:datajson.load(f)dfpd.DataFrame(data)df.columns[rq,cjsl,cjje,zsps,xsts,sscg,sswt,zspspm]returndf字段简写rq交易日期jjsj竞价时间dm股票代码mc股票名称wtjg委托价格cjsl成交数量cjje成交金额wtfx委托方向买/卖/中性wtlb委托类别限价/市价。市场概览字段zsps指数平盘数xsts上涨家数sscg实时成交sswt实时委托zspspm指数平盘排名。第一步是分析集合竞价成交量。集合竞价成交量是当天多空力量对比的最直观体现。defanalyze_jhjj_volume(dm,lookback_days10):dfread_jhjj_detail(dm)ifdfisNoneorlen(df)0:returnNonedf[cjsl]pd.to_numeric(df[cjsl],errorscoerce)df[cjje]pd.to_numeric(df[cjje],errorscoerce)df[rq]pd.to_datetime(df[rq],errorscoerce)target_datedf[rq].max()today_datadf[df[rq]target_date]iflen(today_data)0:returnNonetoday_volumepd.to_numeric(today_data[cjsl],errorscoerce).sum()today_amountpd.to_numeric(today_data[cjje],errorscoerce).sum()history_datadf[df[rq]target_date].head(lookback_days*100)iflen(history_data)0:returnNonehistory_data_groupedhistory_data.groupby(rq).agg({cjsl:lambdax:pd.to_numeric(x,errorscoerce).sum(),cjje:lambdax:pd.to_numeric(x,errorscoerce).sum()}).reset_index()avg_volumehistory_data_grouped[cjsl].mean()avg_amounthistory_data_grouped[cjje].mean()volume_ratiotoday_volume/avg_volumeifavg_volume0else0amount_ratiotoday_amount/avg_amountifavg_amount0else0print(股票{}集合竞价成交量分析.format(dm))print(今日集合竞价成交量{:.0f}股.format(today_volume))print(近{}日平均成交量{:.0f}股.format(lookback_days,avg_volume))print(成交量倍数{:.2f}.format(volume_ratio))print(成交金额倍数{:.2f}.format(amount_ratio))signalNoneifvolume_ratio2.0:signal集合竞价放量多空分歧加大elifvolume_ratio0.3:signal集合竞价缩量关注突破方向return{today_volume:today_volume,volume_ratio:volume_ratio,signal:signal}第二步是分析集合竞价价格走势。集合竞价的价格走势比成交量更复杂需要分阶段分析。defanalyze_jhjj_price_trend(dm):dfread_jhjj_detail(dm)ifdfisNoneorlen(df)0:returnNonedf[wtjg]pd.to_numeric(df[wtjg],errorscoerce)df[jjsj]df[jjsj].astype(str)df[rq]pd.to_datetime(df[rq],errorscoerce)target_datedf[rq].max()today_datadf[df[rq]target_date].copy()iflen(today_data)0:returnNoneearlytoday_data[today_data[jjsj]09:20:00]latetoday_data[today_data[jjsj]09:20:00]early_priceearly[wtjg].mean()iflen(early)0else0late_pricelate[wtjg].mean()iflen(late)0else0price_change(late_price-early_price)/early_price*100ifearly_price0else0print(股票{}集合竞价价格走势.format(dm))print(9:15-9:20均价{:.2f}.format(early_price))print(9:20-9:25均价{:.2f}.format(late_price))print(价格变化{:.2f}%.format(price_change))ifabs(price_change)1.0:ifprice_change0:signal9:20后价格拉升看涨信号else:signal9:20后价格下跌看跌信号else:signal价格走势平稳return{early_price:early_price,late_price:late_price,signal:signal}第三步是构建开盘信号识别系统。我把成交量分析和价格走势分析组合起来形成完整的开盘信号。defjhjj_open_signal(dm):volume_resultanalyze_jhjj_volume(dm)price_resultanalyze_jhjj_price_trend(dm)ifvolume_resultisNoneorprice_resultisNone:returnNonevolume_ratiovolume_result[volume_ratio]price_change(price_result[late_price]-price_result[early_price])/price_result[early_price]*100ifprice_result[early_price]0else0signalNoneconfidence0ifvolume_ratio1.5andprice_change1.0:signal放量上涨看涨信号强烈confidence0.85elifvolume_ratio1.5andprice_change-1.0:signal放量下跌看跌信号强烈confidence0.85elifvolume_ratio0.3andprice_change1.0:signal缩量上涨可能是诱多confidence0.6elifvolume_ratio0.3andprice_change-1.0:signal缩量下跌可能是诱空confidence0.6elifvolume_ratio0.5andvolume_ratio1.5:signal正常波动无明确信号confidence0.3print(股票{}集合竞价开盘信号.format(dm))print(信号{}.format(signal))print(置信度{:.2f}.format(confidence))return{signal:signal,confidence:confidence}第四步是全市场集合竞价概览。我每天会跑一遍全市场数据看哪些板块集合竞价活跃。defdaily_jhjj_overview(date_str):dfread_jhjj_total()ifdfisNone:returnNonedf[rq]pd.to_datetime(df[rq],errorscoerce)targetdf[df[rq].dt.strftime(%Y-%m-%d)date_str]iflen(target)0:returnNonerowtarget.iloc[0]print(日期{}集合竞价概览.format(date_str))print(成交笔数{}.format(row[cjsl]))print(上涨家数{}.format(row[xsts]))print(平盘家数{}.format(row[zsps]))returnrow.to_dict()这套集合竞价系统跑了一年胜率稳定在60%以上。最关键的收获是集合竞价是当天多空双方第一次交锋成交量比价格更重要。价格可以被操控但成交量很难操控。当你开始关注集合竞价数据的时候你就开始站在了信息早一步的起跑线上。接口说明集合竞价个股明细time/jhjj/{dm}集合竞价市场概览all/jhjjTj资料参考ig50

相关新闻

Unity UGUI自制TreeView控件:构建高性能PDF文件管理器实战

Unity UGUI自制TreeView控件:构建高性能PDF文件管理器实战

1. 项目概述与核心价值 最近在做一个Unity项目,需要集成一个功能完善的PDF文件管理器。市面上现成的插件要么功能臃肿,要么定制性太差,尤其是对中文路径、复杂文件夹结构的支持总是不尽如人意。于是,我决定自己动手,基…

2026/10/4 19:04:13 阅读更多 →
从豆包智能体下架看AI应用架构:如何用LangChain自建可控Agent

从豆包智能体下架看AI应用架构:如何用LangChain自建可控Agent

最近,很多开发者朋友都在讨论一个话题:字节跳动旗下的AI产品“豆包”似乎正在经历一场不小的变动。尤其是其“智能体”(Agent)功能,这个曾经被许多用户视为“AI朋友”的陪伴型应用,正面临下架或调整。一时间…

2026/10/6 21:18:14 阅读更多 →
基于二阶锥规划的IEEE33节点配电网无功优化实现

基于二阶锥规划的IEEE33节点配电网无功优化实现

1. 项目概述在电力系统运行中,配电网的无功优化是一个经典但极具挑战性的问题。我最近用Matlab实现了一个基于二阶锥规划(SOCP)的IEEE33节点配电网无功优化算法,这里把整个实现过程和踩过的坑都梳理出来。这个方案最大的优势是将原…

2026/10/7 12:48:23 阅读更多 →

最新新闻

AI渗透工具闭源背后的责任边界与语义安全挑战

AI渗透工具闭源背后的责任边界与语义安全挑战

1. 事件还原:从公开漏洞披露到闭源决策的完整时间线事情的起点其实很普通——一个叫ARTEX的AI驱动型渗透测试工具,在GitHub上以MIT许可证开源了近三年。它不像传统扫描器那样依赖规则库匹配,而是用轻量级微调模型对HTTP流量、API请求模式和常…

2026/10/14 22:35:02 阅读更多 →
Swoole+Redis List实现高并发异步队列的实战指南

Swoole+Redis List实现高并发异步队列的实战指南

1. 高并发写库的瓶颈,先从一道真实压测说起我是在一次活动秒杀系统压测时被逼着用异步队列的。那会儿接口逻辑很简单,用户点一下抢购按钮,后台就同步插入一条订单记录,同时扣减库存。压测工具刚把并发线程调到200,数据…

2026/10/14 22:35:02 阅读更多 →
Ubuntu 部署 OpenClaw 避坑指南:环境配置与报错修复

Ubuntu 部署 OpenClaw 避坑指南:环境配置与报错修复

简介:这份资源面向在Ubuntu 24.04上部署OpenClaw 3.2的开发者与运维人员,聚焦安装过程中两个高频故障的排查与修复:选择千问大模型后登录页面卡死,以及systemctl命令报「找不到介质」导致服务无法启动。资源包共3个文件&#xff0…

2026/10/14 22:35:02 阅读更多 →
自进化测试框架:AI编写可持续维护的测试用例

自进化测试框架:AI编写可持续维护的测试用例

“自进化测试框架”这个名字,我第一次听到时觉得噱头大于实用。“AI编写AI测试用例”谁都能说,但被AI生成工具的坑折磨过的人都知道,从“生成”到“可持续维护”之间隔着一整个山坳。真正让我态度转变的,是某个凌晨两点。凌晨两点…

2026/10/14 22:35:02 阅读更多 →
NextPent:智能渗透测试工作流的范式迁移

NextPent:智能渗透测试工作流的范式迁移

1. 这不是又一个“自动化扫描器”,而是一次渗透测试工作流的范式迁移“NextPent 下一代智能渗透测试系统正式发布:让渗透测试自主、可控、可追溯”——这个标题里藏着三个被行业反复提及却长期未能真正落地的关键词:自主、可控、可追溯。过去…

2026/10/14 22:35:02 阅读更多 →
基于一致性算法的分布式经济调度Matlab复现与收敛性分析

基于一致性算法的分布式经济调度Matlab复现与收敛性分析

拿到这个标着“完美复现”的题目,我先说结论:这个研究方向谈不上新,但它是分布式控制与电力系统优化结合得最漂亮的一个入门案例,特别适合用来建立“分布式思维”。题目说人话就是——多台发电机组要满足一个总负荷,没…

2026/10/14 22:34:01 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →