← 返回博客列表

【Python量化实战全攻略 #21】北向资金跟随手册:聪明钱择时信号(附代码)

2026年10月20日 09:27 · 智兔数服 · Python量化实战全攻略

摘要:【Python量化实战全攻略 #21】北向资金跟随手册:聪明钱择时信号(附代码) 手册定位:模块三第 5 篇。北向资金(陆股通)被市场视为「聪明钱」,其持续净流入常领先行情。本篇讲怎么用北向净流入序列构建择时信号。 数据来源复用 #05 北

手册定位:模块三第 5 篇。北向资金(陆股通)被市场视为「聪明钱」,其持续净流入常领先行情。本篇讲怎么用北向净流入序列构建择时信号。
数据来源复用 #05 北向资金(历史走势 /ht/nbzj/bxls/1)。

1. 你将得到什么

  • 北向每日/累计净流入序列的取数与整理;
  • 三种信号:连续净流入天数、N 日净流向、北向突破均线;
  • 北向信号与指数择时的结合;
  • 北向跟随的 4 个坑(短线噪声、政策扰动、额度、与指数背离)。

2. 取数约定(复用)

信号 来源端点 见
北向历史走势 /ht/nbzj/bxls/1(日) #05
北向最新概览 /ht/nbzj/lxgl #05

3. 数据来源(复用,不重复罗列)

详见 #05 资金流向接口手册(北向 /ht/nbzj/*)。

4. 核心模板函数(自包含可跑)

import pandas as pd
import numpy as np

_MOCK = True


def north_signal(north_inflow, n=5):
    s = pd.Series(north_inflow)
    roll = s.rolling(n).sum()
    return ((roll > 0) & (s > 0)).astype(int)


def consec_up(signal_series):
    s = pd.Series(signal_series)
    return s.groupby((s != s.shift()).cumsum()).cumsum()


def run_check():
    north = [ -2e9, 1e9, -1e9, 3e9, 4e9, 5e9, 6e9, 2e9, 3e9, 4e9]
    sig = north_signal(north, n=5)
    assert sig.iloc[-1] == 1
    assert sig.iloc[2] == 0
    print("校验通过 | 末态北向信号=%d 连续天数=%d" % (sig.iloc[-1], consec_up(sig).iloc[-1]))
    return sig


if __name__ == "__main__":
    run_check()

5.跑通示例

sig = run_check()
print("大盘北向开关:", "可持仓" if sig.iloc[-1] else "观望")

6. 坑与注意事项

  1. 短线噪声:单日北向受汇率、外围影响大,用 N 日累计平滑。
  2. 政策扰动:北向交易规则/额度调整会造成异常值,要做去极值。
  3. 额度天花板:极端日会「买满」失真,信号要截断。
  4. 与指数背离:北向看多但指数跌的背离期常见,最好和价格趋势共振确认。

7. 小结与下一篇预告

北向跟随补上「资金面择时」维度。下一篇讲涨跌停/连板情绪——用市场情绪指标做择时。

下一篇预告:《【Python量化实战全攻略 #22】涨跌停、连板情绪手册:情绪指标构建(附代码)》

8. 免责声明

本文为择时方法示例,演示数据为虚构,不构成投资建议。


关于数据来源:本文北向信号所需的接口来自智兔数服(www.zhituapi.com)官方文档(详见本系列 #05),覆盖 200+ 已验证路径,注册可领免费 token 做研究测试。
更多实战手册见技术博客:zhituapi.com/blog.html。
本系列《Python量化实战全攻略》共 32 篇,下一篇讲情绪择时。

想亲自试一下?免费获取证书