📋 聪明钱动线追踪 SOP

版本:v4.5(2026年7月修订)
适用对象:非金融背景、月级+短周期结合操作的A股投资者
重要变更:详见末尾「版本历史」
核心逻辑:大盘观察 → 板块主线 → 个股标的
← 返回首页

一、概述

本SOP的目标是:通过追踪"聪明钱"(主力资金、北向资金、融资融券、汇率等)的动线,找到市场主线和资金聚集的标的。

整体架构

┌─────────────────────────────────────────────────────────┐ │ 大盘体检(观察层) │ │ 目的:客观描述当前各市场资金情况 │ │ 方法:11个指标 → 双窗口标准化 → 每日滑动PCA → 综合得分 │ └─────────────────────────────────────────────────────────┘ ↓ 风险参考 ┌─────────────────────────────────────────────────────────┐ │ 板块追踪(分析层) │ │ 目的:识别主线板块 │ │ 方法:一次数据调用(20日) → 三维度分析(资金动线/轮动观察/指标) → LLM+规则双结论体系 │ └─────────────────────────────────────────────────────────┘ ↓ 板块结论 ┌─────────────────────┐ ┌─────────────────────────────┐ │ A部分选股 │ │ B部分选股 │ │ 月度中线右侧跟随 │ │ 周/日级短线动量跟随 │ │ 过滤→排序→选股 │ │ 过滤→排序→选股 │ └─────────────────────┘ └─────────────────────────────┘

二、个人参数设定

以下参数根据你的投资特点制定,可根据实际情况调整
参数设定值说明
排除标的ST股、停牌股不纳入选股范围
市值偏好50-500亿流通市值过滤范围

三、大盘体检(分析层)

3.1 指标定义

共11个指标,覆盖4个市场 + 汇率:

编号指标数据来源
1上证主力资金净流入(亿元)moneyflow_mkt_dc
2上证涨跌幅(%)moneyflow_mkt_dc
3深证主力资金净流入(亿元)moneyflow_mkt_dc
4深证涨跌幅(%)moneyflow_mkt_dc
5创业板涨跌幅(%)moneyflow_mkt_dc
6科创板涨跌幅(%)moneyflow_mkt_dc
7融资余额(上海)变化率(%)margin (exchange_id='SSE')
8融资余额(深圳)变化率(%)margin (exchange_id='SZSE')
9北向成交额放大倍数moneyflow_hsgt
10融资余额综合变化率(%)margin汇总
11美元兑离岸人民币汇率变化率(%)fx_daily (USDCNH.FXCM)

3.2 每日滑动窗口训练

import numpy as np
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler

def daily_pca_analysis(today_data):
    # 获取过去60个交易日的数据(11个指标)
    history_data = get_history_data(days=60)  # 60行 × 11列

    # 标准化历史数据(双窗口标准化后再StandardScaler)
    scaler = StandardScaler()
    history_normalized = scaler.fit_transform(history_data)

    # 训练PCA模型
    pca = PCA(n_components=1)
    pca.fit(history_normalized)
    weights = pca.components_[0]  # shape: (11,)

    # 标准化当日数据
    today_normalized = scaler.transform(today_data.reshape(1, -1))

    # 计算综合得分
    S = pca.transform(today_normalized)[0][0]

    return S, weights

3.3 双窗口标准化

11 个指标的单位、量级差异很大("亿元"、"%"、"倍数"),直接相加没有意义。需要先把每个指标转换成"距离均值多少个标准差"——这就是 Z 分数(Z-score)。

计算方式
短期(20日)Z 分数:z_20 = (今天值 - 过去20日均值) / 过去20日标准差
长期(60日)Z 分数:z_60 = (今天值 - 过去60日均值) / 过去60日标准差
最终 Z 分数:        z    = (z_20 + z_60) / 2

3.4 综合得分含义

阈值设定方法:历史分位数

