文档作用:记录
天下模型沉淀/方法论/炒股笔记.md中无忌交易系统的选股法,在当前执行AI实现版本下的算法口径、参数、实验结果和观察员侧结论。本文档只讨论“选股法/候选池”,不把它直接读成买卖规则、仓位规则或正式交易系统。
执行AI已经把无忌笔记里的核心选股法实现成 7 个日线 selector:
UPPER_SHADOWONE_TO_TWOSTRONG_PULLBACK_LOW_BUYCONSOLIDATION_BREAKOUTPREVIOUS_HIGH_BREAKOUTPOST_LIMIT_PULLBACK_SUPPORTLIMITUP_VOLUME_BREAKOUT观察员侧做了两组独立实验:
当前结论:
POST_LIMIT_PULLBACK_SUPPORT + UPPER_SHADOW
再叠加:
LIMITUP_VOLUME_BREAKOUT
或
PREVIOUS_HIGH_BREAKOUT
更具体地说,当前最值得继续跟的是:
涨停后回调承接
+ 长上影测试抛压
+ 放量突破 / 前高突破
这条线只适合继续作为候选池研究,不能直接接买点、仓位或交易动作。
天下模型沉淀/方法论/炒股笔记.mdobserver/model/system/dev/trade_short_wuji_system_selector_backtest.pyobserver/model/system/dev/trade_short_wuji_actual_selector_candidates.pyobserver/model/data/result/stat/20260527_trade_short_wuji_actual_selector_candidates_full_secondbatch_codex/actual_selector_candidate_panel.csv64625872023-01-01 到 2026-05-08mirror/data/result/wuji_selector_independent_return_probe_20260527mirror/data/result/wuji_selector_combo0_to_6_20260527当前执行AI实现的公共参数如下。
ret1 = close / preClose - 1
limit_up_flag = ret1 >= 0.095
说明:
9.5% 近似涨停。.SH / .SZ。volume_ma10_prev = 前一日往前 10 日成交量均值
volume_ratio_ma10 = 当日成交量 / volume_ma10_prev
double_volume_flag = volume_ratio_ma10 >= 2.0
mild_volume_flag = 1.1 <= volume_ratio_ma10 < 2.0
overheated_volume_flag = volume_ratio_ma10 >= 3.0
说明:
2.0 倍。1.1 到 2.0 倍,不含 2.0。3.0 倍以上。当前计算了以下窗口:
recent_limitup_count_5
recent_limitup_count_10
recent_limitup_count_15
recent_limitup_count_20
recent_limitup_count_30
recent_limitup_count_40
公共短线前置过滤:
wuji_common_shortline_prefilter_flag =
recent_limitup_count_30 > 0
and recent_double_volume_count_30 > 0
说明:
30 个交易日内至少 1 次涨停。30 个交易日内至少 1 次倍量。10 或 15 个交易日内涨停。prior_high_N = 前一日往前 N 日最高价
breakout_N_flag = close > prior_high_N
当前使用窗口:
N = 10 / 20 / 30 / 60
prior_low_20 = 前一日往前 20 日最低价
prior_high_20_for_range = 前一日往前 20 日最高价
consolidation_range_pct_20 = (prior_high_20_for_range - prior_low_20) / close
consolidation_20_flag = consolidation_range_pct_20 <= 0.18
说明:
18%。consolidation_breakout_20_flag =
consolidation_20_flag = 1
and breakout_20_flag = 1
and ret1 >= 0.05
说明:
5%。last_limit_low = 最近一次涨停日最低价
calendar_days_since_last_limit = 当前日 - 最近一次涨停日
limit_low_hold_flag = last_limit_low 非空 and low >= last_limit_low
说明:
support_hold_flag =
low >= last_limit_low
or low >= ma10 * 0.98
说明:
2% 容忍。market_down_ratio = 当日下跌股票数 / 当日股票总数
market_down_day_flag = market_down_ratio >= 0.55
market_down_streak_days = 连续 market_down_day_flag 天数
说明:
>=55% 表示。down_streak_days = 个股连续下跌天数
volume_shrink_vs_prev_flag = 当日成交量 < 前一日成交量 * 0.85
volume_attack_flag = ret1 > 0 and volume_ratio_ma10 >= 1.3
cliff_divergence_setup_flag =
down_streak_days >= 2
and volume_shrink_vs_prev_flag = 1
and ret1 < prev_ret1
cliff_divergence_attack_confirm_flag =
前一日 cliff_divergence_setup_flag = 1
and volume_attack_flag = 1
说明:
笔记口径:
近期有涨停
回调出现长上影
底部承接力强
长上影越长越好
如果打到前高,量能必须大于前高附近量能
当前机器规则:
wuji_common_shortline_prefilter_flag = 1
and double_volume_flag = 1
and upper_shadow_ratio >= 0.4
and (support_hold_flag = 1 or consolidation_20_flag = 1)
and (
touch_prior_high_60_flag = 0
or volume_gt_prior_high_window_flag = 1
)
额外排序:
按每个 trade_date 的 upper_shadow_ratio 降序排名
只保留当日 top 50
参数解释:
实验结果摘要:
19506+0.569%-0.489%-1.622%读法:
笔记口径:
市值 100 亿以内
最近 15 天有涨停
没有跌破当前涨停板最低价
温和放量
当前机器规则:
wuji_common_shortline_prefilter_flag = 1
and recent_limitup_count_15 > 0
and limit_low_hold_flag = 1
and mild_volume_flag = 1
and market_cap_billion <= 100
参数解释:
recent_limitup_count_15 > 0。low >= last_limit_low。1.1 <= volume_ratio_ma10 < 2.0。100 亿。实验结果摘要:
38824+0.200%-0.465%-1.647%特殊发现:
ONE_TO_TWO 的 exact single 分支比 contains 全量更好。笔记口径:
大盘跌,它不跌
大盘连跌 2 天,它横住不跌
大盘连跌 3 天,它还能放量上冲
断崖背离后缩量,再放量上攻
当前机器规则:
wuji_common_shortline_prefilter_flag = 1
and (
market_down_streak_days >= 2 and stock_ret_2d >= -0.01
or market_down_streak_days >= 3 and volume_attack_flag = 1
or cliff_divergence_setup_flag = 1
or cliff_divergence_attack_confirm_flag = 1
)
参数解释:
-1%。1.3 倍。实验结果摘要:
93020+0.084%-0.323%-1.137%读法:
笔记口径:
近期横盘突破涨停
当前机器规则:
wuji_common_shortline_prefilter_flag = 1
and consolidation_breakout_20_flag = 1
and limit_up_flag = 1
展开:
前 20 日区间振幅 <= 18%
and close > 前 20 日高点
and ret1 >= 5%
and ret1 >= 9.5%
说明:
limit_up_flag=1,最终当日涨幅实际要求接近涨停。实验结果摘要:
17547-0.285%-1.191%-2.827%读法:
笔记口径:
近期涨停突破前期高点
如果打到前高,量能要超过前期高点附近量能
当前机器规则:
wuji_common_shortline_prefilter_flag = 1
and breakout_60_flag = 1
and volume_gt_prior_high_window_flag = 1
参数解释:
实验结果摘要:
21750+0.260%-1.570%-3.286%读法:
笔记口径:
近期涨停以后回调
反复确认底部
强势股回调不破关键位置
当前机器规则:
wuji_common_shortline_prefilter_flag = 1
and 2 <= calendar_days_since_last_limit <= 30
and limit_low_hold_flag = 1
and support_hold_flag = 1
and support_test_count_10 >= 2
and -0.30 <= pullback_depth_from_recent_high_20 <= 0.05
参数解释:
-30% 到 +5%。实验结果摘要:
398699+0.094%-0.087%-0.588%读法:
笔记口径:
近期有涨停
有放量
有突破
当前机器规则:
wuji_common_shortline_prefilter_flag = 1
and recent_limitup_count_10 > 0
and (mild_volume_flag = 1 or double_volume_flag = 1)
and breakout_20_flag = 1
参数解释:
1.1 倍以上。实验结果摘要:
56912+0.038%-1.230%-2.759%读法:
POST_LIMIT_PULLBACK_SUPPORT + UPPER_SHADOW 的增强条件有用。观察员侧独立探针只看:
候选次一交易日 entry day
D1 / D5 / D10 / D20 日线 open-to-close forward return
同日全市场等权基线
不接:
分时买点
卖点
仓位
账户回放
滑点
单法结果摘要:
| selector | candidate_count | D1 excess | D5 excess | D10 excess | D20 excess | 读法 |
|---|---|---|---|---|---|---|
UPPER_SHADOW |
19506 | +0.569% | -0.489% | -1.027% | -1.622% | D1 短窗口强,后续衰减 |
ONE_TO_TWO |
38824 | +0.200% | -0.465% | -1.178% | -1.647% | 需单独分层 |
POST_LIMIT_PULLBACK_SUPPORT |
398699 | +0.094% | -0.087% | -0.265% | -0.588% | 最大池子,最值得拆 |
STRONG_PULLBACK_LOW_BUY |
93020 | +0.084% | -0.323% | -0.675% | -1.137% | 需拆弱市抗跌/断崖背离 |
LIMITUP_VOLUME_BREAKOUT |
56912 | +0.038% | -1.230% | -1.808% | -2.759% | 单独弱,适合做增强条件 |
PREVIOUS_HIGH_BREAKOUT |
21750 | +0.260% | -1.570% | -2.286% | -3.286% | 单独弱,易兑现 |
CONSOLIDATION_BREAKOUT |
17547 | -0.285% | -1.191% | -1.911% | -2.827% | 单独弱 |
结论:
UPPER_SHADOW 更像 D1 短窗口信号。POST_LIMIT_PULLBACK_SUPPORT 是最重要的母池,但太宽。组合实验先按:
symbol + entry_trade_date
聚合同日命中的 selector。
原始候选:
646258 行
聚合后独立锚点:
507493 个
同日 selector 数分布:
| selector_count | anchor_count |
|---|---|
| 1 | 392777 |
| 2 | 93189 |
| 3 | 19120 |
| 4 | 2292 |
| 5 | 115 |
组合通过门槛:
candidate_count >= 300
symbol_count >= 80
entry_date_count >= 60
month_count >= 6
top1_month_share <= 0.35
D5 或 D10 至少一个窗口 mean_excess_vs_market > 0
同窗口 uplift_vs_best_parent_selector > 0
说明:
D1 不作为晋级窗口,只观察。
薄样本最高:
CONSOLIDATION_BREAKOUT
+ STRONG_PULLBACK_LOW_BUY
+ UPPER_SHADOW
数据:
candidate_count = 60
D1 mean_return = +1.49%
D1 mean_excess_vs_market = +1.86%
D1 positive_share = 56.67%
样本达标的 D1 最佳:
LIMITUP_VOLUME_BREAKOUT
+ PREVIOUS_HIGH_BREAKOUT
+ UPPER_SHADOW
数据:
candidate_count = 2749
D1 mean_return = +1.26%
D1 mean_excess_vs_market = +1.14%
D1 positive_share = 52.38%
读法:
LIMITUP_VOLUME_BREAKOUT
+ POST_LIMIT_PULLBACK_SUPPORT
+ UPPER_SHADOW
数据:
candidate_count = 1019
symbol_count = 868
entry_date_count = 412
top1_month_share = 5.10%
D5 mean_return = +0.35%
D5 mean_excess_vs_market = +0.084%
D5 positive_share = 43.11%
D5 uplift_vs_best_parent_selector = +0.171%
读法:
POST_LIMIT_PULLBACK_SUPPORT
+ PREVIOUS_HIGH_BREAKOUT
+ UPPER_SHADOW
数据:
candidate_count = 592
symbol_count = 552
entry_date_count = 303
top1_month_share = 6.59%
D10 mean_return = +0.55%
D10 mean_excess_vs_market = +0.192%
D10 positive_share = 39.25%
D10 uplift_vs_best_parent_selector = +0.457%
读法:
当前 D5_OR_D10 口径下通过的多 selector 组合只有 3 个:
LIMITUP_VOLUME_BREAKOUT
+ POST_LIMIT_PULLBACK_SUPPORT
+ UPPER_SHADOW
POST_LIMIT_PULLBACK_SUPPORT
+ PREVIOUS_HIGH_BREAKOUT
+ UPPER_SHADOW
LIMITUP_VOLUME_BREAKOUT
+ POST_LIMIT_PULLBACK_SUPPORT
+ PREVIOUS_HIGH_BREAKOUT
+ UPPER_SHADOW
共同核心:
POST_LIMIT_PULLBACK_SUPPORT + UPPER_SHADOW
增强项:
LIMITUP_VOLUME_BREAKOUT
PREVIOUS_HIGH_BREAKOUT
无忌选股法不是简单叠加越多越好。
真正有信息量的是:
涨停后回调承接
+ 长上影测试抛压
它说明:
但当前增量仍然很弱:
+0.084%。+0.192%。所以它不是交易规则,只是值得继续拆的候选结构。
优先拆:
POST_LIMIT_PULLBACK_SUPPORT + UPPER_SHADOW
拆分方向:
当前还不应该接仓位、账户、正式买卖。
下一步应该继续做:
组合结构拆分
启动点重合率
局之门重合率
风格/题材环境分层
尤其要查:
该组合是否和我们已定义的启动点类型重合
如果重合,是主启动、二次点火、确认强化,还是高位兑现
本文档当前结论不能用于:
本文档当前只能用于:
WUJI-COMBO0~6 找到了 3 个组合候选,但前序对照主要是同日市场等权和母规则基线。
WUJI-COMBO7 补的不是新规则,而是严格对照:
同 entry_trade_date
同 market_cap_bucket
同 recent_limitup_count_30_bucket
同 recent_double_volume_count_30_bucket
排除当前组合命中行
这一步回答一个问题:
这个组合是真的有独立增量,
还是只是因为同一天、小市值、涨停记忆池本身更强?
结果目录:
mirror/data/result/wuji_selector_combo7_strict_control_decompose_20260527
总体:
50749399.41%core_axis_feature_join_rate = 1.03核心轴:
POST_LIMIT_PULLBACK_SUPPORT + UPPER_SHADOW
结果:
| 指标 | 数值 |
|---|---|
| target_count | 6741 |
| control_count | 6722 |
| D5 target-control excess | -0.0921pct |
| D10 target-control excess | -0.1656pct |
结论:
涨停后回调承接 + 长上影
只是一个宽母池。
它本身不能打赢严格同背景对照。
所以之前说“拆核心轴”是对的:不能把它直接当成有效规则。
LIMITUP_VOLUME_BREAKOUT
+ POST_LIMIT_PULLBACK_SUPPORT
+ UPPER_SHADOW
| 指标 | 数值 |
|---|---|
| target_count | 1019 |
| control_count | 1013 |
| D5 target-control excess | +0.3629pct |
| D10 target-control excess | +0.3208pct |
读法:
回调承接 + 长上影之外,
还需要重新放量突破。
POST_LIMIT_PULLBACK_SUPPORT
+ PREVIOUS_HIGH_BREAKOUT
+ UPPER_SHADOW
| 指标 | 数值 |
|---|---|
| target_count | 592 |
| control_count | 591 |
| D5 target-control excess | +0.3164pct |
| D10 target-control excess | +0.4752pct |
读法:
回调承接 + 长上影之后,
能突破前高的结构更强。
LIMITUP_VOLUME_BREAKOUT
+ POST_LIMIT_PULLBACK_SUPPORT
+ PREVIOUS_HIGH_BREAKOUT
+ UPPER_SHADOW
| 指标 | 数值 |
|---|---|
| target_count | 498 |
| control_count | 497 |
| D5 target-control excess | +0.3838pct |
| D10 target-control excess | +0.1586pct |
读法:
四条件全叠加仍有正增量,
但样本更窄,不能过读。
核心轴内部,较有价值的切片集中在:
| 切片 | 样本 | 读法 |
|---|---|---|
breakout_60_flag = 1 |
592 | D10 超额为正,更像前高/长周期压力位突破 |
feature_cap_bucket = CAP_100_300B |
542 | D5 超额较强,但要继续看市值分层是否稳定 |
consolidation_20_flag = 1 |
1473 | 平台压缩后上影测试更值得看 |
breakout_20_flag = 1 |
1253 | 短周期突破有轻微增量 |
低质量方向:
POST_LIMIT_PULLBACK_SUPPORT + UPPER_SHADOW,但没有突破确认。无忌组合现在可以收成一句话:
涨停记忆后的回调承接不是买点。
长上影也不是买点。
但二者叠加后,如果再出现放量突破或前高突破,
就形成一个值得继续接启动点验证的候选结构。
下一步不要继续堆无忌组合。
更合理的下一步是:
无忌通过组合
-> 启动点类型重合
-> 启动周期阶段
-> 局之门 / 风格环境再判断
《炒股笔记》里 UPPER_SHADOW 不是普通长上影,而是:
放量长上影,前50支股票选出来
近期有涨停,并回调出现长上影线,且底部承接力一定要强
长期横盘,或者刚从横盘涨停过,调整回来的
长上影线越长越好
如果长上影线打到了前期高点,当天量能必须比前期高点量能大
前一版工程实现用了 consolidation_20_flag 近似“横盘”,这不够准确。
固定边界:
短期横盘 = 20 个交易日内
长期横盘 >= 60 个交易日
60 日是用户冻结边界,不因实验结果调整。
已经实现:
recent_limitup_count_30 > 0double_volume_flag = 1upper_shadow_ratio >= 0.4upper_shadow_ratio 排名前 50touch_prior_high_60_flag = 0 OR volume_gt_prior_high_window_flag = 1偏宽的地方:
consolidation_20_flag 只能代表 20 日短横盘,不能代表长期横盘。support_hold_flag OR consolidation_20_flag 偏宽。结果目录:
mirror/data/result/wuji_upper0_consolidation_window_replay_20260527
| 变体 | 样本数 | D5 strict control excess | D10 strict control excess | 读法 |
|---|---|---|---|---|
UPPER_SHADOW_CURRENT_20D_PROXY |
19506 | -0.2207pct | -0.4660pct | 20 日宽版明显偏宽 |
UPPER_SHADOW_LONG_60D |
5280 | +0.0944pct | -0.0896pct | 60 日能过滤噪声,但只改善 D5 |
UPPER_SHADOW_20D_AND_60D |
2653 | +0.1049pct | -0.1709pct | D5 最好,D10 不行 |
UPPER_SHADOW_SUPPORT_AND_60D |
5192 | +0.0810pct | -0.1087pct | 支撑 + 60 日仍只支持短窗口 |
UPPER_SHADOW_SUPPORT_AND_60D_BREAKOUT_CONFIRM |
2018 | +0.0493pct | -0.4043pct | 突破确认没有改善 D10 |
20 日横盘不能再叫长期横盘。
更合理的实验候选是:
UPPER_SHADOW_STRICT_60D
= 近期涨停
+ 倍量长上影
+ 前50
+ 60日长期横盘
+ 前高量能验证
但它当前只在 D5 有轻微增量,D10 仍然不行。
所以这条线的准确读法是:
60日长期横盘长上影
可以作为短窗口启动候选结构,
但还不是稳定买入规则。
下一步应该接:
UPPER_SHADOW_STRICT_60D
-> 启动点类型重合
-> 看它是主启动、二次点火、确认强化,还是高位压力测试
本轮严格对照里市值字段覆盖率约 53.20%,所以同市值控制仍需降读。
如果后续要把 UPPER_SHADOW_STRICT_60D 写入工程合同,必须先补: