基金持股数据统计分析:用Python追踪机构持仓变化与抱团效应
基金持股数据统计分析用Python追踪机构持仓变化与抱团效应基金持股数据是追踪机构动向的重要窗口。每只股票被多少基金持有、基金在增持还是减持这些信息能帮我们判断机构对某只股票的态度。我之前写了一套基金持股分析工具把全市场的基金持股数据系统地分析了一遍。数据用的是基金持股接口time/f10/jjcg/{股票代码}返回该股票最近500家左右的基金持股情况按截止日期倒序排列每周六9点更新。字段包括基金名称、持有数量、持有市值等。importjsonimportosimportpandasaspdimportnumpyasnpfromcollectionsimportdefaultdict data_dirD:/stock_datadefread_jjcg(dm):file_pathos.path.join(data_dir,time,f10,jjcg,dm)ifnotos.path.exists(file_path):returnNonewithopen(file_path,r,encodingutf-8)asf:datajson.load(f)returndatadefread_gplist():file_pathos.path.join(data_dir,base,gplist)withopen(file_path,r,encodingutf-8)asf:datajson.load(f)returndata第一个分析单只股票的基金持股变化。追踪某只股票被多少基金持有基金在增持还是减持。defanalyze_fund_holding(dm):dataread_jjcg(dm)ifnotdataorlen(data)0:returnNoneby_datedefaultdict(list)foritemindata:jzrqitem.get(截止日期,)by_date[jzrq].append(item)datessorted(by_date.keys(),reverseTrue)iflen(dates)2:returnNonelatest_datedates[0]prev_datedates[1]latest_fundsby_date[latest_date]prev_fundsby_date[prev_date]latest_namesset(f.get(基金名称,)forfinlatest_funds)prev_namesset(f.get(基金名称,)forfinprev_funds)new_inlatest_names-prev_names exitedprev_names-latest_names latest_total_volsum(f.get(持有数量,0)forfinlatest_funds)prev_total_volsum(f.get(持有数量,0)forfinprev_funds)vol_change(latest_total_vol-prev_total_vol)/prev_total_volifprev_total_vol0else0result{dm:dm,latest_date:latest_date,prev_date:prev_date,latest_fund_count:len(latest_funds),prev_fund_count:len(prev_funds),new_funds:len(new_in),exited_funds:len(exited),vol_change:vol_change}iflen(new_in)len(exited)*2andvol_change0.1:result[signal]基金大幅增持result[score]72eliflen(exited)len(new_in)*2andvol_change-0.1:result[signal]基金大幅减持result[score]33else:result[signal]基金持仓稳定result[score]52returnresult第二个分析全市场基金抱团检测。找出被最多基金持有的股票这些就是抱团股。defscan_fund_clustering(top_n30):gp_listread_gplist()results[]forgpingp_list:dmgp[股票代码]mcgp[股票名称]dataread_jjcg(dm)ifnotdataorlen(data)0:continueby_datedefaultdict(list)foritemindata:jzrqitem.get(截止日期,)by_date[jzrq].append(item)ifnotby_date:continuelatest_datemax(by_date.keys())latest_fundsby_date[latest_date]total_valuesum(f.get(持有市值,0)forfinlatest_funds)results.append({dm:dm,mc:mc,fund_count:len(latest_funds),total_value:total_value,date:latest_date})dfpd.DataFrame(results).sort_values(fund_count,ascendingFalse).head(top_n)print(基金持股数量TOP{}.format(top_n))print(df.to_string(indexFalse))returndf被基金持有数量最多的股票就是市场公认的核心资产。当这些股票的基金持有数量开始下降时说明抱团在瓦解。第三个分析基金净增持扫描。找出基金净增持最多的股票。defscan_fund_net_increase(top_n30):gp_listread_gplist()results[]forgpingp_list:dmgp[股票代码]mcgp[股票名称]resultanalyze_fund_holding(dm)ifresultisNone:continueifresult.get(score,50)65:results.append({dm:dm,mc:mc,fund_count:result[latest_fund_count],new_funds:result[new_funds],vol_change:result[vol_change],score:result[score]})dfpd.DataFrame(results).sort_values(vol_change,ascendingFalse).head(top_n)print(基金净增持TOP{}.format(top_n))print(df.to_string(indexFalse))returndf第四个分析头部基金动向追踪。专门追踪几家知名公募基金的持仓变化。deftrack_top_funds(fund_names):gp_listread_gplist()resultsdefaultdict(list)forgpingp_list:dmgp[股票代码]mcgp[股票名称]dataread_jjcg(dm)ifnotdata:continuelatest_datemax(item.get(截止日期,)foritemindata)foritemindata:ifitem.get(截止日期,)!latest_date:continuefund_nameitem.get(基金名称,)fortargetinfund_names:iftargetinfund_name:results[target].append({dm:dm,mc:mc,vol:item.get(持有数量,0),value:item.get(持有市值,0)})forfund_name,holdingsinresults.items():dfpd.DataFrame(holdings).sort_values(value,ascendingFalse).[:10]print({}最新重仓股TOP10.format(fund_name))print(df.to_string(indexFalse))returnresults几个使用经验。第一基金持股数据是季度披露的有滞后性但基金的动作往往领先股价1到2个月。第二基金持有数量变化比持有市值变化更有参考价值因为市值会随股价波动。第三头部基金的动向比小基金更准建议重点追踪易方达、中欧、景顺长城等知名公募。第四基金抱团股瓦解前会有征兆——基金数量还在增加但股价不涨了说明新基金在接盘但老基金在撤退。我用的数据来源是ig50的本地数据接口基金持股接口每周六更新覆盖500家左右的基金做这种机构持仓分析很方便。接口说明time/f10/jjcg/{股票代码} - 基金持股本地路径数据存放目录/time/f10/jjcg/{股票代码}更新频率每周六9点更新耗时约9小时数据格式[{}…]按截止日期倒序主要字段截止日期、基金名称、持有数量股、持有市值元等数据覆盖每只股票最近500家左右的基金持股情况资料参考ig50

