你看好一个小市值的标的,想投 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% 的精力放在了不能控制的那件上。