由于PCA得分是每日动态计算的,阈值也应当动态调整。使用过去60日的得分计算分位数:

import numpy as np

# 获取过去60日的综合得分历史
scores = get_historical_scores(days=60)

# 计算分位数
q_75 = np.percentile(scores, 75)   # 75%分位数
q_50 = np.percentile(scores, 50)   # 50%分位数(中位数)
q_25 = np.percentile(scores, 25)   # 25%分位数

# 当日判断
if S > q_75:
    status = "明显偏多"
elif S > q_50:
    status = "略偏多"
elif S > q_25:
    status = "中性"
elif S > q_50 - (q_50 - q_25):
    status = "略偏空"
else:
    status = "明显偏空"

# 极端信号
if S > q_75 + 1.5 * (q_75 - q_25) or S < q_25 - 1.5 * (q_75 - q_25):
    status = "极端信号"

综合得分含义表

综合得分 S含义
S > Q75(75%分位数)明显偏多
Q50 < S ≤ Q75略偏多
Q25 < S ≤ Q50中性
Q25 - (Q75-Q25) < S ≤ Q25略偏空
S ≤ Q25 - (Q75-Q25)明显偏空
超出1.5倍四分位距极端信号
其中 Q75 = 75%分位数,Q50 = 50%分位数(中位数),Q25 = 25%分位数。四分位距 IQR = Q75 - Q25

3.5 分市场观察

市场观察指标状态判定
上证主力资金 + 涨跌幅短期与长期同向→确认;反向→转折
深证主力资金 + 涨跌幅同上
创业板涨跌幅同上
科创板涨跌幅同上
融资上海变化率同上
融资深圳变化率同上
汇率变化率上升=美元强,下降=人民币强

3.6 输出格式

【大盘综合情况】
综合得分 S = ____(当日计算)
趋势判断:偏多 / 偏空 / 中性 / 转折中

【第一主成分权重】(11个指标)
上证主力:___ 上证涨幅:___ 深证主力:___ 深证涨幅:___
创业板:___ 科创板:___ 融资上海:___ 融资深圳:___
北向放大:___ 融资综合:___ 汇率变化:___

【分市场观察】
上证:___
深证:___
创业板:___
科创板:___
融资上海:___
融资深圳:___
汇率:___

【风险提示】
- 综合得分绝对值 > 1.5:极端信号
- 短期与长期信号相反:转折期
- 汇率与北向资金反向:需特别关注

【北向窗口】(龙虎榜异动股中的北向方向)
- 北向净买入/净卖出金额:___
- 上榜个股中北向净买入数量:___只,净卖出数量:___只
- 仅覆盖当日异动股,不代表北向全市场方向
北向窗口数据来源:龙虎榜明细(top_inst)中"深股通专用"/"沪股通专用"席位。2024年8月19日起北向整体净流入已停止公布,但个股异动上榜时仍能看到北向在该股的具体买卖。北向在异动股整体净买入 = 聪明钱积极入场;整体净卖出 = 聪明钱撤离,需谨慎。

四、板块追踪(分析层)

4.0 板块追踪整体流程

一次数据调用(20日)→ 三维度分析 → LLM+规则双结论体系 → 硬性过滤

4.1 数据获取(20日窗口)

板块资金数据获取从v3.8的5日窗口扩展为20日窗口,以捕捉更长期的资金趋势。

步骤操作数据来源
1获取当日前15名资金净流入板块moneyflow_ind_ths
2对前15名板块各取20日资金净流入序列moneyflow_ind_ths(按ts_code+日期区间)
3对前15名板块各取20日收盘价序列ths_daily
4获取沪深300 20日收盘价序列(基准)index_daily(000300.SH)

4.2 三维度分析

对每个板块进行三个维度的独立分析,产出客观指标(不含结论):

维度1:资金动线

基于20日资金净流入序列,判断板块资金的趋势状态:

