冲击成本:你的大单如何推动价格对付你自己
我的掌握程度:
先掌握这个答案
冲击成本=交易行为本身造成的不利价格变动。经验规律(线性近似):冲击∝订单量占该股日均成交量的比例。行规:单日订单≤该股日均成交额的5-10%,冲击可控制在0.1-0.3%;超过20-30%冲击非线性恶化。容量(Capacity)=策略在冲击成本吞掉全部Alpha之前能管理的最大资金。
先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。
从理解到使用
成本必须按成交口径计算
声明换手是单向还是双向,是否有单笔最低佣金、卖出税费、借券利息和期货展期。成交价差、冲击与资金占用不能混为一个固定常数;对费率和参与率做压力测试。
本阶段实战方法 · 把行情数字变成可比较的收益
看股票、基金或策略业绩时,先对齐本金、起止日期、现金流与费用。
- 选一个固定区间,记录期初价值、期末价值、分红、出入金和交易费用。
- 没有中途出入金时,用(期末价值+已取出分红-期初价值-费用)÷期初价值计算收益;有出入金时先区分时间加权与资金加权。
- 用相同区间的基准作比较,同时记录最大亏损;不要单凭一次盈利评价能力。
使用边界
- 不同期限的收益不可直接排名;年化只是换算,不是未来收益承诺。
- 模拟价格不是实时行情。普通股票交易手数、T+1和费用应按具体市场规则核对。
背景 · 从一个困惑说起
基金要买入5000万元某小盘股,而它一天总共只成交3000万。基金越买,价格越高;价格越高,剩下的买入越贵——自己的钱推着价格打自己。
由此产生的问题
冲击成本的规律是什么(和订单大小的关系)?为什么它决定了策略的容量上限?
核心概念
冲击成本=交易行为本身造成的不利价格变动。经验规律(线性近似):冲击∝订单量占该股日均成交量的比例。行规:单日订单≤该股日均成交额的5-10%,冲击可控制在0.1-0.3%;超过20-30%冲击非线性恶化。容量(Capacity)=策略在冲击成本吞掉全部Alpha之前能管理的最大资金。
为什么需要它
①纸面收益的粉碎机:小盘策略回测超额20%很常见,10亿规模进场后冲击吃掉15%;②规模的反噬:同一策略规模越大收益越低——头部私募封盘保护业绩的逻辑;③容量是策略的「物理属性」:高频策略容量常<1亿,日线多因子可达百亿,这是产品设计的硬约束。
实际应用场景
选股池流动性过滤(剔除日均成交额后20%);订单拆分算法(TWAP/VWAP,几天内分批建仓);机构尽调必问:策略容量多少?超额是在多大AUM下实现的?
与之前知识的联系
q-029流动性从概念变成账单,q-053成本模型补上最后一块。下一题把成本与换手率相乘,看看高换手策略是怎么被「温水煮青蛙」的。
⚠ 常见误解
- 慢慢买就没冲击:时间拉长降低瞬时冲击,但暴露「建仓期风险」(价格先涨上去);两者权衡是执行研究的核心
- 冲击只发生在大机构:小资金在小盘股/流动性差的时点照样产生可观冲击(相对成交占比才是关键)
- 回测收益减去平均成本就够了:冲击随规模非线性增长,平均成本假设在扩张时失效
🛠 本题实践任务
估算一个假想策略的容量:假设策略日均收益0.1%,持仓50只股(每只目标仓位2%),单票日均成交额2亿,要求冲击≤0.1%。组合规模多大时单票调仓开始超限?
💡 提示(先自己想5分钟再看)
单票冲击0.1%≈参与率1.7%(用代码里的线性模型反推),即单票日可交易≈3300万;50只×3300万=16.5亿容量量级。
✅ 验收标准
写出估算过程和容量量级(十亿级)。理解「同一个策略,10亿是黄金,100亿是毒药」。
在你的浏览器内运行。首次需联网下载 Python;支持标准库和 Pyodide 提供的 NumPy、pandas 等包。行情抓取、系统文件访问和部分第三方库请在本地环境运行。输出自检仅比对结果关键词,不代替逻辑审查。
Python · 独立工作线程 · 执行限时10秒
🤖 AI导师
导师会先检查你的前置知识(流动性、滑点),再用案例、公式和代码帮助理解。此功能需要先启用服务。