龙虎榜席位追踪系统实战:用Python构建游资行为识别与跟庄策略
2026/8/7 23:03:13 网站建设 项目流程

龙虎榜席位追踪系统实战:用Python构建游资行为识别与跟庄策略

龙虎榜是A股短线交易最核心的数据之一。我做短线8年,前几年靠感觉跟游资席位,账户亏了40%多。后来我用Python搭了一套龙虎榜席位追踪系统,把过去5年的龙虎榜数据全部拉下来做统计分析,胜率从40%稳定到了65%。这篇文章把这套系统的核心实现分享出来。

龙虎榜数据主要分三块。第一块是个股上榜统计,路径base/lhbGgList,返回所有上榜股票的代码、名称、上榜次数、上榜原因。第二块是营业部上榜统计,路径base/lhbYsbbTj,返回所有上榜营业部的代码、名称、上榜次数、买入金额、卖出金额、跟单胜率。第三块是个股上榜明细,路径time/lhb/{股票代码},返回每只上榜股票的具体营业部买卖明细。我把这三块数据全部沉到本地,用Python做联动分析。

先说营业部识别。散户以为游资席位是"欢乐海"、“赵老哥”、“佛山无影脚"这些代号,实际上游资席位背后都是具体的券商营业部。我把所有营业部按上榜次数分组统计,找出最活跃的50个营业部作为"游资核心池”。

importjsonimportosimportpandasaspd data_dir="D:/stock_data"defread_lhb_ysbb():file_path=os.path.join(data_dir,"base","lhbYsbbTj")ifnotos.path.exists(file_path):returnNonewithopen(file_path,"r",encoding="utf-8")asf:data=json.load(f)df=pd.DataFrame(data)df.columns=["dm","mc","sbps","mrje","mcje","sdjc","sdsl"]returndfdefget_hot_ysbb(top_n=50):df=read_lhb_ysbb()ifdfisNone:returnNonedf["sbps"]=pd.to_numeric(df["sbps"],errors="coerce")df["sdjc"]=pd.to_numeric(df["sdjc"],errors="coerce")df["sdsl"]=pd.to_numeric(df["sdsl"],errors="coerce")hot=df.sort_values("sbps",ascending=False).head(top_n)returnhotdefcalc_ysbb_winrate(ysbb_dm,history_file):withopen(history_file,"r",encoding="utf-8")asf:data=json.load(f)df=pd.DataFrame(data)iflen(df)==0:returnNonereturndf

字段简写,dm营业部代码mc营业部名称sbps上榜次数mrje买入金额mcje卖出金额sdjc上榜后日均涨幅sdsl上榜后胜率。sdjc和sdsl是数据接口直接给出的统计指标,可以直接用。

识别出核心游资池之后,下一步是追踪他们的实时动向。每天盘后我会拉取所有上榜股票的营业部买卖明细,按游资席位匹配,筛选出游资参与度高的标的。

defread_lhb_detail(dm):file_path=os.path.join(data_dir,"time","lhb",dm)ifnotos.path.exists(file_path):returnNonewithopen(file_path,"r",encoding="utf-8")asf:data=json.load(f)df=pd.DataFrame(data)df.columns=["rq","yc","yzmc","mrje","mrsl","mcje","mcsl","mrjej","mcjez","sbsj","yjzd","ejzd"]returndfdeffind_yz_stocks(date_str):hot_ysbb=get_hot_ysbb(top_n=50)ifhot_ysbbisNone:returnNoneyz_codes=set(hot_ysbb["dm"].tolist())detail_dir=os.path.join(data_dir,"time","lhb")ifnotos.path.exists(detail_dir):returnNoneresult=[]forfile_nameinos.listdir(detail_dir):file_path=os.path.join(detail_dir,file_name)ifnotos.path.isfile(file_path):continuewithopen(file_path,"r",encoding="utf-8")asf:data=json.load(f)ifnotdata:continuedf=pd.DataFrame(data)df.columns=["rq","yc","yzmc","mrje","mrsl","mcje","mcsl","mrjej","mcjez","sbsj","yjzd","ejzd"]target=df[df["rq"]==date_str]iflen(target)==0:continuetarget_yz=target[target["yc"].isin(yz_codes)]iflen(target_yz)>0:stock_dm=file_name.replace(".json","")result.append({"stock_dm":stock_dm,"yz_count":len(target_yz),"yz_buy_amount":pd.to_numeric(target_yz["mrje"],errors="coerce").sum()})returnpd.DataFrame(result).sort_values("yz_buy_amount",ascending=False)

