大宗交易数据追踪系统:用Python挖掘折溢价信号与机构意图
大宗交易数据追踪系统用Python挖掘折溢价信号与机构意图大宗交易是A股市场大额股权转让的专用通道每笔交易都透露着大资金的真实意图。但大部分散户对大宗交易的理解停留在大股东在卖的层面忽略了其中丰富的信号。去年我搭建了一个大宗交易数据追踪系统用Python从大单成交数据中挖掘折溢价信号和机构意图。这篇文章分享系统的核心设计和实现。本地数据引擎提供了大单成交数据路径是time/real/trace/bigdeal/{dm}包含了每笔大单的成交时间、价格、数量和方向。实时行情数据在time/real/{dm}可以获取当日收盘价用于计算折溢价率。历史K线数据在time/history/trade/{dm}/day用于分析大宗交易后的股价走势。importjsonimportosimportpandasaspdimportnumpyasnpfromdatetimeimportdatetime,timedelta data_dirD:/ig50_datadefread_bigdeal(dm):file_pathos.path.join(data_dir,time,real,trace,bigdeal,dm)withopen(file_path,r,encodingutf-8)asf:datajson.load(f)dfpd.DataFrame(data)df.columns[dm,mc,cjsj,cjjg,cjl,jyzd]df[cjsj]pd.to_datetime(df[cjsj])df[cje]df[cjjg]*df[cjl]returndfdefread_realtime(dm):file_pathos.path.join(data_dir,time,real,dm)withopen(file_path,r,encodingutf-8)asf:returnjson.load(f)defread_daily_kline(dm):file_pathos.path.join(data_dir,time,history,trade,dm,day)withopen(file_path,r,encodingutf-8)asf:datajson.load(f)dfpd.DataFrame(data)df.columns[dm,cjsj,cjjg,cjl,cje,zf]df[cjsj]pd.to_datetime(df[cjsj])returndf字段方面dm是股票代码mc是股票名称cjsj是成交时间cjjg是成交价格cjl是成交量jyzd是交易方向0中性/1买入/2卖出cje是成交额。系统的第一个分析模块是折溢价率计算。大宗交易的成交价通常偏离当日收盘价折价说明买方要求补偿溢价说明买方急于建仓。defcalc_premium_discount(dm):df_bigdealread_bigdeal(dm)iflen(df_bigdeal)0:returnNonerealtimeread_realtime(dm)close_pricerealtime.get(cjjg,0)ifclose_price0:returnNoneresults[]for_,rowindf_bigdeal.iterrows():deal_pricerow[cjjg]discount(deal_price-close_price)/close_price*100results.append({cjsj:row[cjsj],deal_price:deal_price,close_price:close_price,discount_pct:discount,amount:row[cje],direction:row[jyzd],type:溢价ifdiscount0else折价ifdiscount-0.5else平价})returnpd.DataFrame(results)defclassify_bigdeal(dm):dfcalc_premium_discount(dm)ifdfisNoneorlen(df)0:returnNonetotal_amountdf[amount].sum()avg_discountdf[discount_pct].mean()has_premium(df[discount_pct]0).any()has_large_discount(df[discount_pct]-10).any()ifhas_premium:signal强烈看多score80elifavg_discount-2:signal中性偏多score55elifhas_large_discount:signal看空score25else:signal中性score50return{total_amount:total_amount,avg_discount:avg_discount,signal:signal,score:score,deal_count:len(df)}第二个分析模块是大宗交易频率追踪。如果一只股票在短时间内出现多笔大宗交易说明大额筹码在转移。defanalyze_bigdeal_frequency(dm,lookback_days30):df_bigdealread_bigdeal(dm)iflen(df_bigdeal)0:returnNonecutoffdatetime.now()-timedelta(dayslookback_days)recentdf_bigdeal[df_bigdeal[cjsj]cutoff]iflen(recent)0:returnNonedaily_dealsrecent.groupby(recent[cjsj].dt.date).agg({cje:sum,cjsj:count}).rename(columns{cjsj:deal_count})consecutive_days0max_consecutive0datessorted(daily_deals.index)foriinrange(len(dates)-1):if(dates[i1]-dates[i]).days3:consecutive_days1max_consecutivemax(max_consecutive,consecutive_days)else:consecutive_days0return{total_deals:len(recent),total_amount:recent[cje].sum(),avg_daily_deals:len(recent)/lookback_days,max_consecutive_days:max_consecutive,frequency_signal:高频iflen(recent)5else正常}第三个分析模块是大宗交易后走势分析。统计大宗交易发生后股价的表现验证信号的有效性。defanalyze_post_bigdeal_performance(dm,lookback_days60):df_bigdealread_bigdeal(dm)df_klineread_daily_kline(dm)iflen(df_bigdeal)0orlen(df_kline)0:returnNonecutoffdatetime.now()-timedelta(dayslookback_days)recent_dealsdf_bigdeal[df_bigdeal[cjsj]cutoff]results[]for_,dealinrecent_deals.iterrows():deal_datedeal[cjsj]deal_pricedeal[cjjg]post_klinedf_kline[df_kline[cjsj]deal_date].head(5)iflen(post_kline)5:continueprice_5dpost_kline[cjjg].iloc[-1]return_5d(price_5d-deal_price)/deal_price*100max_pricepost_kline[cjjg].max()min_pricepost_kline[cjjg].min()results.append({deal_date:deal_date,deal_price:deal_price,price_5d:price_5d,return_5d:return_5d,max_return:(max_price-deal_price)/deal_price*100,min_return:(min_price-deal_price)/deal_price*100})ifnotresults:returnNonedf_resultpd.DataFrame(results)return{avg_return_5d:df_result[return_5d].mean(),win_rate:(df_result[return_5d]0).mean()*100,avg_max_return:df_result[max_return].mean(),avg_min_return:df_result[min_return].mean()}第四个分析模块是大单方向汇总。通过jyzd字段判断大单是买入还是卖出计算净买入金额。defsummarize_bigdeal_direction(dm):dfread_bigdeal(dm)iflen(df)0:returnNonebuy_amountdf[df[jyzd]1][cje].sum()sell_amountdf[df[jyzd]2][cje].sum()neutral_amountdf[df[jyzd]0][cje].sum()net_flowbuy_amount-sell_amount total_amountbuy_amountsell_amountneutral_amountreturn{buy_amount:buy_amount,sell_amount:sell_amount,net_flow:net_flow,buy_ratio:buy_amount/total_amountiftotal_amount0else0,sell_ratio:sell_amount/total_amountiftotal_amount0else0,direction:净买入ifnet_flow0else净卖出}把这些模块整合起来形成完整的大宗交易分析报告。defgenerate_bigdeal_report(dm):classificationclassify_bigdeal(dm)frequencyanalyze_bigdeal_frequency(dm)performanceanalyze_post_bigdeal_performance(dm)directionsummarize_bigdeal_direction(dm)reportf大宗交易分析报告 -{dm}\nifclassification:reportf折溢价信号:{classification[signal]}(评分:{classification[score]})\nreportf平均折溢价:{classification[avg_discount]:.2f}%\nreportf交易笔数:{classification[deal_count]}\niffrequency:reportf30日内交易频率:{frequency[total_deals]}笔\nreportf频率信号:{frequency[frequency_signal]}\nifdirection:reportf大单方向:{direction[direction]}\nreportf净流入金额:{direction[net_flow]/10000:.1f}万\nifperformance:reportf大宗后5日平均收益:{performance[avg_return_5d]:.2f}%\nreportf大宗后5日胜率:{performance[win_rate]:.1f}%\nreturnreport实际运行下来这个系统帮我筛选出了几只溢价成交的股票后续表现确实不错。溢价成交是最强的看多信号——买方愿意以高于市价的价格买入大额筹码说明他们非常看好。在使用过程中有几点经验。第一大宗交易的折价是正常的因为买方要承担锁定期风险折价5%以内不用太担心。第二溢价成交是稀有信号全市场一年也出现不了几次一旦出现要重点关注。第三连续多笔大宗交易是负面信号说明有人在持续出货。大宗交易数据是大资金意图的直接体现。用数据来追踪这些信号比看消息面靠谱多了。我用的数据来自本地数据引擎大单成交数据接口完整做大宗交易分析很方便。感兴趣的朋友可以参考这个思路来构建自己的追踪系统。接口说明time/real/trace/bigdeal/{股票代码} - 大单成交数据本地路径数据存放目录/time/real/trace/bigdeal/{dm}主要字段成交时间(cjsj)、成交价格(cjjg)、成交量(cjl)、交易方向(jyzd)0中性/1买入/2卖出time/real/{股票代码} - 实时行情本地路径数据存放目录/time/real/{dm}主要字段成交价格(cjjg)、成交量(cjl)time/history/trade/{股票代码}/day - 日线历史K线本地路径数据存放目录/time/history/trade/{dm}/day主要字段成交时间(cjsj)、成交价格(cjjg)、成交量(cjl)、涨跌幅(zf)base/gplist - 股票列表本地路径数据存放目录/base/gplist用于获取全市场股票代码列表资料参考ig50

