你看好一个小市值的标的,想投 5 万块。
先别看图。先算一件事:如果哪天你想在最冷清的那个时段全部卖掉,需要多久,滑多少?
如果答案是"要卖两个小时、滑 8%",那么这个标的对你来说根本不可交易——不管它的走势多好看。它值不值得买是一回事,你进不进得去、出不出得来是另一回事,而后者可以先算。
「找到可以交易的标的」听起来像选股,但它其实是两个完全不同的问题:
「哪个会涨?」 —— 需要预测未来,本手册不写
「哪个可交易?」 —— 可以客观定义,并且能算出来
这一篇只回答第二个。
打个比方
这像买房子之前先看承重墙和产权。
“这套房子好不好看"是个见仁见智、需要品味的问题。而"这面墙能不能拆"“产权有没有纠纷"有确定答案,查得到,而且一票否决。
⭐ 筛选器就是那份结构检查:它的输出不是「买这个」,而是「这些通过了结构筛查,可以进入假设检验」(第十九篇)。它负责把不该碰的排除掉,剩下的事它一句也不说。
⚠️ 这个定位很容易被误解成"筛选器就是选股器,只是弱一点”。不是。它们回答的是不同类型的问题:选股器试图回答一个需要预测的问题(多半答不好),筛选器回答一个可计算的问题(能答得很准)。把它当选股器用,你会失望;把它当结构检查用,它几乎不会错。
它的输出不是「买这个」,而是「这些通过了结构筛查,可以进入假设检验」(第十九篇)。筛选器负责把不该碰的排除掉,剩下的事它一句也不说。
前面的第 15、19、21、22、23 篇分别给了这套方法的零件。这一篇把它们装成一台可以运行的东西。
本文仅用于记录和普及基础知识,不构成投资建议。
一、第 0 层:先定死你的约束
不先定这三项,后面所有阈值都算不出来。
① 单笔资金规模 → 决定深度门槛
② 平均持有周期 → 决定成本门槛(最关键)
③ 交易场所 → 三套不同的筛选维度
场所的差别比多数人以为的大
以某主流交易所最低等级为例(费率会变、各平台不同,务必自行核对):
| 场所 | 单边费率 | 往返成本 | 附加成本 |
|---|---|---|---|
| 现货 | 0.1% / 0.1% | 0.2% | 无 |
| 永续合约 taker | 0.05% | 0.1% | + 资金费(第四篇) |
| 永续合约 maker | 0.02% | 0.04% | + 资金费、不保证成交 |
| 链上 DEX | 池子费率 0.05–1% | 视池子 | + Gas、+ MEV(第二十四篇) |
⭐ 合约手续费可以比现货低一个数量级。 这个事实直接改变短周期交易的可行性算术——代价是资金费和爆仓风险。
⚠️ 注意这和美股的直觉相反:在美股,衍生品通常比正股贵;在加密,永续合约常常比现货便宜。不要跨市场套用成本直觉。
二、第 1 层:成本可覆盖性 ⭐
这是唯一一个能一票否决大多数标的的筛子,而且它是纯算术。
公式
期间预期波动 ≈ 日均ATR% × √N (N = 持有天数)
往返成本 = 手续费×2 + 价差 + 滑点×2 + 资金费率×N
可交易比值 = 期间预期波动 ÷ 往返成本
| 比值 | 判定 |
|---|---|
| < 5 | ❌ 出局。成本占掉了太大比例,任何优势都会被吃掉 |
| 5–10 | 🟡 只有执行做得很好才有戏 |
| > 10 | 🟢 至少成本不是主要障碍 |
⚠️ √N 用的是随机游走近似。真实收益有自相关和波动率聚集,这只是一个粗略标尺,不是精确模型。它的作用是分档,不是给出精确值。
一个真实的算例
某日 ETH/USDT 的实测数据:24 小时最高 1,927.27,最低 1,912.36。
当日振幅 = (1927.27 − 1912.36) ÷ 1912.36 = 0.78%
现货往返 0.2% → 比值 3.9 ❌
合约 taker 0.1% → 比值 7.8 🟡
合约 maker 0.04% → 比值 19.5 🟢
同一个标的、同一天,换执行方式跨越了三个档位。
这说明一件重要的事:筛选器必须把执行方式当作输入参数,不能只筛标的。 「ETH 能不能做」这个问题本身是不完整的。
⭐ 一张可以直接查的表:周期 × 场所
上面的例子只是一个标的、一天。把它推广成通用的,需要一条跨周期的缩放关系。
在随机游走近似下,波动按时间的平方根放大:
σ(T) = σ(1) × √T
加密 24/7 交易,一天 1440 分钟,所以:
| 周期 | 每天根数 | 相对日线缩放 | 日 ATR 3% 时的单根振幅 |
|---|---|---|---|
| 3min | 480 | ÷ 21.9 | 0.14% |
| 5min | 288 | ÷ 17.0 | 0.18% |
| 15min | 96 | ÷ 9.8 | 0.31% |
| 1hour | 24 | ÷ 4.9 | 0.61% |
| 4hour | 6 | ÷ 2.45 | 1.23% |
| 12hour | 2 | ÷ 1.41 | 2.12% |
| 1day | 1 | 1 | 3.0% |
| 1week | 1/7 | × 2.65 | 7.9% |
⚠️ √T 假设收益独立。真实市场有波动率聚集和自相关,这是标尺,不是模型——用于分档足够,不要用于精确计算。
关键直觉:周期缩小 4 倍,波动只缩小 2 倍,而成本一分不少。
把振幅除以往返成本,得到各周期的可交易比值(日 ATR 3%):
| 周期 | 现货 0.2% | 合约 taker 0.1% | 合约 maker 0.04% |
|---|---|---|---|
| 3min | 0.7 ❌ | 1.4 ❌ | 3.5 ❌ |
| 5min | 0.9 ❌ | 1.8 ❌ | 4.4 ❌ |
| 15min | 1.5 ❌ | 3.1 ❌ | 7.7 🟡 |
| 1hour | 3.1 ❌ | 6.1 🟡 | 15.3 🟢 |
| 4hour | 6.1 🟡 | 12.3 🟢 | 31 🟢 |
| 12hour | 10.6 🟢 | 21 🟢 | 53 🟢 |
| 1day | 15 🟢 | 30 🟢 | 75 🟢 |
| 1week | 40 🟢 | 79 🟢 | 198 🟢 |
而且这张表还是乐观的
上面假设你吃掉整根 K 线从最低到最高的全部幅度。没人做得到——现实里能抓到三分之一就相当不错。
把整张表除以 3:
现货 → 只有 12h 以上勉强及格
合约 taker → 4h 以上
合约 maker → 1h 以上(但 maker 不保证成交)
于是得到一个很硬的结论:
3min 和 5min 在现货上不是「难」,是数学上不可行。
完美抓住整根 3 分钟 K 线的全部波动,还不够付手续费。
⭐ 这张表还有两个重要的后续,展开在第 31 篇:
- 它是动态的——日波动从 3% 涨到 8%,同一个周期的结论会反过来。所以短周期要按今天的波动率状态重算,而不是给标的贴永久标签。
- 它推出一条被迫的链——短周期只有 maker 成立 ⇒ 不能追价 ⇒ 必须被动挂单 ⇒ 你实际上在做市,而不是抓行情。
如果一定要做 3–5 分钟,唯一有算术可行性的路径是合约 + maker 挂单 + 低费率等级。而 maker 意味着要等成交,短周期里等不起——这个矛盾是结构性的,不是技巧能解决的。
它是逐日跑的,不是给标的贴标签
上面那个 0.78% 是 ETH 的低波动日,不是常态——正常的日内振幅要高得多。
所以这个筛子的正确用法是:
每天跑一次,输出「今天哪些能做」,而不是一次性输出「哪些标的可以做」。
「今天所有标的都不通过」是一个完全合法、而且经常出现的输出。第十九篇的否决式框架在这里的具体形态就是:先问这个环境里任何方向的判断有没有可能赚钱,再问方向。
三、第 2 层:流动性与出场能力
❌ 不要用成交额筛
理由很硬:成交额可以刷。
对敲刷量(wash trading)在小市值币上是常规操作,成本只有手续费,而某些费率结构让它接近免费。一个成交额排名靠前的币,可能实际上没有任何真实流动性。
✅ 用订单簿深度,而且看买单
① 取 ±1% 和 ±2% 价格区间内的挂单总额,买卖分别算
② 出场压力比 = 你的仓位 ÷ ±1%买单深度
⚠️ 深度是快照且挂单可撤 ⇒ 这个数偏乐观
⭐ 另配一个成交量口径的出场流量比(÷ 最差时段分钟成交量)→ 第 44 篇
| 出场压力比 | 判定 |
|---|---|
| > 0.3 | ❌ 你自己就是行情 |
| 0.1 – 0.3 | 🟡 |
| < 0.1 | 🟢 |
⭐ 算的是买单深度,不是卖单。
理由:进场你可以慢慢来、可以分批、可以放弃;出场往往发生在你最不想等的时刻。第十五篇那句「出场能力才是首要指标」,在筛选器里的具体实现就是这一条。
⚠️ 深度也会骗人
挂单可以随时撤销(第十五篇)。平静时刻的深度和压力时刻的深度,可以差一个数量级——这正是第二篇说的「流动性在你最需要的时候消失」。
所以深度是一个乐观估计。稳妥的做法是给它打折,或者用下面这个更可靠的东西。
⭐ 唯一不会被操纵的流动性数据
你自己每一笔的:信号价 → 实际成交均价
这个数据别人刷不了、撤不掉,而且完全免费——你只要记录就有(第十八篇)。
积累几十笔之后,你会得到一张属于你自己规模、你自己时段、你自己执行方式的滑点表。它比任何公开指标都准。
链上的情况更简单:直接用你的真实规模去要一个报价,聚合器会告诉你实际滑点。这是模拟,不花钱(第二十四篇)。
四、第 3 层:结构否决(布尔,不打分)
⭐ 这一层就是"承重墙和产权”:下面每一条都是一票否决,不打分、不加权、不和别的项互相抵消。 一套房子的采光再好,也不能拿来抵消产权有纠纷。
这一层不做加权评分,任何一条不过就出局。
□ 合约源码已验证 未验证 → ❌
□ mint / pause / blacklist 权限 存在且在单个私钥手上 → ❌
□ 是否可升级代理 是,且无时间锁 → ❌
□ LP 是否锁定、何时到期 未锁定 → ❌
□ FDV ÷ 流通市值 > 5 → 🟠 至少必须说出来
□ 未来 90 天有无解锁悬崖 有 → 🟠 标记,不必然否决
□ 持有者集中度(⚠️ 先剔除交易所钱包与合约地址)
为什么这一层不打分
因为这些风险不是概率性的,是布尔的。一个有蜜罐逻辑的合约,不是「风险较高」,是「你卖不掉」。给它打 60 分然后和别的因素加权平均,是把一个确定性事件混进了统计框架,那是错的。
主流交易所的主流币大多自动通过这一层。这一层是为你想碰小市值和链上标的准备的。
五、第 4 层:可测性——最容易被跳过的一层
□ 有多长的历史数据?
□ API 稳定吗?有没有限流?(第二十四篇)
□ ⚠️ 上市时间 < 6 个月 → 样本不足 → 无法检验
这一条为什么是硬性的
t = (平均每笔R ÷ 标准差) × √N
一个上市三个月的标的,你能拿到的样本量决定了 t 值必然不显著。
这不是「证据比较弱」,是「无论结果多好,都无法与运气区分」。
所以结论很直接:
不可检验的标的,在这套体系里就是不可交易的。
不是因为它一定不好,而是因为你没有任何办法知道它好不好,而在不知道的情况下投入资金,就是第一篇说的那种「不是交易,是下注」。
六、一份可以直接实现的规格
# ── 输入(第 0 层)
capital_per_trade # 单笔资金
holding_days # 平均持有周期 N
venue # spot | perp | onchain
fee_maker, fee_taker # 你的实际费率等级
# ── 每个候选标的采集
atr_pct_20d # 20 日 ATR ÷ 价格
spread_avg # ⚠️ 时间加权平均价差,不是快照
depth_bid_1pct # ±1% 买单深度(计价货币)
depth_bid_2pct
funding_rate_avg # 仅 perp,取近 N 日均值
listing_days # 上市天数
slippage_own # ⭐ 你自己的历史滑点中位数(有就用,优先级最高)
# ── 第 1 层
expected_move = atr_pct_20d * sqrt(holding_days)
cost = fee*2 + spread_avg + slippage*2 + funding_rate_avg*holding_days
ratio = expected_move / cost
# ── 第 2 层
exit_pressure = capital_per_trade / depth_bid_1pct
# ── 第 3 层:布尔门,任一 False 直接出局
# ── 第 4 层:listing_days < 180 → 出局
# ── 输出
# 不给综合评分。输出分档 + 每一档「因为哪一条被否」。
⚠️ 为什么不给综合评分
综合评分会让一个致命项被几个优秀项掩盖。
深度极差(致命) + 波动率很高 + 费率很低
→ 加权后可能得到一个漂亮的分数
→ 而你实际上买了一个出不去的东西
否决式框架不能被平均化。 这是第十九篇的核心,在代码层面就是:布尔门先跑,且不参与加权。
七、⚠️ 三个必须处理的数据陷阱
1. 价差要用时间加权,不能用快照
单次快照会系统性低估真实价差:做市商在波动时会撤单、加宽报价,而你恰好想在那时成交。
正确做法是在一段时间内持续采样后取平均,或者直接取你实际成交时的实测值。
2. ⭐ 幸存者偏差——回测筛选器时最致命的一条
❌ 用「今天还在交易所的标的」跑历史回测
→ 已下架、已归零的标的不在样本里
→ 结果必然过分乐观,而且乐观的幅度不可估计
✅ 需要 point-in-time 标的池:
包含「当时存在、后来消失」的那些
这是第七篇回测六种偏差里最难修的一个,因为下架和归零的历史数据通常不好拿。
如果确实拿不到,至少要在结论里写明这个偏差的方向——你的回测结果是一个上界,不是估计值。
⚠️ 这一条在加密市场比在美股严重得多,因为消失率高得多。
3. 别用二手聚合站的数据做筛选
直接打交易所 API。聚合站的成交额口径不统一、更新有延迟,而且它统计的是各家自报的数据——回到陷阱 1 的问题。
八、⭐ 一个必须说清楚的结论
跑完这五层,你会发现一件事:
通过筛选的,几乎全是主流大市值标的。
而它们恰恰是流动性最好、参与者最专业、定价最有效率的那些——最难获得优势的地方。
这不是筛选器的缺陷
可交易性 ← 由 流动性 决定
低效率 ← 由 缺乏关注 决定
而 流动性 与 关注度 高度正相关
⇒ 可交易性 与 可获利性 在结构上负相关
| 你选择 | 得到 | 付出 |
|---|---|---|
| 大市值 | 成本低、出得去、数据全、可检验 | 有效率高,优势难找 |
| 小市值 | 可能存在低效率 | 成本高、出不去、结构风险、样本不足 |
没有一格是「便宜又低效」的。
任何声称找到了这一格的方法,都值得用第十九篇那个必答题问一遍:
谁在另一端亏钱?他为什么会持续这样做?
九、⚠️ 排序不是筛选:相对强度该怎么用
前面八节做的全是布尔否决。但横截面还有另一种用法——排序,而把这两件事搞混是这一类工具最常见的误用。
| 这一篇做的 | 相对强度做的 | |
|---|---|---|
| 输出 | 布尔(能做 / 不能做) | 序 |
| 依据 | 成本、深度、可测性 | 相对表现 |
| 回答 | 「哪些可交易」 | 「哪些更强」 |
怎么正确构造它
① 定基准:相对指数?相对同板块?相对 BTC?
⚠️ 换一个基准,排名就变——这是第一个自由度
② 定窗口:常见 1 / 3 / 6 / 12 个月
⚠️ 这是第二个自由度
③ 排序:按窗口内收益率排,通常还要剔除最近 1 个月
⚠️ 第 ③ 步那个「剔除最近 1 个月」不是随手加的——学术上的横截面动量构造里普遍这样做,因为最近一个月存在反向效应。照搬指标而不照搬这个细节,你算的就不是文献里那个东西。
⭐ 关键区分:它是组合层面的效应
第 34 篇第一节第 7 类说过,相对强度实际上就是横截面动量——技术分析里少数有较强学术支撑的部分。⚠️ 但必须连它的形态一起引用:
文献里的横截面动量:
几百只标的 → 排序 → 做多前 10%、做空后 10% → 持有数月至数年
⭐ 它是一个「多空组合」的统计性质
❌ 「买那只最强的」 —— 这不是横截面动量,
这是把一个组合层面的效应,套用在一个单一标的上
⭐ 一个组合层面的统计性质,不能被拆成单笔交易的依据——这和第 30 篇第一节讲时间序列动量时是同一条纪律。
比值图与价差图的陷阱
「看 A/B 的比值图,它突破了」——这句话有一个结构性问题:
比值是一个商,它的走势由分子和分母共同决定。
「比值突破」可能是 A 涨了,也可能是 B 跌了,而这两件事在图上完全一样。
而且它继承了第 40 篇的全部问题:在比值图上画趋势线、找形态,自由度比在价格图上更大——因为你还多了一个「选哪个分母」的自由度。
例外是有结构性收敛理由的价差:期现基差、跨期价差、同一资产的两个包装(第 10 篇)。那些序列有稳定的半衰期(第 35 篇第四节),而任取两个标的的比值没有。
多个窗口不是多个证据
1 个月、3 个月、6 个月的相对强度排名高度相关。按第 38 篇第八节,算一下相关矩阵,有效独立数大概率接近 1。
这和第 27 篇的「三重确认」是同一个错误:同一个观测被数了三遍。
所以排序能用来做什么
✅ 决定「今天先看哪几个」 —— 注意力的分配,成本为零
✅ 作为组合层面的一个权重输入 —— 但要按第 38 篇整套检验
❌ 决定「买哪一个」 —— 组合效应不能拆成单笔依据
❌ 作为入场信号 —— 排名不含时点信息
最后一条值得强调:排名回答「谁更强」,但它不含任何关于「现在该不该动手」的信息——那需要第 32 篇的完整信号规格,而排名没有时点、没有出场、没有失效条件。
这一篇给的是判据(阈值、否决顺序)。这些量「怎么算才是对的」在第 44 篇——采集、校验与静默错误。阈值定得再对,输入错了也没用。
十、那么实际该怎么做
① 用五层漏斗把可交易域框出来(通常剩 10–30 个标的)
→ 这一步的产物是「不做什么」,不是「做什么」
② 在这个域里,先不找方向信号,只做测量:
波动率状态、成本状态、拥挤度状态
→ 这些都是可测的,不需要预测(第十五篇)
③ 优势不在标的选择里,在这三个地方:
- 执行 —— 第十八篇
- 结构 —— 第十篇
- 时机 —— 低波动期不做,本身就是正贡献(第三十五篇)
④ 想做方向性判断时,回第十九篇写可证伪假设,
按第二十篇检验 —— 而不是反过来先有结论再找理由
第 ③ 条值得单独说
把往返成本从 0.2% 压到 0.04%,可交易比值提高 5 倍。
这个收益是确定的、可复制的、不需要任何市场判断。
而找到一个能持续跑赢的方向性信号,是不确定的、可能不存在的、并且会衰减的(第七篇)。
⭐ 这个筛选器还缺一个正交的维度:它回答「哪些标的今天能做」(横截面),但不回答「今天这个环境适不适合我这套方法」(时间序列)。后者在第 35 篇——波动率分位、可交易比值、效率比三层判据。两个都要过。
两件事都在提高期望值,但只有一件你能控制。
⭐ 第 46 篇第四节给了年化的账:每日一次的策略,taker 0.2% 与 maker 0.04% 相差 29.9 个百分点/年。而那里还有一条这里没说的推论——成本减半 ⇒ 所需样本量降到四分之一,降成本让你更快知道自己有没有优势。
多数人把 90% 的精力放在第二件上。这个分配本身,可能就是最大的可优化项。
十一、能回答和不能回答什么
| 问题 | |
|---|---|
| 今天哪些标的的成本覆盖得了 | ✅ 第 1 层,纯算术,不需要预测 |
| 我这个仓位出不出得去 | ✅ 出场压力比,用买单侧、最差时段 |
| 这个标的的数据够不够我做检验 | ✅ 第 4 层可测性——最容易被跳过的一层 |
| 为什么通过筛选的几乎全是大市值 | ✅ ⭐ 结构性负相关,不是筛选器的缺陷 |
| 短周期今天还成不成立 | ✅ 但要按今天的波动率状态重算(第 31 篇) |
| 今天先看哪几个 | ✅ ⭐ 相对强度排序——注意力分配,成本为零 |
| 这个比值突破了说明什么 | ⚠️ 分子涨和分母跌在图上一样 |
| 哪个标的会涨 | ❌ 提法就错了——这里回答的是「哪个可交易」 |
| 能不能给我一个综合评分排序 | ❌ 布尔否决,不打分——好流动性不能抵消坏成本 |
| 这份名单能用一周吗 | ❌ 逐日跑,不是给标的贴永久标签 |
| 用今天的名单回测行不行 | ❌ ⚠️ 幸存者偏差,必须 point-in-time |
| 有没有「便宜又低效」的那一格 | ❌ 结构上不存在——任何声称找到的,先问谁在另一端 |
| 排名第一的那只该不该买 | ❌ 组合层面的效应不能拆成单笔依据 |
| 相对强度算不算入场信号 | ❌ 排名不含时点信息(第 32 篇) |
十二、这一篇的结论
- 「哪个会涨」和「哪个可交易」是两个问题。 后者可以被客观定义并算出来,这一篇只做后者。
- 筛选器的输出不是「买这个」,是「这些通过了结构筛查,可以进入假设检验」。
- 成本可覆盖性是第一道也是最狠的筛子:
期间预期波动 ÷ 往返成本,< 5 直接出局。纯算术,不需要任何预测。 - ⭐ 执行方式是筛选器的输入参数,不是事后细节。 同一天的 ETH,现货 ❌ / 合约 taker 🟡 / 合约 maker 🟢——跨三档。
- 波动按 √T 缩放,成本按 1 缩放。 周期缩小 4 倍,波动只缩小 2 倍,手续费一分不少——这是短周期不利的全部原因。
- ⭐ 3min / 5min 在现货上是数学上不可行的,不是难。完美抓住整根 3 分钟 K 线的全部波动,还不够付手续费。
- ⚠️ 加密的永续合约常常比现货便宜,和美股直觉相反。不要跨市场套用成本直觉。
- 这个筛子逐日跑,不是给标的贴永久标签。「今天全都不通过」是合法且常见的输出。
- ❌ 不要用成交额筛选——它可以被刷,而且几乎免费。
- ✅ 用 ±1% 买单深度算出场压力比,> 0.3 出局。看买单不看卖单:进场可以放弃,出场不能。
- ⚠️ 深度是乐观估计(挂单可撤)。唯一不会被操纵的流动性数据,是你自己记录的「信号价 → 实际成交价」。
- 结构否决层是布尔的,不打分。 蜜罐不是「风险较高」,是「你卖不掉」——它不能被加权平均掉。
- 可测性是硬性条件:上市 < 6 个月 ⇒ t 值必然不显著 ⇒ 无论结果多好都无法与运气区分。不可检验的标的就是不可交易的。
- 三个数据陷阱:价差要时间加权(快照系统性低估)、回测必须用 point-in-time 标的池(加密的消失率远高于美股,幸存者偏差更致命)、别用二手聚合站数据。
- 可交易性与可获利性在结构上负相关——流动性和关注度正相关。没有「便宜又低效」那一格。声称找到了的,先回答「谁在另一端亏钱」。
- 排序不是筛选:这一篇做布尔否决,相对强度给的是序。而相对强度就是横截面动量,它是组合层面的效应(几百只、多空、持有数月至数年)——把「排名第一的那只」拿来买,不是在做横截面动量。
- 排序能用来分配注意力(成本为零),不能用来决定买哪个,也不能当入场信号——排名不含时点信息:没有时点、没有出场、没有失效条件。
- 比值图有一个额外的自由度:比值是个商,「突破」可能是分子涨也可能是分母跌,而且你还多了「选哪个分母」这个自由度。例外是有结构性收敛理由的价差(基差、跨期、同一资产的两个包装)——那些有稳定的半衰期,任取两个标的的比值没有。
- 多个相对强度窗口不是多个证据:1/3/6 个月排名高度相关,有效独立数接近 1。
- 把往返成本从 0.2% 压到 0.04%,比值提高 5 倍,且这个收益是确定的。 找到持续有效的方向性信号是不确定的。两件事都提高期望值,但只有一件你能控制——而多数人把 90% 的精力放在了不能控制的那件上。