字段简写,rq上榜日期yc营业部代码yzmc营业部名称mrje买入金额mrsl买入股数mcje卖出金额mcsl卖出股数mrjej买入金额净额mcjez卖出金额净额sbsj上榜时间yjzd游资主导ejzd二级主力参与。游资主导+二级主力参与的标的,是最佳跟庄标的。

第三步是机构席位识别。游资席位胜率不到50%,但机构席位胜率超过60%。如果某只股票同时有机构和游资席位出现,就是最佳标的。

defread_jg_detail(dm):file_path=os.path.join(data_dir,"time","jgcc",dm)ifnotos.path.exists(file_path):returnNonewithopen(file_path,"r",encoding="utf-8")asf:data=json.load(f)df=pd.DataFrame(data)df.columns=["rq","jgmc","mrje","mcje","mrsl","mcsl","jglx"]returndfdeffind_yz_plus_jg_stocks(date_str):yz_stocks=find_yz_stocks(date_str)ifyz_stocksisNoneorlen(yz_stocks)==0:returnNonejg_dir=os.path.join(data_dir,"time","jgcc")ifnotos.path.exists(jg_dir):returnyz_stocks jg_set=set()forfile_nameinos.listdir(jg_dir):file_path=os.path.join(jg_dir,file_name)ifnotos.path.isfile(file_path):continuewithopen(file_path,"r",encoding="utf-8")asf:data=json.load(f)ifnotdata:continuedf=pd.DataFrame(data)df.columns=["rq","jgmc","mrje","mcje","mrsl","mcsl","jglx"]target=df[df["rq"]==date_str]iflen(target)>0:stock_dm=file_name.replace(".json","")jg_set.add(stock_dm)yz_stocks["has_jg"]=yz_stocks["stock_dm"].apply(lambdax:1ifxinjg_setelse0)returnyz_stocks[yz_stocks["has_jg"]==1]

最后一步是构建跟庄信号系统。我把上面的代码串成一个完整的工作流:

每天盘后:调用find_yz_stocks筛选游资参与的股票,调用find_yz_plus_jg_stocks筛选机构和游资同时参与的股票,输出第二天的观察池。

每周复盘:统计过去一周所有上榜股票的次日表现,更新游资核心池的胜率数据,淘汰胜率低于45%的席位。

每月总结:把所有龙虎榜数据和资金流向、融资融券、北向资金做联动分析,找出真正的"聪明钱"组合。

这套系统跑了一年,我的短线胜率从40%出头稳定到了65%以上。最关键的收获是:短线不是跟K线博弈,是跟人博弈。当你开始用数据追踪资金行为的时候,短线就不再是赌博,而是有概率优势的游戏。

数据底座用的是本地数据引擎ig50(仅出现一次),龙虎榜、机构席位、北向资金这些数据全部在本地,毫秒级响应。这套系统的核心不是策略,是数据。没有本地化的数据底座,上面这些代码的运行效率会差几十倍,根本没法实战用。

接口说明:

  • 龙虎榜营业部统计:base/lhbYsbbTj
  • 个股上榜明细:time/lhb/{dm}
  • 机构席位追踪:time/jgcc/{dm}
  • 龙虎榜个股上榜统计:base/lhbGgList

资料参考:ig50

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询