相关新闻

从零打造车载双路供电系统:电路设计、器件选型与安全实践

从零打造车载双路供电系统:电路设计、器件选型与安全实践

如果你是一个喜欢自驾游、露营或者房车生活的技术爱好者,有没有想过,自己动手为爱车打造一套可靠的供电系统?当你在野外,手机、无人机、相机、笔记本电脑甚至车载冰箱都需要用电时,仅仅依赖原车点烟器接口是远远不够的…

2026/10/13 23:30:39 阅读更多 →
AI论文网站哪个最好?2026实测

AI论文网站哪个最好?2026实测

"开题报告改5版仍被打回""文献综述堆30篇却毫无逻辑""格式排版耗3天还不符合学校要求""AI生成内容被AIGC检测标红"——2026年高校AI学术规范全面收紧的背景下,毕业生选AI写作软件的核心诉求已从"快速出稿"转向&q…

2026/10/9 7:47:32 阅读更多 →
SSH连接失败:no matching MAC found 问题诊断与安全配置指南

SSH连接失败:no matching MAC found 问题诊断与安全配置指南

1. 问题初探:当SSH握手说“我们不匹配”如果你在尝试连接一台远程服务器时,终端突然弹出一句no matching MAC found. Their offer: hmac-sha2-512,然后连接被无情地拒绝,心里多半会咯噔一下。这不仅仅是连接失败,更像是…

