新闻详情

新闻详情

首页 / 资讯中心 / 详情

沪深港通数据实战:从北向资金到择时信号的全链路量化(第 1 篇):沪深港通全景接入:资金流向概览、历史走势与总览

发布时间:2026/9/27 23:07:38来源:尧图网络
沪深港通数据实战:从北向资金到择时信号的全链路量化(第 1 篇):沪深港通全景接入:资金流向概览、历史走势与总览
沪深港通数据实战从北向资金到择时信号的全链路量化第 1 篇沪深港通全景接入资金流向概览、历史走势与总览一、前言沪深港通是外资配置 A 股、内资配置港股的主通道。市场习惯把「北向资金」沪股通深股通视为外资情绪的风向标把「南向资金」港股通沪港股通深视为内资南下意愿的晴雨表。本季《沪深港通数据实战从北向资金到择时信号的全链路量化》规划 12 篇围绕官方/ht/nbzj/接口族从资金流向概览一路做到可落地的北向择时信号。本篇是开篇目标是把 5 个基础接口一次性接入、落库并验证「北向≈沪股通深股通」这一自研恒等式为后续走势深度第 2 篇与择时综合指标第 11 篇打底。系列沿用统一规范域名固定api.biyingapi.comLICENCE / DB_PATH / LOG_FILE为全局常量网络请求统一走biying_api_get_retry带重试本地落库用 SQLitequant.db代码块语法均通过ast.parse自检。二、接口与字段本篇覆盖 5 个只读接口字段全部以官方 API 文档为准零编造。2.1 最新资金流向概览/ht/nbzj/lxgl字段含义按官方字段名推断type渠道类型如沪股通/深股通/港股通等tname渠道名称dir流向方向netbuy净买入额netin净流入额remain当日余额up / ping / down上涨 / 平盘 / 下跌家数idx / idxdm / idxzd关联指数 / 指数代码 / 指数涨跌status状态2.2 北向资金历史走势/ht/nbzj/bxls/阶段(如1)字段含义bx北向资金净流入hgt沪股通净流入sgt深股通净流入t日期2.3 南向资金历史走势/ht/nbzj/nxls/阶段(如1)字段含义nx南向资金净流入ggth港股通沪净流入ggts港股通深净流入t日期2.4 北向资金历史总览/ht/nbzj/bxzl字段含义bx1m / hgt1m / sgt1m近 1 月北向 / 沪股通 / 深股通累计bx6m / hgt6m / sgt6m近 6 月累计bx1y / hgt1y / sgt1y近 1 年累计bxall / hgtall / sgtall开通以来全部累计2.5 南向资金历史总览/ht/nbzj/nxzl字段含义nx1m / ggth1m / ggts1m近 1 月南向 / 港股通沪 / 港股通深累计nx6m / ggth6m / ggts6m近 6 月累计nx1y / ggth1y / ggts1y近 1 年累计nxall / ggthall / ggtsall开通以来全部累计三、自研衍生指标接口只返回裸字段以下指标全部在 Python 中手写北向恒等式校验bx ≈ hgt sgt。官方分别给出北向与沪/深分项我们用加法做交叉验证偏差接近 0 说明数据自洽。南向恒等式校验nx ≈ ggth ggts同理。概览涨跌广度用up / ping / down计算北向通道覆盖标的的上涨占比作为情绪快照。四、数据表设计5 张表分别存放 5 个接口。以quant.db为统一库。CREATETABLEht_lxgl(typeTEXT,tnameTEXT,dirTEXT,netbuyREAL,netinREAL,remainREAL,upINTEGER,pingINTEGER,downINTEGER,idxTEXT,idxdmTEXT,idxzdREAL,statusTEXT,tsTEXT);CREATETABLEht_bxls(tTEXT,bxREAL,hgtREAL,sgtREAL);CREATETABLEht_nxls(tTEXT,nxREAL,ggthREAL,ggtsREAL);CREATETABLEht_bxzl(bx1mREAL,hgt1mREAL,sgt1mREAL,bx6mREAL,hgt6mREAL,sgt6mREAL,bx1yREAL,hgt1yREAL,sgt1yREAL,bxallREAL,hgtallREAL,sgtallREAL,tsTEXT);CREATETABLEht_nxzl(nx1mREAL,ggth1mREAL,ggts1mREAL,nx6mREAL,ggth6mREAL,ggts6mREAL,nx1yREAL,ggth1yREAL,ggts1yREAL,nxallREAL,ggthallREAL,ggtsallREAL,tsTEXT);五、完整代码importurllib.request,json,sqlite3,time,loggingimportpandasaspdfromdatetimeimportdatetime LICENCEYOUR_LICENCE_HEREDB_PATHquant.dbLOG_FILEseason4_article1.logBASEhttps://api.biyingapi.comlogging.basicConfig(filenameLOG_FILE,levellogging.INFO,format%(asctime)s %(levelname)s %(message)s)defbiying_api_get_retry(url,timeout15,max_retry3):带重试的官方接口请求封装。lastNoneforiinrange(max_retry):try:requrllib.request.Request(url,headers{User-Agent:Mozilla/5.0})withurllib.request.urlopen(req,timeouttimeout)asresp:returnjson.loads(resp.read().decode(utf-8))exceptExceptionase:laste logging.warning(retry %d/%d %s %s,i1,max_retry,url,e)time.sleep(1)logging.error(api failed %s %s,url,last)returnNonedefwith_exchange_suffix(code):沪深港通接口返回的代码已是标准代码如 600519.SH / 00700.HK原值透传。returncodedefget_conn():returnsqlite3.connect(DB_PATH)def_as_list(data):returndataifisinstance(data,list)else[data]defsave_lxgl():urlf{BASE}/ht/nbzj/lxgl/{LICENCE}databiying_api_get_retry(url)ifnotdata:returnrows_as_list(data)connget_conn()conn.execute(CREATE TABLE IF NOT EXISTS ht_lxgl ( type TEXT, tname TEXT, dir TEXT, netbuy REAL, netin REAL, remain REAL, up INTEGER, ping INTEGER, down INTEGER, idx TEXT, idxdm TEXT, idxzd REAL, status TEXT, ts TEXT))forrinrows:conn.execute(INSERT INTO ht_lxgl VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?),(r.get(type),r.get(tname),r.get(dir),r.get(netbuy),r.get(netin),r.get(remain),r.get(up),r.get(ping),r.get(down),r.get(idx),r.get(idxdm),r.get(idxzd),r.get(status),datetime.now().isoformat()))conn.commit();conn.close()logging.info(lxgl saved %d rows,len(rows))defsave_bxls(stage1):urlf{BASE}/ht/nbzj/bxls/{stage}/{LICENCE}databiying_api_get_retry(url)ifnotdata:returnrows_as_list(data)connget_conn()conn.execute(CREATE TABLE IF NOT EXISTS ht_bxls (t TEXT, bx REAL, hgt REAL, sgt REAL))forrinrows:conn.execute(INSERT INTO ht_bxls VALUES (?,?,?,?),(r.get(t),r.get(bx),r.get(hgt),r.get(sgt)))conn.commit();conn.close()logging.info(bxls saved %d rows,len(rows))defsave_nxls(stage1):urlf{BASE}/ht/nbzj/nxls/{stage}/{LICENCE}databiying_api_get_retry(url)ifnotdata:returnrows_as_list(data)connget_conn()conn.execute(CREATE TABLE IF NOT EXISTS ht_nxls (t TEXT, nx REAL, ggth REAL, ggts REAL))forrinrows:conn.execute(INSERT INTO ht_nxls VALUES (?,?,?,?),(r.get(t),r.get(nx),r.get(ggth),r.get(ggts)))conn.commit();conn.close()logging.info(nxls saved %d rows,len(rows))defsave_bxzl():urlf{BASE}/ht/nbzj/bxzl/{LICENCE}databiying_api_get_retry(url)ifnotdata:returnconnget_conn()conn.execute(CREATE TABLE IF NOT EXISTS ht_bxzl ( bx1m REAL, hgt1m REAL, sgt1m REAL, bx6m REAL, hgt6m REAL, sgt6m REAL, bx1y REAL, hgt1y REAL, sgt1y REAL, bxall REAL, hgtall REAL, sgtall REAL, ts TEXT))conn.execute(INSERT INTO ht_bxzl VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?),(data.get(bx1m),data.get(hgt1m),data.get(sgt1m),data.get(bx6m),data.get(hgt6m),data.get(sgt6m),data.get(bx1y),data.get(hgt1y),data.get(sgt1y),data.get(bxall),data.get(hgtall),data.get(sgtall),datetime.now().isoformat()))conn.commit();conn.close()logging.info(bxzl saved)defsave_nxzl():urlf{BASE}/ht/nbzj/nxzl/{LICENCE}databiying_api_get_retry(url)ifnotdata:returnconnget_conn()conn.execute(CREATE TABLE IF NOT EXISTS ht_nxzl ( nx1m REAL, ggth1m REAL, ggts1m REAL, nx6m REAL, ggth6m REAL, ggts6m REAL, nx1y REAL, ggth1y REAL, ggts1y REAL, nxall REAL, ggthall REAL, ggtsall REAL, ts TEXT))conn.execute(INSERT INTO ht_nxzl VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?),(data.get(nx1m),data.get(ggth1m),data.get(ggts1m),data.get(nx6m),data.get(ggth6m),data.get(ggts6m),data.get(nx1y),data.get(ggth1y),data.get(ggts1y),data.get(nxall),data.get(ggthall),data.get(ggtsall),datetime.now().isoformat()))conn.commit();conn.close()logging.info(nxzl saved)defself_check():自研校验北向沪股通深股通南向港股通沪港股通深。connget_conn()dfpd.read_sql(SELECT * FROM ht_bxls ORDER BY t,conn)conn.close()if{bx,hgt,sgt}.issubset(df.columns):df[check](df[hgt]df[sgt]-df[bx]).abs()print(df.tail(5).to_string())print(最大偏差:,df[check].max())if__name____main__:save_lxgl()save_bxls(stage1)save_nxls(stage1)save_bxzl()save_nxzl()self_check()六、业务关键点lxgl是「最新快照」每次拉取建议覆盖写入或带时间戳追加本篇用追加时间戳便于看日内变化。bxls / nxls的阶段参数控制时间粒度如 1日度不同会员等级返回窗口不同落地前先用小阶段验证。bxzl / nxzl是累计值单条记录建表时注意去重可按ts保留多版本。所有代码走biying_api_get_retry避免盘中限频导致整批失败。七、拓展练习把self_check的偏差阈值固化成断言偏差超 1e-6 即告警。用lxgl的up/ping/down计算每日北向覆盖标的上涨占比存成独立时序表。将 5 张表统一加上source字段标记接口名方便后续联表。八、下篇预告下一篇《北向资金走势深度累计净流入与自研动量信号》将基于本篇落库的ht_bxls / ht_bxzl计算累计净流入曲线、净流入 N 日动量并给出可量化的择时阈值信号。免责申明文中所有数据处理逻辑仅为编程演示仅为数据演示不构成投资建议。市场有风险投资需谨慎。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

