ARTICLE DETAIL

资讯详情

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

沪深港通数据实战:从北向资金到择时信号的全链路量化(第 6 篇):沪、深股通十大成交股:北向当日偏好

沪深港通数据实战:从北向资金到择时信号的全链路量化(第 6 篇):沪、深股通十大成交股:北向当日偏好 沪深港通数据实战从北向资金到择时信号的全链路量化第 6 篇沪、深股通十大成交股北向当日偏好一、前言整体净流入告诉你「北向在买」十大成交股告诉你「北向在买什么」。本篇接入ht/nbzj/hgts沪股通十大成交与ht/nbzj/sgts深股通十大成交把北向当日最活跃成交股落库并按净买相关字段排序量化北向资金的「主攻方向」。二、接口与字段2.1 沪股通十大成交股/ht/nbzj/hgts字段含义按官方字段名推断pm排名dm / mc代码 / 名称c / zdf成交价 / 涨跌幅jm净买额mr / mce买入额 / 买入额币种口径cj成交额t时间2.2 深股通十大成交股/ht/nbzj/sgts字段与hgts完全一致10 个。三、自研衍生指标北向净买 TOP按jm降序取北向沪深合并净买最强的标的。净买额占比个股净买额 / 北向当日总净买衡量资金集中度。偏好行业线索对mc做简单计数观察北向集中赛道演示用。四、数据表设计CREATETABLEht_hgts(pmTEXT,dmTEXT,mcTEXT,cTEXT,zdfTEXT,jmTEXT,mrTEXT,mceTEXT,cjTEXT,tTEXT);-- ht_sgts 同构五、完整代码importurllib.request,json,sqlite3,time,loggingimportpandasaspd LICENCEYOUR_LICENCE_HEREDB_PATHquant.dbLOG_FILEseason4_article6.logBASEhttps://api.biyingapi.comlogging.basicConfig(filenameLOG_FILE,levellogging.INFO,format%(asctime)s %(levelname)s %(message)s)TOP_COLS[pm,dm,mc,c,zdf,jm,mr,mce,cj,t]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)returnNonedef_as_list(data):returndataifisinstance(data,list)else[data]defsave_top(name,path):urlf{BASE}/ht/nbzj/{path}/{LICENCE}databiying_api_get_retry(url)ifnotdata:returnrows_as_list(data)connsqlite3.connect(DB_PATH)coldef,.join(f{c}TEXTforcinTOP_COLS)conn.execute(fCREATE TABLE IF NOT EXISTS{name}({coldef}))ph,.join(?*len(TOP_COLS))forrinrows:conn.execute(fINSERT INTO{name}VALUES ({ph}),[r.get(c)forcinTOP_COLS])conn.commit();conn.close()logging.info(%s saved %d rows,name,len(rows))defsave_hgts():save_top(ht_hgts,hgts)defsave_sgts():save_top(ht_sgts,sgts)deftop_netbuy():connsqlite3.connect(DB_PATH)dfs[]fornamein[ht_hgts,ht_sgts]:dfpd.read_sql(fSELECT mc, jm, cj FROM{name},conn)ifnotdf.empty:dfs.append(df)conn.close()ifnotdfs:returnalldpd.concat(dfs,ignore_indexTrue)alld[jm]pd.to_numeric(alld[jm],errorscoerce)alld[cj]pd.to_numeric(alld[cj],errorscoerce)print(北向净买 TOP5:)print(alld.sort_values(jm,ascendingFalse).head(5).to_string(indexFalse))totalalld[jm].sum()print(北向当日净买合计: %.2f 个股均值: %.2f%(total,alld[jm].mean()))if__name____main__:save_hgts()save_sgts()top_netbuy()六、业务关键点十大成交是「榜」不是全量它代表北向当日最活跃的方向适合做偏好跟踪而非全覆盖统计。jm净买额可能含正负排序时务必pd.to_numeric再排避免字符串字典序错乱。本篇与第 8 篇的「周期排名」互补本篇看当日爆发力第 8 篇看持续度。七、拓展练习把沪/深股通十大成交按mc合并去重统计个股同时在两榜出现的次数。用多日十大成交做「北向持续买入榜」滚动统计。将净买 TOP 与第 3 篇成分股pc对照看北向偏好股当日是否跑赢北向池均值。八、下篇预告下一篇《港股通十大成交股沪、深港股通偏好》将接入ht/nbzj/hcjd与ht/nbzj/scjd把南向港股通十大成交股落库与北向偏好做双向对照。免责申明文中所有数据处理逻辑仅为编程演示仅为数据演示不构成投资建议。市场有风险投资需谨慎。
返回列表