流动性因子:溢价存在,但你未必拿得到
我的掌握程度:
先掌握这个答案
两种解释:①风险补偿:持有非流动资产承担「急需用钱时卖不出」的风险——溢价是保险费(均衡解释);②错误定价:非流动股票关注度低、定价错误多且修复慢——溢价是「耐心资本」的套利所得(行为解释)。落地难的三重折扣:①交易成本:因子多空组合换手时,非流动腿(尤其空头)的冲击成本吃掉溢价的大半——学术收益按零成本计算;②容量悖论:策略容量与流动性成反比——溢价越厚的池子(微盘、冷门)容量越小;③时空不匹配:溢价在长期兑现、但你需要中途调仓(q-604分散化的流动性暗面)。净流动性因子的打开方式:①用净口径回测(成本按分层设置——q-518);②把流动性当「过滤器」而非「主因子」(剔除最差的20%保护其它因子);③小资金的红利:个人小资金几乎无冲击——这是个人相对机构在该因子上的天然优势(q-057容量镜像)。
先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。
从理解到使用
本阶段实战方法 · 让一个因子经历完整的样本外检验
从一个投资直觉构造信号时,先验证预测关系,再验证能否交易。
- 写出经济假设、股票池、因子方向、可用时点、持有期和评价指标;用历史成分与退市样本。
- 在每个时点用可得数据计算因子,检验截面IC、分层收益、换手和行业市值暴露。
- 锁定参数做样本外验证,扣除成本并做不同市场阶段与参数敏感性分析。
使用边界
- IC没有通用合格线;股票池、频率、持有期与成本不同,数值不可直接横比。
- 多空分组收益不是个人可直接实现的收益,还要考虑融券、对冲与资金约束。
背景 · 从一个困惑说起
学术文献里稳健的异象:低流动性(低换手、高冲击成本)的股票长期有溢价——补偿持有者「想卖卖不掉」的风险。听起来是个好因子,直到你试图交易它。
由此产生的问题
流动性溢价的两种解释(流动性风险补偿+流动性错误定价)?为什么它是「纸面强、落地难」的典型(溢价的很大部分是你付的交易成本)?净流动性因子的正确打开方式?
核心概念
两种解释:①风险补偿:持有非流动资产承担「急需用钱时卖不出」的风险——溢价是保险费(均衡解释);②错误定价:非流动股票关注度低、定价错误多且修复慢——溢价是「耐心资本」的套利所得(行为解释)。落地难的三重折扣:①交易成本:因子多空组合换手时,非流动腿(尤其空头)的冲击成本吃掉溢价的大半——学术收益按零成本计算;②容量悖论:策略容量与流动性成反比——溢价越厚的池子(微盘、冷门)容量越小;③时空不匹配:溢价在长期兑现、但你需要中途调仓(q-604分散化的流动性暗面)。净流动性因子的打开方式:①用净口径回测(成本按分层设置——q-518);②把流动性当「过滤器」而非「主因子」(剔除最差的20%保护其它因子);③小资金的红利:个人小资金几乎无冲击——这是个人相对机构在该因子上的天然优势(q-057容量镜像)。
为什么需要它
①「因子收益≠可得收益」的最强教材:学术IC 0.05的流动性因子,扣成本后剩多少——这道算术题是每个因子研究者的成人礼;②Amihud指标(q-029)的因子化:|r|/成交额的长期均值——最常用的非流动性度量;③个人的结构性机会:机构因容量无法重仓的冷门池,恰是个人可以没有冲击地狩猎的领地——差异化竞争的数学基础。
实际应用场景
构造:illiq=log(20日Σ|r|/成交额),中性化后做多高非流动性组——但先跑成本敏感性(0.2%/0.5%/1%三档),悲观档归零就只用它做过滤器。
与之前知识的联系
q-029(Amihud度量)的因子版;q-055/057(冲击与容量)是它落地难的两把刀;q-518(滑点假设)的分层设置为它定制;个人的机会呼应q-081(散户做量化)。
⚠ 常见误解
- 学术显著=可以交易:流动性因子是「学术-实务差」的极端样本——成本折损常超一半;净口径回测后再信
- 流动性溢价=买最小最差的股票:溢价补偿的是流动性而非质量——垃圾股的流动性差不该赚——控制质量与规模后看剩余溢价
- 个人没有优势:在这个因子上恰好相反——无冲击成本的小资金是非流动池的天然猎手(机构进不来的地方)
🛠 本题实践任务
构造Amihud非流动性因子(20日),做三本账:学术账(零成本多空)、实务账(分层成本)、容量账(多头组成交额中位)。它在你这里是主因子还是过滤器?
💡 提示(先自己想5分钟再看)
单位注意:|r|/成交额极小(约1e-9量级)——用log或标准化处理;成本档位参考q-518。
✅ 验收标准
三本账+使用决策。你完成了「学术因子到我的因子」的完整落地审计。
在你的浏览器内运行。首次需联网下载 Python;支持标准库和 Pyodide 提供的 NumPy、pandas 等包。行情抓取、系统文件访问和部分第三方库请在本地环境运行。输出自检仅比对结果关键词,不代替逻辑审查。
Python · 独立工作线程 · 执行限时10秒
🤖 AI导师
导师会先检查你的前置知识(流动性概念、冲击成本),再用案例、公式和代码帮助理解。此功能需要先启用服务。