相关新闻

【PID优化】PSO SSA GWO三种智能算法优化PID参数整定

【PID优化】PSO SSA GWO三种智能算法优化PID参数整定

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…

2026/8/7 2:52:14 阅读更多 →
基于PSO-SVM、GS-SVM、SVM3模型多特征分类预测一键对比 (多输入单输出)附Matlab代码

基于PSO-SVM、GS-SVM、SVM3模型多特征分类预测一键对比 (多输入单输出)附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…

2026/8/7 4:56:34 阅读更多 →
基于Transformer-BiLSTM多变量回归预测(多输入单输出) 附Matlab代码

基于Transformer-BiLSTM多变量回归预测(多输入单输出) 附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…

2026/8/7 2:51:38 阅读更多 →

最新新闻

大数据技术栈入门指南:从Hadoop到Flink的生态系统全景解析

大数据技术栈入门指南:从Hadoop到Flink的生态系统全景解析

1. 从“数据孤岛”到“数据海洋”:为什么我们需要大数据技术栈?如果你在最近几年从事过任何与技术、产品、运营甚至市场相关的工作,大概率会听到过“大数据”这个词。它可能出现在老板的年度规划里,出现在技术团队的招聘需求上&am…

2026/8/7 4:55:49 阅读更多 →
WeNet端到端语音识别实战:从理论到工业部署

WeNet端到端语音识别实战:从理论到工业部署

1. 项目概述:WeNet语音识别实战课程解析作为一名在语音识别领域摸爬滚打多年的工程师,我见证了这个领域从传统GMM-HMM到端到端深度学习的革命性转变。最近在慕课平台开设的《WeNet语音识别实战》课程,正是基于当前最前沿的端到端语音识别框架…

2026/8/7 4:55:49 阅读更多 →
Spring Boot过滤器与拦截器:核心机制、应用场景与最佳实践

Spring Boot过滤器与拦截器:核心机制、应用场景与最佳实践

1. 从一次线上故障说起:为什么我们需要“门卫”和“安检员”那天下午,监控系统突然告警,某个核心接口的响应时间从平时的50毫秒飙升到了5秒以上,紧接着错误率也开始攀升。登录服务器一看,日志里充斥着大量来自同一个IP…

2026/8/7 4:55:49 阅读更多 →
SQL Server AlwaysOn可用性组:从零搭建高可用数据库集群实战指南

SQL Server AlwaysOn可用性组:从零搭建高可用数据库集群实战指南

1. 项目概述:为什么我们需要AlwaysOn?在数据库运维的日常里,最怕听到的不是“性能有点慢”,而是“数据库挂了”。对于像SQL Server这样承载核心业务数据的系统,停机往往意味着业务中断、数据丢失和真金白银的损失。传统…

2026/8/7 4:55:49 阅读更多 →
大模型智能体(Agent)核心架构、实战选型与从零构建指南

大模型智能体(Agent)核心架构、实战选型与从零构建指南

1. 项目概述:拨开Agent概念的迷雾最近和几个刚入行的朋友聊天,发现大家一提到“Agent”,表情就变得有点微妙。有人觉得这是通往AGI(通用人工智能)的圣杯,必须立刻投入学习;也有人被各种框架、论…

2026/8/7 4:55:49 阅读更多 →
Python机器学习实战:从零搭建完整项目流程与核心算法应用

Python机器学习实战:从零搭建完整项目流程与核心算法应用

想学机器学习,但面对铺天盖地的“从入门到精通”课程,你是不是总在犹豫:这些课程真的能让我从零开始,做出实际项目吗?还是说,学完只是记住了几个算法名字,面对真实数据依然无从下手?…

2026/8/7 4:54:48 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上,享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →