
一句话结论:条件选股能在几分钟内把全市场缩成一份短名单,但名单只是观察池,不是买入清单。全 A 股 10 年实测,「站上 20 日线、均线向上、放量、创 60 日新高」四个条件叠在一起,入选股票持有 20 天平均跑输全市场 1.12%,11 年里 10 年是负的。
第 6 课装好了青柠。这一课用最直接的方式开始:写几个条件,让软件从 5,000 只股票里挑出符合的。然后用历史数据检验:挑出来的股票,后来真的更好吗?

一、条件选股是什么
条件选股就是把你脑子里的「好股票」写成电脑能判断的规则,每天收盘后对全市场逐只检查,满足的留下。
一条条件通常由三部分组成:
| 部分 | 例子 |
|---|---|
| 指标 | 收盘价、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 天超额 |
|---|---|---|---|
| 2016 | 13,441 | −1.53% | −1.33% |
| 2017 | 13,880 | −2.19% | −0.61% |
| 2018 | 9,414 | −5.86% | −1.84% |
| 2019 | 28,275 | +2.73% | −1.46% |
| 2020 | 29,558 | +0.79% | −0.93% |
| 2021 | 28,247 | +1.40% | −0.16% |
| 2022 | 23,080 | −3.19% | −2.12% |
| 2023 | 28,070 | −1.87% | −1.18% |
| 2024 | 31,109 | −1.29% | −1.97% |
| 2025 | 39,733 | +2.32% | −0.96% |
| 2026 | 21,659 | −1.54% | +0.14% |

11 年里 10 年为负。2019 年和 2025 年绝对收益是正的,但大盘涨得更多,超额依然为负。2026 年还没过完,而且扣掉成本后也只是打平。
为什么「放量创新高」这种看上去很强的形态反而跑输?一个常见解释是:A 股放量大涨的当天,追高资金已经进场,第二天开盘往往高开,买入成本被抬高;之后获利盘回吐,股价回落。这一点在第 42 课「放量突破」会专门展开。
三、常见误区
「条件越多越精准」
条件多只会让名单变短,不会让结果变好。上面的实验里,每加一条条件,超额都在变差。
「选出来的就是该买的」
选股结果只是满足了你写的规则。规则本身有没有效,要靠回测检验,不能靠直觉。
「只看一天的结果」
2026 年 10 月 12 日只有 31% 的股票站上 20 日线,历史平均是 48%,那天市场偏弱。只看某一天的名单,看不出规则的好坏。
「不扣大盘」
牛市里随便选都赚钱,熊市里随便选都亏钱。判断条件是否有效,要看它比全市场多赚了多少。
在青柠中实操
青柠的选股分两步:先把条件写成策略的入场信号,再用「自动选股」对全市场扫描。
- 1. 打开左侧 量化策略,点 + 新建策略。
- 2. 在组件库的 指标 里拖入 MA(周期 20)和成交量;在 条件 里用 数值比较 写出「收盘价 > MA20」「成交量 > 20 日均量 × 1.5」等条件。
- 3. 用 全部满足 (AND) 把几个条件连起来,接到 入场信号,保存。
- 4. 打开左侧 自动选股,选择策略 选刚才那条,标的池选 全市场,筛选模式选 最新K线,点 开始筛选。
- 5. 结果可以 导出 CSV 或 加入自选。
下一步别急着买,先把同一条策略拿去回测:
也可以去青柠策略市场看看别人写好的选股条件和回测结果。
下一课(第 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 日收益。数据由青柠量化回测数据库计算。历史统计不代表未来表现,不构成投资建议。
读到这里,不如自己验证一次
文章里的逻辑,你可以在青柠量化里用真实数据重新跑一遍。免费,零代码。