ChatGPT-Shortcut 同步更新指南:用 Fork 与 GitHub Actions 让站点每日自动跟随上游 2026/9/27 23:49:08

ChatGPT-Shortcut 同步更新指南:用 Fork 与 GitHub Actions 让站点每日自动跟随上游

AI 应用提示工程人工智能前端 【免费下载链接】ChatGPT-Shortcut Stop writing prompts from scratch — a searchable prompt library for ChatGPT, Claude, Gemini and Cursor Русский 한국어 العربية हिन्दी ไทย | 别再从头写提示词&…

阅读更多 →
Superpowers:给Codex加装自动化工作流,编码执行更听话 2026/9/27 23:49:01

Superpowers:给Codex加装自动化工作流,编码执行更听话

如果你也跟我一样,早就在终端里把 Codex 用上了,但总觉得它在“执行”这件事上还不够听话,那你大概需要看看Superpowers这个东西。我最初注意到它,是因为每天要反复给 Codex 输入同一类指令:读哪个文件、改哪段逻辑、跑…

阅读更多 →
基于YOLOv8的交通标志检测识别系统:从数据集到Gradio界面全流程 2026/9/27 23:48:55

基于YOLOv8的交通标志检测识别系统:从数据集到Gradio界面全流程

简介:这份资源是基于YOLOv8的交通标志检测识别系统完整项目源码,面向高校学生、课程设计及毕业设计人群,尤其适合需要完成期末大作业或希望快速上手目标检测实战的新手。项目采用YOLOv8模型结合PySide6搭建图形界面,实现交通标志的…

