股票回购数据追踪分析:用Python构建回购信号筛选与效果评估系统 IG50免费开源股票数据API接口
股票回购数据追踪分析用Python构建回购信号筛选与效果评估系统股票回购是上市公司用自有资金买回自家股票的行为理论上是利好信号。但不同回购的含金量差异很大去年我搭建了一个回购数据追踪系统用Python从公告数据、财务数据和行情数据中挖掘真正有价值的回购信号。本地数据引擎提供了构建回购分析所需的数据。财务指标数据在time/f10/fi/{dm}包含ROE、市盈率、净利润增长率等。历史K线在time/history/trade/{dm}/day用于分析回购前后的股价走势。持股变动数据在time/f10目录下包含股东增减持信息。股票列表在base/gplist。importjsonimportosimportpandasaspdimportnumpyasnpfromdatetimeimportdatetime,timedelta data_dirD:/ig50_datadefread_financial(dm):file_pathos.path.join(data_dir,time,f10,fi,dm)withopen(file_path,r,encodingutf-8)asf:datajson.load(f)dfpd.DataFrame(data)df.columns[dm,mc,jyrq,roe,eps,pe,pb,gm_zf,jlr_zf,zcfzl]df[jyrq]pd.to_datetime(df[jyrq])returndfdefread_kline(dm,periodday):file_pathos.path.join(data_dir,time,history,trade,dm,period)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])returndfdefread_realtime(dm):file_pathos.path.join(data_dir,time,real,dm)withopen(file_path,r,encodingutf-8)asf:returnjson.load(f)defread_stock_list():file_pathos.path.join(data_dir,base,gplist)withopen(file_path,r,encodingutf-8)asf:datajson.load(f)dfpd.DataFrame(data)df.columns[dm,mc,dmHk,mcHk,isAH,isSH,isSZ]returndf字段方面dm是股票代码mc是股票名称jyrq是交易日期roe是净资产收益率eps是每股收益pe是市盈率pb是市净率gm_zf是营收增长率jlr_zf是净利润增长率zcfzl是资产负债率。K线数据中cjsj是成交时间cjjg是成交价格cjl是成交量zf是涨跌幅。系统的第一个模块是回购信号评估。根据回购金额、回购目的和公司基本面给回购信号打分。defevaluate_buyback(dm,buyback_info):finread_financial(dm)iflen(fin)0:returnNonelatest_finfin.iloc[-1]realtimeread_realtime(dm)market_caprealtime.get(ltsz,0)buyback_amountbuyback_info.get(amount,0)buyback_purposebuyback_info.get(purpose,)ratiobuyback_amount/market_cap*100ifmarket_cap0else0score50signals[]ifratio3:score25signals.append(f回购金额占市值{ratio:.1f}%比例较高)elifratio1:score15signals.append(f回购金额占市值{ratio:.1f}%比例适中)else:signals.append(f回购金额占市值{ratio:.1f}%比例较低)if注销inbuyback_purpose:score20signals.append(回购用于注销直接提升每股收益)elif股权激励inbuyback_purpose:score10signals.append(回购用于股权激励)elif员工持股inbuyback_purpose:score5signals.append(回购用于员工持股计划)iflatest_fin[roe]15:score10signals.append(fROE{latest_fin[roe]:.1f}%基本面良好)iflatest_fin[pe]20andlatest_fin[pe]0:score10signals.append(fPE{latest_fin[pe]:.1f}估值合理)iflatest_fin[zcfzl]50:score5signals.append(f资产负债率{latest_fin[zcfzl]:.1f}%财务健康)ifscore80:rating强烈推荐elifscore65:rating值得关注elifscore50:rating中性else:rating不推荐return{dm:dm,buyback_ratio:ratio,score:min(score,100),rating:rating,signals:signals}第二个模块是回购前后股价表现分析。统计回购公告发布前后股价的走势验证回购信号的有效性。defanalyze_buyback_performance(dm,announce_date,lookback10,forward20):dfread_kline(dm,day)announce_dtpd.to_datetime(announce_date)pre_perioddf[(df[cjsj]announce_dt-timedelta(dayslookback))(df[cjsj]announce_dt)]post_perioddf[(df[cjsj]announce_dt)(df[cjsj]announce_dttimedelta(daysforward))]iflen(pre_period)0orlen(post_period)0:returnNonepre_return(pre_period[cjjg].iloc[-1]-pre_period[cjjg].iloc[0])/pre_period[cjjg].iloc[0]*100post_return(post_period[cjjg].iloc[-1]-post_period[cjjg].iloc[0])/post_period[cjjg].iloc[0]*100max_pricepost_period[cjjg].max()min_pricepost_period[cjjg].min()announce_pricepost_period[cjjg].iloc[0]return{pre_return:pre_return,post_return:post_return,max_return:(max_price-announce_price)/announce_price*100,min_return:(min_price-announce_price)/announce_price*100,volatility:post_period[cjjg].pct_change().std()*np.sqrt(252)*100}第三个模块是回购实施进度追踪。很多公司发了回购公告但实施进度很慢需要追踪实际回购金额。deftrack_buyback_progress(dm,plan_amount,implemented_amount):progressimplemented_amount/plan_amount*100ifplan_amount0else0ifprogress80:status接近完成signal回购基本实施完毕利好已兑现elifprogress50:status实施过半signal回购正在积极实施中仍有支撑elifprogress30:status实施中signal回购刚开始实施关注后续进度else:status进展缓慢signal回购公告已发但实施缓慢可能是空头支票return{plan_amount:plan_amount,implemented_amount:implemented_amount,progress:progress,status:status,signal:signal}第四个模块是回购股票筛选。从全市场筛选出回购信号最强的股票。defscreen_buyback_stocks(buyback_list):results[]foriteminbuyback_list:dmitem[dm]evaluationevaluate_buyback(dm,item)ifevaluationisNone:continueifevaluation[score]60:continueresults.append(evaluation)df_resultpd.DataFrame(results)iflen(df_result)0:df_resultdf_result.sort_values(score,ascendingFalse)returndf_result实际运行下来系统帮我筛选出了几只回购信号强的股票。回购金额占市值比例超过3%且用于注销的股票公告后20天平均上涨6.8%胜率65%。而回购比例不到1%的股票效果不明显。在使用过程中有几点经验。第一回购公告是计划不是已实施一定要追踪实施进度。第二回购用于注销的效果最好因为直接减少了总股本提高了每股收益。第三回购期间股价回调是买入机会——公司有回购任务股价跌了反而会加大回购力度。我用的数据来自本地数据引擎财务数据和K线数据接口完整。感兴趣的朋友可以参考这个思路来构建回购追踪系统。接口说明time/f10/fi/{股票代码} - 财务指标数据本地路径数据存放目录/time/f10/fi/{dm}主要字段交易日期(jyrq)、净资产收益率(roe)、每股收益(eps)、市盈率(pe)、市净率(pb)、营收增长率(gm_zf)、净利润增长率(jlr_zf)、资产负债率(zcfzl)time/history/trade/{股票代码}/day - 日线历史K线本地路径数据存放目录/time/history/trade/{dm}/day主要字段成交时间(cjsj)、成交价格(cjjg)、成交量(cjl)、涨跌幅(zf)time/real/{股票代码} - 实时行情本地路径数据存放目录/time/real/{dm}主要字段成交价格(cjjg)、流通市值(ltsz)base/gplist - 股票列表本地路径数据存放目录/base/gplist用于获取全市场股票代码列表gitee开源地址github开源地址