动线状态判定条件含义
加速流入最近3日净流入,且金额逐日递增资金涌入在加速,板块处于主升阶段
持续流入最近3日净流入,但金额无明显递增/递减趋势资金持续进入,趋势稳定
减速流入净流入为正,但金额逐日递减资金仍在进入但动力衰减,可能接近见顶
资金转向(流出→流入)最近3日从净流出转为净流入方向反转,需重点关注
资金转向(流入→流出)最近3日从净流入转为净流出方向反转,需警惕
加速流出最近3日净流出,且金额逐日扩大资金撤离在加速,应回避
持续流出最近3日净流出,但金额无明显扩大趋势资金持续撤离
震荡无明显趋势方向不明

维度2:轮动观察(领涨角色切换)

基于板块相对沪深300的多窗口超额收益(rs)排名变化:

窗口公式含义
5日 rsrs_5d = sector_5d − hs300_5d板块5日涨幅 − 沪深300 5日涨幅
10日 rsrs_10d = sector_10d − hs300_10d板块10日涨幅 − 沪深300 10日涨幅
20日 rsrs_20d = sector_20d − hs300_20d板块20日涨幅 − 沪深300 20日涨幅
类别判定条件含义
新兴主线5日 rs 排名前 5 + 10日前不在前 5近期开始领涨的板块
持续主线5日 / 10日 / 20日 rs 都在前 5长期保持强势
退潮板块5日 rs 排名后 5 + 10日前在前 5近期开始走弱

维度3:量化指标

指标含义判定条件数据来源
连续流入资金是否持续流入20日内最近10日≥7日正流入,且20日累计净流入>0moneyflow_ind_ths
相对强度板块是否跑赢大盘板块20日涨幅 > 沪深300 20日涨幅 + 2%ths_daily / index_daily
板块广度涨幅是否具有普适性板块内上涨个股占比 > 60%板块成分股 daily

4.3 结论层:LLM推理 + 规则兜底双体系

4.3.1 架构设计

三维度分析结果(客观指标) ↓ LLM推理(A类/B类独立) ↓ 规则兜底(LLM不可用时) ↓ 硬性过滤(近20日累计净流出→排除) ↓ 最终结论(confirmed/observing/exclude)

4.3.2 A类专家(中线投资)

核心逻辑:注重趋势确认的严谨性,旨在赚大钱。

权重考量因素说明
高相对强度板块持续跑赢大盘才能确认趋势
高轮动持续领涨代表长期领涨,是趋势确立的标志
中连续流入资金持续进场,是趋势的资金支撑
低资金动线加速/减速不看重单日资金波动

A类规则兜底(v4.4更新:引入状态路径约束):

v4.4变更说明:每日判断板块状态时,需查询该板块前一交易日的状态。状态升级/降级规则如下:
当日条件前一日状态原逻辑v4.4逻辑
近20日累计净流出任意排除排除(不变)
轮动退潮任意排除排除(不变)
满足3/3项趋势条件excludeconfirmed(直接跳级)observing(首次满足不跳级)
满足3/3项趋势条件observingconfirmedconfirmed(不变)
满足3/3项趋势条件confirmedconfirmedconfirmed(不变)
满足2/3项趋势条件excludeobservingobserving(不变)
满足2/3项趋势条件observingobservingobserving(不变)
满足2/3项趋势条件confirmedobserving或excludeobserving(只降一级)
满足0-1项exclude排除排除(不变)
满足0-1项observing排除排除(不变)
满足0-1项confirmed排除observing(已确认板块给缓降保护)
核心逻辑:confirmed具有"粘性"——上去难(必须经过observing验证),下来也难(最多降到observing,不直跌exclude)。4月回测数据:直接跳级confirmed的3个板块(化学制药、军工电子、电池)平均涨幅-5.2%,无一>20%;经observing升级的3个板块(半导体、元件、能源金属)平均+17.3%,67%大涨>20%。

4.3.3 B类专家(短线投资)