2026/10/9 10:25:50 阅读更多 →

最新新闻

AI搜索时代,企业网络推广该换哪套判断标准

AI搜索时代,企业网络推广该换哪套判断标准

最近半年,一个明显的变化是:越来越多用户不再翻搜索结果页,而是直接问AI要答案。这个变化对企业网络推广的冲击,比很多人想象中更底层——它不是多了一个流量渠道,而是换了一套筛选逻辑。过去做推广,判断标…

2026/10/14 17:02:20 阅读更多 →
应届生简历怎么写?从HR筛选逻辑到STAR法则的完整指南

应届生简历怎么写?从HR筛选逻辑到STAR法则的完整指南

每年到秋招春招季,我都会被各种亲戚、学弟学妹、网友拖着看简历。说得不客气一点,大多数应届生的问题根本不是“经历太少”,而是“根本不知道简历是什么”。很多人把简历当成一篇自我介绍,恨不得把大学四年所有细节都写进去。结果…

2026/10/14 17:02:20 阅读更多 →
低功耗ASK射频发射芯片XL4456从原理到量产调试全攻略

低功耗ASK射频发射芯片XL4456从原理到量产调试全攻略

做低功耗无线硬件这么多年,我有一句话经常挂在嘴边:真正的物联网不只在云端和大屏上,更多藏在没人注意的遥控器、门铃、车位锁和传感器节点里。最近重新设计一款无线遥控门禁系统,发射端我选的就是标题里这颗低功耗 ASK 射频发射芯…

2026/10/14 17:02:20 阅读更多 →
XL4456低功耗ASK射频发射芯片:从原理到实战全解析

XL4456低功耗ASK射频发射芯片:从原理到实战全解析

很多做遥控器、传感器上报、电子标签这类项目的朋友,第一版方案里几乎都会遇到一颗低功耗 ASK 射频发射芯片 XL4456。它不像 MCU 那样需要写一堆初始化代码,也不像 2.4G 方案那样要跑协议栈,本质上它就是一个能用数字电平直接控制的射频功率开…

2026/10/14 17:02:20 阅读更多 →
宽温磁环电感可靠性验证:汽车电子EMC整改的关键防线

宽温磁环电感可靠性验证:汽车电子EMC整改的关键防线

一块板子在暗室里做EMC摸底,整改工程师换了三包磁环还是压不下那个700mV的尖刺,最后发现是电感在高温箱里呆过之后,磁导率掉了一半。这种问题,我在汽车电子项目里见过不止一次。项目组在开发阶段只测了磁环常温下的阻抗和电感量&a…

2026/10/14 17:02:20 阅读更多 →
学术AI工具怎么选更划算?六款科研工具按环节搭配的性价比盘点

学术AI工具怎么选更划算?六款科研工具按环节搭配的性价比盘点

一、工具越多,性价比这笔账越算越乱1、行业背景。 近几年大模型能力快速落地,学术场景成了试验田。检索、翻译、改写、润色、绘图,几乎每个环节都冒出专门工具,订阅方式从免费额度到按年付费各有不同。选择变多了,判断成本也跟着涨,同一笔预算怎么分配成了新问题。2、不同人群的…

2026/10/14 17:01:19 阅读更多 →

日新闻

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 阅读更多 →