ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

【零依赖量化数据实战 #16】港股通资金与持股:4 个 URL 做北上资金扫描

【零依赖量化数据实战 #16】港股通资金与持股:4 个 URL 做北上资金扫描 【港股通 #16】北上资金流向 / 沪深股通持仓 / AH 对比4 个 URL 做资金面扫描系列《零依赖量化数据实战》零依赖 · 纯 GET · 不 import 任何 SDK适用想做港股通资金面监控、北上资金持仓追踪、AH 股折溢价套利不想装库或对接多个数据源的开发者你将得到什么4 个「港股通资金」端点的路径、返回字段和语义陆股通流向 / 沪股通持仓 / 深股通持股 / AH 对比照公开文档核对过的不是猜的一段hk_connect_scan()把 4 个端点一次性拉齐做一张「北上资金面」快照字段名容错写法候选键命中对字段名不敏感、对形态list / dict不敏感完整可复制运行代码把你的token换成真实智兔证书即可直接跑一、四个端点一张语义表「港股通资金面」拆成 4 个端点路径前缀统一走/ht/nbzj/无路径参数。GET https://api.zhituapi.com/ht/nbzj/lxgl 陆股通资金流向北向资金净买入 GET https://api.zhituapi.com/ht/nbzj/hgtc 沪股通持仓沪市北向持股明细 GET https://api.zhituapi.com/ht/nbzj/sgtc 深股通持股深市北向持股明细 GET https://api.zhituapi.com/ht/nbzj/ah AH 股对比两地上市折溢价鉴权统一?token你的token。4 个端点都是整板/全量返回无路径参数。lxgl给资金流向量净买入/净卖出hgtc/sgtc分别给沪深两市的北向持股明细ah给 AH 两地上市的折溢价对比。一个实际用法先用lxgl看当天北向资金整体净流入/流出 → 用hgtc/sgtc看北向重仓了哪些股 → 用ah找 AH 折价大的标的做套利。四步串起来就是一张「北上资金面扫描看板」。二、字段名不固定用候选键命中港股通接口的返回字段名可能因数据源更新而变化。与其硬编码字段名改了就全崩不如用候选键列表命中抽取def_hit_key(d,cands):从字典中按候选键名列表命中第一个存在的键。ifnotisinstance(d,dict):returnNoneforkincands:ifkind:returnkreturnNonedef_to_float(v):把可能是 5.2% / 5.2 / None 的值归一成 float。ifvisNone:returnNoneifisinstance(v,(int,float)):returnfloat(v)sstr(v).replace(%,).replace(,,).strip()try:returnfloat(s)exceptValueError:returnNonedefsummarize_hk(name,data):从港股通返回中抽取关键字段做汇总对字段名不敏感、对形态不敏感。ifdataisNone:returnf{name}: 无数据ifisinstance(data,list):ifnotdata:returnf{name}: 0 条firstdata[0]ifisinstance(data[0],dict)else{}code_key_hit_key(first,[code,dm,symbol,gpdm,stockcode])name_key_hit_key(first,[name,mc,gpmc,shortname])amount_key_hit_key(first,[amount,je,cje,netbuy,jme,amt])parts[f{name}:{len(data)}条]ifcode_key:parts.append(f首条代码{first.get(code_key)})ifname_key:parts.append(f名称{first.get(name_key)})ifamount_key:parts.append(f金额键{first.get(amount_key)})return | .join(parts)ifisinstance(data,dict):keyslist(data.keys())[:6]returnf{name}: 聚合对象键{keys}returnf{name}:{type(data).__name__}这样就算数据源把dm改成stockcode代码不用动。命不中也不报错——只是那行汇总少一个字段。三、北上资金面扫描把 4 个端点拉齐做快照核心不是「把四个接口都调通」而是把资金流向 持仓 折溢价三个维度归一后做全景扫描。我们关心两件事每个端点各返回多少条、首条长什么样确认数据到位北向整体是净流入还是净流出、沪深两市持仓标的数对比importsys,timeimportrequests TOKEN你的token# ← 换成你的真实 tokenBASEhttps://api.zhituapi.comHK_ENDPOINTS{lxgl:(/ht/nbzj/lxgl,陆股通资金流向),hgtc:(/ht/nbzj/hgtc,沪股通持仓),sgtc:(/ht/nbzj/sgtc,深股通持股),ah:(/ht/nbzj/ah,AH股对比),}deffetch(name,tokenTOKEN,timeout15):拉一个港股通端点返回 (data, err)。path,_HK_ENDPOINTS[name]urlf{BASE}{path}try:rrequests.get(url,params{token:token},timeouttimeout)exceptrequests.RequestExceptionase:returnNone,f网络异常{e}ifr.status_code!200:returnNone,f{r.status_code}{r.text.strip()[:140]}try:payloadr.json()exceptValueError:returnNone,f非 JSON 返回{r.text[:140]}ifisinstance(payload,dict):detailpayload.get(detail)orpayload.get(error)returnNone,f业务错误{detailorlist(payload)[:6]}returnpayload,Nonedefhk_connect_scan(tokenTOKEN,sleep0.2):拉 4 个港股通端点做一张「北上资金面」快照。iftoken你的token:print([演示] TOKEN 为占位符下面请求会返回错误码契约请换成真实 token 后再跑。)snap{}fornameinHK_ENDPOINTS:data,errfetch(name,tokentoken)iferr:print(f{name}({HK_ENDPOINTS[name][1]}): 暂不可用{err})snap[name]Noneelse:print(summarize_hk(name,data))snap[name]data time.sleep(sleep)returnsnapsleep0.2是限频保护——4 个端点 0.2 秒间隔 ≈ 0.8 秒远在限频内。四、代码自验结果离线自测 6 项全 PASS真实输出不联网selftest PASS: 端点注册完整(4/4) / _hit_key 命中 / _to_float 去百分号 / 列表汇总 / 空数据兜底 / 字段名不敏感 共 6 项联网跑占位 token真实输出[演示] TOKEN 为占位符下面请求会返回错误码契约请换成真实 token 后再跑。 lxgl (陆股通资金流向): 暂不可用404 102:Licence证书(你的token)不存在 hgtc (沪股通持仓): 暂不可用404 102:Licence证书(你的token)不存在 sgtc (深股通持股): 暂不可用404 102:Licence证书(你的token)不存在 ah (AH股对比): 暂不可用404 102:Licence证书(你的token)不存在4 个端点契约一致单端点失败不影响整体流程、程序友好退出。本文未编造任何港股通资金/持仓数据——换成覆盖该接口的正式证书后重跑即可打印真实北上资金面全景。五、坑与注意事项坑 #1102 不代表路径写对了。鉴权发生在路由匹配之前。把路径故意写错配无效 token同样返回102。路径合法性只能靠客户端按白名单自查——本文 4 个路径是照公开文档核对的。坑 #2lxgl是资金流量hgtc/sgtc是持仓存量。lxgl流向给的是当天/近期的净买入/净卖出金额流量hgtc/sgtc持仓给的是北向资金当前持有的标的明细存量。别把流量当存量——持仓数据反映的是累计持有不是当天买卖。坑 #3沪股通和深股通的标的范围不同。沪股通hgtc覆盖沪市标的深股通sgtc覆盖深市标的两者不重叠。同一只股票不会同时出现在两个池子里AH 股除外。合并看时要按代码区分沪深。坑 #4ah的折溢价方向要看清。AH 对比端点给出的是 A 股相对 H 股的折溢价。溢价为正说明 A 股贵于 H 股为负说明 A 股便宜于 H 股。做套利时方向反了会亏——A 股溢价时应该买 H 卖 A不是反过来。小结与下篇预告这篇你拿到了 4 个港股通资金端点流向/沪持仓/深持仓/AH对比、字段名容错抽取写法、以及一个把 4 维拉齐做北上资金面全景扫描的模板顺带避开了 102 误判、流量存量混淆、沪深标的重叠、AH 折溢价方向四个坑。下一篇#17讲A 股公司基本面——用/hs/gs/gsjj公司简介/hs/gs/cwzb财务指标/hs/gs/sdgd十大股东/hs/gs/ltgd流通股东/hs/gs/jjcg基金持仓把视野从资金面拉到公司面做一张「个股基本面画像」。免责声明本文仅演示公开数据接口的用法所有代码示例均以占位 token 自验未含任何真实数据文中合成数据仅为逻辑自验用途不构成投资建议亦不承诺收益。
返回列表