核心逻辑:敏锐、果断,注重当下资金动能而非长期趋势。

权重考量因素说明
高资金动线正向加速流入/持续流入/资金转向流入,是短线即战力
中板块广度代表个股普涨,提供流动性,短线需要足够标的快速进出
中轮动新兴/持续领涨代表板块正领涨
低相对强度不看重长期趋势

B类规则兜底:

条件结论
近20日累计净流出排除
轮动退潮或资金动线为流出类排除
资金动线正向 + 轮动新兴/持续领涨 + 板块广度达标确认主线
满足2/3项短线条件观察中
仅满足0-1项排除

4.3.4 硬性过滤规则(A类/B类共用)

近20日累计净流出的板块,直接从confirmed/observing移至exclude。理由:近20日累计净流出说明资金整体在撤离,不具备趋势基础或短线机会,无论LLM如何判断,都应排除。

4.4 输出格式

【板块分析】(20日窗口)

【资金状态】
1. XXX板块 - 加速流入
2. XXX板块 - 持续流入
...

【轮动观察】
新兴主线:XXX板块, XXX板块
持续主线:XXX板块, XXX板块
退潮板块:XXX板块

【量化指标】
1. XXX板块:连续流入=T/F | 相对强度=T/F | 板块广度=T/F
...

【板块结论】

A类(中线·赚大钱):
    确认主线:XXX板块(理由:XXX)
    观察中:XXX板块(理由:XXX)

B类(短线·快速变现):
    确认主线:XXX板块(理由:XXX)
    观察中:XXX板块(理由:XXX)

五、A部分选股(月度中线)

5.1 选股流程(三段式架构)

阶段1:过滤层(顺序执行,逐步淘汰)

步骤过滤条件阈值/规则数据来源
5.1.1近10日主力资金净流入为正net_mf_amount > 0moneyflow
5.1.2排除ST股name不包含"ST"stock_basic
5.1.3排除近3个月涨幅超过100%pct_3m ≤ 100%daily
5.1.4排除停牌股当日有交易数据daily
5.1.5股价在60日均线上方(或附近5%以内)收盘价 ≥ MA60 × 0.95daily
5.1.6流通市值50-500亿50亿 ≤ circ_mv ≤ 500亿daily_basic
5.1.7换手率(近5日平均,按板块差异化)主板 > 1%,创业板 > 3%,科创板 > 2%daily_basic
5.1.8主力净流入占流通市值比例 > 板块基准mf_ratio_10d > sector_ratiomoneyflow + daily_basic
步骤5.1.7 说明:各板块流动性结构差异显著(创业板日均换手率 ~5.8%,科创板 ~3.7%,主板 ~2-3%),统一阈值会导致过滤比例不一致。按板块设置差异化阈值,确保各板块保留相近比例的高流动性标的。
步骤5.1.8 说明:主力净流入占流通市值比例 = 近10日主力净流入 / 流通市值。板块基准 = 该板块所有成分股近10日主力净流入总和 / 该板块所有成分股流通市值总和。理由:同一板块内,个股的主力资金吸引力应超过板块平均水平,才能说明是板块内的强势标的。

阶段2:排序层(板块内综合评分)

在每个板块内,按综合评分降序排列:

权重指标说明
40%主力净流入占流通市值比例使用占比而非绝对金额,消除市值规模差异
30%量比(近5日平均)衡量交投活跃度
30%换手率(近5日平均)衡量流动性

评分计算:

score = (rank_mf_ratio × 0.4 + rank_volume_ratio × 0.3 + rank_turnover × 0.3) × 100

其中 rank_* 为各指标在板块内的分位排名(0~1)。

阶段3:选股层(按板块状态取数)

板块状态每板块取数说明
confirmed(确认主线)前2名确认主线板块,选股更积极
observing(观察中)前1名观察中板块,保守选股
最终输出:合并所有板块选出的股票,按综合评分降序排列,总数上限15只。

5.2 候选池维护