阅读更多 →
车牌识别计费系统源码拆包:从入场到抬杆的闭环实现与避坑指南 2026/9/27 23:48:54

车牌识别计费系统源码拆包:从入场到抬杆的闭环实现与避坑指南

简介:这份智能停车场车牌识别计费系统源码包,面向计算机相关专业的毕业设计学生、课程设计开发者以及想入门计算机视觉与全栈开发的初学者。资源以Python为核心,串联车牌识别、计费逻辑、微信小程序与安卓端交互等模块,帮助读者理…

阅读更多 →
AlgoNote 数组排序全攻略:分类体系、评价指标与十种排序算法的源码级选型指南 2026/9/27 23:48:48

AlgoNote 数组排序全攻略:分类体系、评价指标与十种排序算法的源码级选型指南

教程文档知识库 【免费下载链接】AlgoNote ⛽️「算法通关手册」:从零开始的「算法与数据结构」学习教程,200 道「算法面试热门题目」,1000 道「LeetCode 题目解析」,持续更新中! 项目地址: https://gitcod…

阅读更多 →
PaddleSeg 模型训练技巧:损失权重、Backbone/Head 分层学习率与线性 Warmup 实战指南 2026/9/27 23:48:48

PaddleSeg 模型训练技巧:损失权重、Backbone/Head 分层学习率与线性 Warmup 实战指南

人工智能计算机视觉预训练 【免费下载链接】PaddleSeg Easy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