Q-CodeQ-Code 打开工作台

Amihud 非流动性选股

因子选股A股风险 中进阶更新 2026-09-25#非流动性溢价#Amihud#量价因子

用单位成交额的价格冲击度量非流动性:按文献方向做多高非流动性组,小市值纠缠与交易成本是两条生死线。

策略目标

非流动性溢价的逻辑朴素:持有难以交易的资产,必须获得补偿 [1][2]。Amihud (2002) 给出了一个巧妙的简化——用单位成交额推动的价格变动度量价格冲击:大额成交却撬不动价格的股票,市场深度好;小额成交就导致价格大幅波动的股票,流动性差。该度量的价值在于只需日频量价数据,不依赖买卖价差等高频微观结构数据,A 股完整可算。与站点已有的换手率因子分工明确:换手率度量交易活跃度,Amihud 度量价格冲击——高换手但价格纹丝不动的股票(对倒、筹码松动),两者给出的信息完全不同。区分度不靠叙述靠检验:与换手率因子做正交化对照裁决。

数据需求(量价)

数据 字段 频率 用途
量价 日收益率 日频 分子
量价 日成交额(元,原始口径) 日频 分母
状态 ST、上市日期、涨跌停标记 日频 过滤与偏差处理

成交额必须用原始口径而非复权处理后的数值——复权只作用于价格,量纲混乱会直接污染比率。零成交额与停牌日剔除。

价格冲击度量

ILLIQi,t=∣ri,t∣DVoli,tILLIQ_{i,t} = \frac{\left|r_{i,t}\right|}{DVol_{i,t}}

单日值噪声大,取滚动 120 个交易日均值(习惯上乘以 10610^6 缩放):

ILLIQi=mean({ILLIQi,t}t−119t)×106ILLIQ_i = mean\left(\left\{ILLIQ_{i,t}\right\}_{t-119}^{t}\right) \times 10^6

涨跌停日 ∣r∣|r| 被制度截断,ILLIQ 被系统性低估,单独标记并列入剔除对照。窗口 60/120/250 日列入敏感性检验。

执行规则与两条生死线

月度调仓。过滤:剔除 ST、上市不满一年、日均成交额低于组合可交易底线的标的——组合自己必须买卖得动,度量出来的流动性溢价才有意义。按文献方向做多 ILLIQ 最高(非流动性最强)的 40 只等权 [1]。方向与成本是本策略的两条生死线:A 股小盘语境下非流动性与小市值高度纠缠,非流动组本身交易成本更高,双边成本会直接吞噬薄溢价;方向登记为待验证,镜像组合(做多流动性最好组)同步统计,由对照结果裁决。

风险与失效场景

  • 与小市值高度相关:非流动性溢价经常被质疑是小盘效应的换装,市值中性化检验是必做项;
  • 成本吞噬:非流动组交易成本更高,单边 0.1%-0.3% 的成本敏感性直接决定净收益正负;
  • 涨跌停截断偏差:制度截断让极端非流动被低估,排序失真;
  • 成交额操纵:对倒可以虚增成交额压低 ILLIQ,度量可被配合出货的行为污染;
  • 流动性突变:系统性风险日流动性整体蒸发,高 ILLIQ 组回撤最深且卖不出去;
  • 语境变化:注册制与退市常态化改变小票壳价值结构,历史规律未必延续。

验证状态

待验证。需要完成:ILLIQ 分组收益单调性;市值中性化后的残余显著性;成本敏感性(单边 0.1%/0.2%/0.3%);涨跌停日剔除与否的对照;与换手率因子正交化后的区分度裁决;镜像组合(低 ILLIQ 组)的对照序列。本文不提供任何未实测的收益或回撤数字。

参考文献与延伸

[1] Amihud, Y. (2002). Illiquidity and Stock Returns: Cross-Section and Time-Series Effects. Journal of Financial Markets, 5(1).(价格冲击度量的原始文献)

[2] Amihud, Y., & Mendelson, H. (1986). Asset Pricing and the Bid-Ask Spread. Journal of Financial Economics, 17(1).(非流动性溢价的理论起点)

[3] Q-Code 量化策略工作台

策略逻辑结构

  1. 日量价数据 — 日收益与原始口径成交额
  2. ILLIQ 计算 — 价格冲击滚动 120 日均值
  3. 截断偏差处理 — 涨跌停日标记与剔除对照
  4. 可交易性过滤 — 日均成交额底线、ST、次新
  5. 高非流动性组合 — ILLIQ 最高 40 只,方向参数化
  6. 成本与净值评估 — 三档成本对照与再平衡

AI 生成提示词

复制以下提示词,打开 Q-Code 工作台粘贴到 AI 对话框,即可自动生成该策略的 QMT 策略代码(单个完整 .py 文件,支持 QMT 回测与实盘)。

请生成一个 QMT 兼容的 A 股 Amihud 非流动性选股策略。日收益与原始口径成交额由参数注入:计算 ILLIQ = |日收益| / 日成交额,取滚动 120 日均值并乘以 10 的 6 次方缩放,涨跌停日单独标记并支持剔除对照;剔除 ST、上市不满一年与日均成交额低于可交易底线的标的;做多 ILLIQ 最高的 40 只等权(方向参数化,便于镜像对照验证),月度调仓,输出含单边成本 0.1%、0.2%、0.3% 三档的净值对照。兼容回测与实盘分支,参数内联在 init,输出单个完整 Python 文件并包含详细日志。
用自然语言,生成你的 QMT 策略
注册即赠 200 积分,约可生成 5 次 · 支持 Kimi / GLM / DeepSeek
打开 Q-Code 工作台