每日收盘后更新:

操作说明
新增符合条件的新标的加入候选池
移除不再符合条件的标的移出候选池

候选池字段:

字段说明
股票代码
股票名称
所属板块
所属市场上证/深证/创业板/科创板
主力10日净流入(亿)累计净流入
主力净流入占比(%)近10日主力净流入 / 流通市值 × 100%
近3个月涨幅(%)
当前收盘价
60日均线MA60
当前价格/MA60比例
流通市值(亿)近5日平均
换手率(%)近5日平均
量比近5日平均
综合评分0-100分
近10日龙虎榜上榜次数辅助参考,0表示未上榜
龙虎榜机构净买入(万)近10日机构专用席位累计净买入,未上榜记为0
近10日融资余额变化(亿)margin_detail,融资余额增减,正=杠杆资金加仓,负=杠杆资金降仓
融资余额趋势增加/减少/持平

六、B部分选股(周/日级短线)

6.0 大盘风险参考

大盘得分位置选股数量上限
S > Q75(明显偏多)10只
Q50 < S ≤ Q75(略偏多)10只
Q25 < S ≤ Q50(中性)5只
S ≤ Q25(偏空)3只
Q75 = 75%分位数,Q50 = 50%分位数

6.1 选股流程(三段式架构)

阶段1:过滤层(顺序执行,逐步淘汰)

步骤过滤条件阈值/规则数据来源
6.1.1近5日主力资金净流入为正net_mf_amount > 0moneyflow
6.1.2近3日平均量比 > 1.3volume_ratio > 1.3daily_basic
6.1.3排除近5日涨幅超过15%pct_5d ≤ 15%daily
6.1.4排除相对强度衰减20日涨幅>30%且70%涨幅集中在近5日daily
6.1.5排除量价背离创20日新高但近3日均量比<1daily + daily_basic
6.1.6排除均线乖离率过高近3日均价/MA5 > 1.2daily
6.1.7近5日龙虎榜机构净买入 > 1000万net_buy > 1000万top_inst
6.1.8排除北向席位净卖出标的深股通/沪股通专用席位 net_buy ≥ 0top_inst
6.1.9股价在60日均线上方(或附近5%以内)收盘价 ≥ MA60 × 0.95daily
步骤6.1.4 相对强度衰减说明:pct_20d > 30% 且 pct_5d / pct_20d > 70% → 排除。理由:涨幅过度集中在近期,说明短期涨幅过大,有回调风险。
步骤6.1.5 量价背离说明:close_today ≥ close_max_20d × 0.98 且 vr_3d < 1.0 → 排除。理由:价格创新高但成交量萎缩,上涨缺乏量能支撑,可能是假突破。
步骤6.1.6 均线乖离率说明:close_avg_3d / MA5 > 1.2 → 排除。理由:短期涨幅过大,偏离均线过远,有技术性回调需求。

阶段2:排序层(板块内综合评分)

权重指标说明
40%量比(近3日平均)衡量交投活跃度,短线核心
30%机构净买入(近5日)龙虎榜机构资金认可
30%换手率(近3日平均)衡量流动性

评分计算:

score = (rank_volume_ratio × 0.4 + rank_inst_buy × 0.3 + rank_turnover × 0.3) × 100

其中 rank_* 为各指标在板块内的分位排名(0~1)。

阶段3:选股层(按板块状态取数)

板块状态每板块取数说明
confirmed(确认主线)前2名确认主线板块,选股更积极
observing(观察中)前1名观察中板块,保守选股
最终输出:合并所有板块选出的股票,按综合评分降序排列,总数上限根据6.0节大盘状态动态调整。

七、每日晚复盘

  1. 大盘体检复盘:综合得分趋势、权重变化、市场状态切换
  2. 主线板块复盘:资金持续流入/流出板块、轮动观察变化
  3. 板块结论复盘:A类/B类结论变化、LLM与规则兜底差异分析