用条件筛选,5 分钟选出一批股票

青 青柠量化
2026-10-12
条件越严,名单越短,20日超额越差:4840只缩到90只,超额从0降到-1.12%。

一句话结论:条件选股能在几分钟内把全市场缩成一份短名单,但名单只是观察池,不是买入清单。全 A 股 10 年实测,「站上 20 日线、均线向上、放量、创 60 日新高」四个条件叠在一起,入选股票持有 20 天平均跑输全市场 1.12%,11 年里 10 年是负的。

第 6 课装好了青柠。这一课用最直接的方式开始:写几个条件,让软件从 5,000 只股票里挑出符合的。然后用历史数据检验:挑出来的股票,后来真的更好吗?

条件越严,名单越短,20日超额越差:4840只缩到90只,超额从0降到-1.12%。
条件越严,名单越短,20日超额越差:4840只缩到90只,超额从0降到-1.12%。

一、条件选股是什么

条件选股就是把你脑子里的「好股票」写成电脑能判断的规则,每天收盘后对全市场逐只检查,满足的留下。

一条条件通常由三部分组成:

部分例子
指标收盘价、20 日均线、成交量、60 日最高价
比较方式大于、小于、上穿、下穿
对比对象另一个指标,或一个固定数字(如 1.5 倍)

多个条件用「全部满足(AND)」连起来,每加一条,名单就会变短。

它的好处是快和一致:人工翻 5,000 只股票要几天,还会看漏、看走眼;电脑几秒钟就能完成,每次标准都一样。


二、青柠数据实验:一个四层选股漏斗

我们用一组很常见的「强势股」条件,一层一层往上加:

  • – C1:收盘价在 20 日均线上方
  • – C2:再加 20 日均线向上(今天的 MA20 高于 5 天前)
  • – C3:再加放量:当天成交量大于前 20 日平均的 1.5 倍
  • – C4:再加收盘价创 60 日新高

最新一天:4,840 只缩到 90 只

2026 年 10 月 12 日收盘后:

层条件剩下
股票池全 A,排除 ST 和北交所4,840
C1站上 20 日线1,519
C2+ 均线向上880
C3+ 放量 1.5 倍269
C4+ 创 60 日新高90

四个条件,就从 4,840 只缩到了 90 只。这一步确实只要几分钟。

历史检验:名单后来表现如何

关键问题是:这些股票买进去,后来表现好吗?我们把 2016 年 1 月到 2026 年 10 月每一天都按同样条件筛一遍,信号日收盘确认,第二天开盘买入,持有 5 天或 20 天。第二天一字涨停买不进的剔除。

只看绝对收益会被大盘涨跌干扰,所以同时算超额收益:入选股票的收益减去同一天全部股票同样买卖方式的平均收益。

层平均每天入选持有 20 天收益胜率20 天超额扣 0.15% 成本后超额
全部股票3,655+0.87%48.1%0−0.15%
C1 站上 20 日线1,755+0.63%46.9%−0.18%−0.33%
C2 + 均线向上1,315+0.40%45.5%−0.25%−0.40%
C3 + 放量328+0.22%44.0%−0.89%−1.04%
C4 + 60 日新高102−0.27%41.8%−1.12%−1.27%

结论很清楚:条件越多,名单越短,后来的表现反而越差。

注意 C1 这一行:持有 20 天平均赚 0.63%,单看是赚钱的。但同期随便买一只股票平均赚 0.87%,所以它其实跑输了。不和全市场比,就会把「大盘在涨」误当成「条件有效」。

分年份:不是某一年运气不好

C4 每一年的 20 天超额:

年份入选次数20 天收益20 天超额
201613,441−1.53%−1.33%
201713,880−2.19%−0.61%
20189,414−5.86%−1.84%
201928,275+2.73%−1.46%
202029,558+0.79%−0.93%
202128,247+1.40%−0.16%
202223,080−3.19%−2.12%
202328,070−1.87%−1.18%
202431,109−1.29%−1.97%
202539,733+2.32%−0.96%
202621,659−1.54%+0.14%
放量创新高分年20日超额:11年中10年为负,只有2026年小幅为正。
放量创新高分年20日超额:11年中10年为负,只有2026年小幅为正。