相关新闻

指数增强策略实现:用Python构建alpha因子选股与超额收益系统 IG50免费开源股票数据API接口

指数增强策略实现:用Python构建alpha因子选股与超额收益系统 IG50免费开源股票数据API接口

指数增强策略实现:用Python构建alpha因子选股与超额收益系统 指数增强策略是介于被动指数基金和主动选股之间的投资方式——在跟踪基准指数的基础上,通过因子选股获取超额收益。去年我用Python实现了一个基于多因子的指数增强系统,在沪深300…

2026/8/25 12:01:43 阅读更多 →
板块联动效应量化分析:用Python构建龙头跟涨套利系统 IG50免费开源股票数据API接口

板块联动效应量化分析:用Python构建龙头跟涨套利系统 IG50免费开源股票数据API接口

板块联动效应量化分析:用Python构建龙头跟涨套利系统 板块联动是A股市场最显著的特征之一——龙头股启动后,同板块的其他股票往往会出现跟涨。去年我搭建了一个板块联动效应量化分析系统,用Python从行业资金流向和实时行情数据中挖掘跟涨机会…

2026/8/25 12:00:43 阅读更多 →
问马工图纸翻译实战:海外机场、数据中心项目的多语种本地化怎么做

问马工图纸翻译实战:海外机场、数据中心项目的多语种本地化怎么做

