港股通数据深度分析:用Python构建AH股溢价监测系统 IG50免费开源股票数据API接口

发布时间:2026/10/29 6:37:58

港股通数据深度分析:用Python构建AH股溢价监测系统 IG50免费开源股票数据API接口 港股通数据深度分析用Python构建AH股溢价监测系统2024年港股通的日均成交额突破了500亿越来越多的投资者开始关注AH股的投资机会。所谓AH股就是同一家公司同时在A股和港股上市由于两个市场的投资者结构、流动性、估值体系不同AH股之间通常存在溢价。如果能捕捉到溢价的变化趋势就能找到低估值的投资标的。去年我做了一个AH股溢价监测系统每天自动计算所有AH股的溢价率找出溢价最高和最低的股票结合资金流向和基本面数据进行分析。这篇文章就把系统的核心逻辑和Python实现完整分享出来。先说一下AH股数据的获取。本地数据引擎提供了AH股比价接口存放在time/history/trade目录下分别有A股和港股的历史行情数据。还有一个专门的AH股列表接口存放在base/gplist目录下包含了所有AH股的对应关系。importjsonimportosimportpandasaspdimportnumpyasnpfromdatetimeimportdatetime,timedelta data_dirD:/ig50_datadefread_ah_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[df[isAH]1]defread_a_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_hk_kline(dmHk,periodday):file_pathos.path.join(data_dir,time,history,trade,dmHk,period)withopen(file_path,r,encodingutf-8)asf:datajson.load(f)dfpd.DataFrame(data)df.columns[dmHk,cjsj,cjjg,cjl,cje,zf]df[cjsj]pd.to_datetime(df[cjsj])returndfAH股列表的字段dm是A股代码mc是A股名称dmHk是港股代码mcHk是港股名称isAH标记是否为AH股。K线数据的字段cjsj是成交时间cjjg是成交价格cjl是成交量cje是成交额zf是涨跌幅。港股的价格是港币需要换算成人民币才能比较。获取到数据之后第一步是计算AH股溢价率。溢价率的计算公式是(A股价格 - 港股价格 × 汇率) / (港股价格 × 汇率) × 100%。当前港币兑人民币的汇率大概是0.92。HKD_TO_CNY0.92defcalc_ah_premium(dm,dmHk,periodday,lookback_days60):df_aread_a_kline(dm,period)df_hkread_hk_kline(dmHk,period)df_adf_a.tail(lookback_days).copy()df_hkdf_hk.tail(lookback_days).copy()mergeddf_a.merge(df_hk,left_oncjsj,right_oncjsj,howinner)iflen(merged)20:returnNonemerged[price_a]merged[cjjg_x]merged[price_hk_cny]merged[cjjg_y]*HKD_TO_CNY merged[premium](merged[price_a]-merged[price_hk_cny])/merged[price_hk_cny]*100returnmerged[[cjsj,price_a,price_hk_cny,premium]]计算出溢价率之后我会对溢价率做进一步分析。主要关注以下几个指标当前溢价率、溢价率的历史分位数、溢价率的变化趋势。defanalyze_premium(series):iflen(series)20:returnNonecurrentseries.iloc[-1]meanseries.mean()stdseries.std()min_valseries.min()max_valseries.max()percentile(seriescurrent).sum()/len(series)*100trendnp.polyfit(range(len(series[-10:])),series[-10:],1)[0]return{current_premium:current,mean_premium:mean,std:std,min:min_val,max:max_val,percentile:percentile,trend_10d:trend}有了溢价率分析之后我会结合资金流向数据来做更深入的分析。北向资金的流向数据存放在time/zijin/zjlrqs目录下行业资金流向在all/zjlx/zjhhy目录下。defread_northbound_flow(dm,lookback_days30):file_pathos.path.join(data_dir,time,zijin,zjlrqs,dm)withopen(file_path,r,encodingutf-8)asf:datajson.load(f)dfpd.DataFrame(data)df.columns[dm,mc,cjsj,zlJlr,zlJlb,shJlb]df[cjsj]pd.to_datetime(df[cjsj])returndf.tail(lookback_days)资金流向的字段zlJlr是主力净流入万元zlJlb是主力净比%shJlb是散户净比%。现在把这些功能整合起来构建一个AH股溢价监测系统。系统每天盘后自动运行计算所有AH股的溢价率找出溢价最高和最低的股票结合资金流向进行分析。defah_premium_monitor():df_ahread_ah_stock_list()print(f共找到{len(df_ah)}只AH股)results[]for_,rowindf_ah.iterrows():dmrow[dm]mcrow[mc]dmHkrow[dmHk]mcHkrow[mcHk]try:df_premiumcalc_ah_premium(dm,dmHk)ifdf_premiumisNone:continueanalysisanalyze_premium(df_premium[premium])ifanalysisisNone:continueflowread_northbound_flow(dm)total_flowflow[zlJlr].sum()iflen(flow)0else0latest_flowflow[zlJlr].iloc[-1]iflen(flow)0else0result{dm:dm,mc:mc,dmHk:dmHk,mcHk:mcHk,current_premium:analysis[current_premium],mean_premium:analysis[mean_premium],percentile:analysis[percentile],trend:analysis[trend_10d],total_north_flow:total_flow,latest_north_flow:latest_flow}results.append(result)except:continuedf_resultpd.DataFrame(results)high_premiumdf_result.nlargest(10,current_premium)low_premiumdf_result.nsmallest(10,current_premium)print(\nAH股溢价最高TOP10)print(high_premium[[mc,current_premium,percentile,trend]].to_string(indexFalse))print(\nAH股溢价最低TOP10)print(low_premium[[mc,current_premium,percentile,trend]].to_string(indexFalse))returndf_result实际运行下来这个系统每天可以处理100多只AH股的数据分析整个过程大概需要30秒。系统输出的溢价排名和趋势分析可以帮助投资者快速定位投资机会。在使用过程中我发现了一些有意思的规律。第一当AH股溢价率处于历史高位80%时港股往往有更好的投资价值因为同一家公司的港股更便宜而且港股通的流动性在改善。第二当北向资金连续净流入某只AH股时往往预示着溢价率会收窄因为资金在同时买入A股和港股。第三银行、保险等金融股的AH溢价通常较高而消费、科技等行业的溢价相对较低。去年我用这个系统发现了一个投资机会招商银行的AH溢价率在2024年3月达到了历史高位85%同时北向资金连续10天净流入。我买入了港股招商银行持有3个月获得了25%的收益而同期A股招商银行只涨了8%。当然AH股投资也有风险。港股的流动性不如A股买卖价差较大港股的分红税也比A股高还有汇率风险。所以在做AH股投资时需要综合考虑这些因素不能只看溢价率。这个系统还在持续优化中。我计划加入更多的分析维度比如港股通的持股比例变化、行业对比分析、估值模型等。这些改进可以让系统的分析更加全面选股更加精准。做AH股投资数据是基础。你需要准确的AH股对应关系、实时的行情数据、完整的历史数据才能做出合理的分析。本地数据引擎提供的AH股数据接口为构建这样的分析系统提供了可能。我用的数据来自本地数据引擎接口完整、更新及时做二次开发很方便。感兴趣的朋友可以参考这个思路根据自己的投资风格来调整分析模型。接口说明base/gplist - 股票列表含AH股标记本地路径数据存放目录/base/gplist主要字段股票代码(dm)、股票名称(mc)、港股代码(dmHk)、港股名称(mcHk)、是否AH股(isAH)time/history/trade/{股票代码}/{周期} - 历史K线数据本地路径数据存放目录/time/history/trade/{dm}/{day|week|month}A股和港股的K线数据分别存放港股代码以H开头主要字段成交时间(cjsj)、成交价格(cjjg)、成交量(cjl)、涨跌幅(zf)time/zijin/zjlrqs/{股票代码} - 个股资金流向本地路径数据存放目录/time/zijin/zjlrqs/{dm}主要字段主力净流入(zlJlr)、主力净比(zlJlb)、散户净比(shJlb)all/zjlx/zjhhy - 行业资金流向本地路径数据存放目录/all/zjlx/zjhhy各行业的资金流入流出汇总数据gitee开源地址github开源地址
延伸阅读