11 年里 10 年为负。2019 年和 2025 年绝对收益是正的,但大盘涨得更多,超额依然为负。2026 年还没过完,而且扣掉成本后也只是打平。

为什么「放量创新高」这种看上去很强的形态反而跑输?一个常见解释是:A 股放量大涨的当天,追高资金已经进场,第二天开盘往往高开,买入成本被抬高;之后获利盘回吐,股价回落。这一点在第 42 课「放量突破」会专门展开。


三、常见误区

「条件越多越精准」
条件多只会让名单变短,不会让结果变好。上面的实验里,每加一条条件,超额都在变差。

「选出来的就是该买的」
选股结果只是满足了你写的规则。规则本身有没有效,要靠回测检验,不能靠直觉。

「只看一天的结果」
2026 年 10 月 12 日只有 31% 的股票站上 20 日线,历史平均是 48%,那天市场偏弱。只看某一天的名单,看不出规则的好坏。

「不扣大盘」
牛市里随便选都赚钱,熊市里随便选都亏钱。判断条件是否有效,要看它比全市场多赚了多少。


在青柠中实操

青柠的选股分两步:先把条件写成策略的入场信号,再用「自动选股」对全市场扫描。

  1. 1. 打开左侧 量化策略,点 + 新建策略。
  2. 2. 在组件库的 指标 里拖入 MA(周期 20)和成交量;在 条件 里用 数值比较 写出「收盘价 > MA20」「成交量 > 20 日均量 × 1.5」等条件。
  3. 3. 用 全部满足 (AND) 把几个条件连起来,接到 入场信号,保存。
  4. 4. 打开左侧 自动选股,选择策略 选刚才那条,标的池选 全市场,筛选模式选 最新K线,点 开始筛选。
  5. 5. 结果可以 导出 CSV 或 加入自选。

下一步别急着买,先把同一条策略拿去回测:

策略库回测 · 沪深A股 · 近 1 年日 K · 默认参数 更新于 2026-09-11 19:02 · 每日重算
# 策略 类型 年化收益 夏普 最大回撤 胜率 评级
01 左侧趋势抄底·急跌收阳 趋势 +1.3% 0.85 16.4% 83% A 导入复现
02 MACD金叉死叉 趋势 +0.9% 0.08 20.8% 35% PRO 导入复现
03 RSI超买超卖 震荡 +0.8% 0.23 30.8% 45% PRO 导入复现

也可以去青柠策略市场看看别人写好的选股条件和回测结果。

下一课(第 8 课)会写出第一个完整的策略:均线金叉买入、死叉卖出,并跑一次回测。


常见问题

条件选股和回测有什么区别?
选股只回答「今天哪些股票符合条件」;回测回答「过去每天按这个条件买,结果怎样」。先回测,再用选股。

选出来的股票太多或太少怎么办?
太多就加条件或提高门槛(比如放量从 1.5 倍提到 2 倍),太少就放宽。但数量合适不代表规则有效,还是要回测。

能用财务指标选股吗?
本课只用了价格和成交量。基本面条件的用法会在后面的课程里介绍。

为什么第二天开盘买,不是当天收盘买?
条件要等收盘才能确认,收盘那一刻已经来不及按收盘价下单。用第二天开盘价更接近真实情况。


口径说明

股票池为全 A 股,排除 ST(按当前名称)、北交所,价格后复权,剔除未复权收盘价低于 3 元和上市不足 60 个交易日的股票;区间 2016-01-04 至 2026-10-12,共 2,614 个交易日、5,001 只股票。MA20 含当日;前 20 日均量和 60 日新高均不含当日。信号日收盘确认,次日开盘买入,持有至第 5 或第 20 个交易日收盘;次日一字涨停视为买不进并剔除。超额收益 = 入选股票收益 − 同日股票池全部股票同口径平均收益,按笔平均,非组合净值。成本按每笔来回 0.15%。2026 年最近约 20 个交易日尚无 20 日收益。数据由青柠量化回测数据库计算。历史统计不代表未来表现,不构成投资建议。

读到这里,不如自己验证一次

文章里的逻辑,你可以在青柠量化里用真实数据重新跑一遍。免费,零代码。

免费下载客户端

写下你的看法

邮箱仅用于回复通知,不会公开。