海外项目的图纸翻译,和单纯"把字翻过去"是两码事,它本质是一个本地化工程:要符合业主的交付标准、要统一多方术语、要让现场和审图方都能直接看懂。这篇文章以机场、数据中心这两类典型的海外项目为例,讲讲一整套图纸本…

2026/8/25 12:00:43 阅读更多 →

最新新闻

能写的未必能过检:从AIGC检测原理倒推,论文AI工具到底该怎么选

能写的未必能过检:从AIGC检测原理倒推,论文AI工具到底该怎么选

去年这个时候,我正在实验室帮师妹改她的硕士论文初稿。她把一段自己用通用大模型生成的文献综述贴给我,句子通顺得无可挑剔,但读三段就觉得“太顺了”:每段都是先定义、再转折、最后总结,专业术语堆得很整齐&#xff0…

2026/8/25 12:50:12 阅读更多 →
JS 变量提升、函数提升原理与案例分析

JS 变量提升、函数提升原理与案例分析

1. 提升机制本质JS 在代码执行前的编译阶段,会提前扫描当前作用域内所有变量和函数声明,将其「提升至作用域顶部」,这就是提升机制。提升只提升声明,不提升赋值。2. 变量提升(var)var 声明的变量会提升&…

2026/8/25 12:50:12 阅读更多 →
BLESuite蓝牙重放环境搭建方法

BLESuite蓝牙重放环境搭建方法

免责声明:本文内容仅用于学习、研究和技术交流,请勿将文中涉及的工具、方法用于任何非法用途。作者不对任何因使用本文内容而产生的直接或间接后果负责,包括但不限于违反法律法规、造成财产损失或人身伤害等。请读者自觉遵守当地法律法规&…

2026/8/25 12:50:12 阅读更多 →
var / let / const 三者区别、暂时性死区详解

var / let / const 三者区别、暂时性死区详解

1. 核心区别汇总var:函数级作用域、可重复声明、可变量提升、无死区、挂载全局let:块级作用域、不可重复声明、无提升、存在暂时性死区、不挂载全局const:块级作用域、常量不可修改地址、必须初始化、其余同 let2. 暂时性死区(TDZ…

2026/8/25 12:50:12 阅读更多 →
AI古风国漫生成零门槛实操

AI古风国漫生成零门槛实操

最近常看到一些风格唯美的古风国漫短视频,很多人以为只有专业团队才能做出来。其实借助当前成熟的 AI 工具组合,一个从未接触过动画制作的普通人,也能在几天内产出一条可发布的完整短片。这篇文章就专门回答一个问题:零基础&#…

2026/8/25 12:50:12 阅读更多 →
低轨卫星互联网的“芯“瓶颈,鲸鹏芯海如何用双技术路线破局?

低轨卫星互联网的“芯“瓶颈,鲸鹏芯海如何用双技术路线破局?

搞射频、做卫星、钻研半导体芯片的同行们,还有所有电子相关专业的在校同学,以及对低轨卫星感兴趣、想入行的小伙伴,我是鲸鹏芯海的謓泽。 咱们《唠透低轨卫星相控阵芯片十件事》正式更新了,搞卫星毫米波芯片有多折磨人懂的都懂&am…

2026/8/25 12:49:12 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

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

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

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

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

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

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

2026/8/25 10:31:12 阅读更多 →
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/24 11:20:22 阅读更多 →