更多相关文章

2026/10/26 6:19:58

零基础实现网页Live2D模型交互:从原理到实战部署

最近在逛一些技术社区和开源项目时,发现一个有趣的现象:越来越多的开发者,尤其是前端和游戏相关的同学,开始在自己的个人主页、博客或者数字名片里嵌入一个会动的二次元角色。这些角色不仅能眨眼、转头,甚至还能根据鼠…

2026/10/26 10:07:51

NModbus第三方库 Modbus-RTU 快速开发知识点总结(

一、核心前置知识点(必考)1.1 NModbus 库介绍NModbus / NModbus4 是 .NET 生态工业标准 Modbus 第三方开源库,封装了底层串口、CRC16、LRC、帧拼接、帧解析所有底层逻辑,开发者无需手写校验、组帧、解帧代码,直接调用A…

2026/10/28 18:55:03

Live2D模型网页集成实战:从原理到部署的完整指南

最近在逛一些技术社区和开源项目时,发现一个有趣的现象:很多开发者,尤其是前端和游戏方向的,开始热衷于在自己的个人主页、博客或者数字作品集里嵌入一个会动的“看板娘”或者角色。这不仅仅是静态的图片,而是一个能够…

2026/10/29 6:34:04

ACM 51个经典算法:从样板代码到可测试模板库

简介:这份面向ACM竞赛与算法进阶学习者的Word文档,围绕51个经典算法案例组织内容,适合需要从题目、思路到代码实现完整梳理算法体系的读者。压缩包内共1个doc文件,约1.77MB、126页,按案例分节呈现,便于集中…

2026/10/29 6:34:04

HarmonyOS秒拨实现:基于桌面卡片的原生快捷拨号方案

1. 为什么“秒拨”在 HarmonyOS 上不是个伪需求,而是被低估的效率断点HarmonyOS 手机用户里,真正用过“快捷拨号”功能的人,可能连三成都没有。不是大家不需要——谁没在开车时手忙脚乱翻通讯录、在厨房炒菜时湿着手想打个电话、在会议间隙想…

2026/10/29 6:34:04

Postman接口测试实战:从入门到自动化

1. Postman接口测试实战指南:从安装到自动化测试作为一名长期从事API开发和测试的工程师,我深刻理解Postman在接口测试中的核心价值。这个工具几乎成为了我们日常工作中不可或缺的伙伴,无论是简单的接口调试还是复杂的自动化测试流程&#xf…

2026/10/29 6:34:04

上班人导航:面向任务的信息系统设计实践

1. 这不是导航网站,而是一套“上班人信息生存系统”第一次点开 https://www.sbrdh.com/ 的时候,我下意识点了右上角的“搜索框”,输入“PDF转Word”,回车——页面没跳转,也没弹出结果列表,而是直接在当前页…

2026/10/29 6:29:04

AI Agent Skills机制拆解:从Prompt到可复用技能包的工程实践

最近在开发者社区逛了一圈,发现一个词出现的频率高得吓人:Skills。GitHub上带Skills标签的仓库越来越多,各家AI Agent产品也陆续把"技能市场"做成了标配。我实际动手做下来之后,最大的感受是——这不只是一个新概念&…

2026/10/28 14:42:12

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/28 15:28:56

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/28 3:32:29

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/29 0:03:42

学生选课系统DFD图绘制指南:边界划分与分层校验实战

简介:文档以顶层与第一层DFD图为核心,完整刻画学生选课系统的逻辑模型,面向软件工程课程设计、系统分析学习及毕设前期建模人群。顶层图界定系统边界,外部实体包括管理员、教师和学生三类角色;第一层图进一步细化用户登…

2026/10/29 0:03:42

JIRA敏捷落地:Scrum角色权限、Sprint与燃尽图避坑指南

简介:围绕“基于JIRA的敏捷开发项目管理”这一主题,面向产品负责人、Scrum Master及研发测试成员,梳理Scrum角色分工、迭代流程与JIRA工具配置的对应关系,适合初、中级团队导入敏捷管理时参考。压缩包共1个docx文件,大…

2026/10/29 0:03:42

SEMI S8人机工程验收实战:从条款拆解到现场实测的完整指南

简介:面向半导体设备设计、制造与运维工程师及安全合规人员,这份资料聚焦SEMI标准体系下的设备安全规范,重点收录SEMI S8-0308《半导体制造设备人体工程学工程安全指南》。内容围绕设备设计原则、错误与事故预防、人体工程学适配三大主线展开…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