万得微盘股量化策略 全面解析
万得微盘股量化策略 全面解析
一、策略核心原理
1. 指数编制规则(策略基础)
万得微盘股指数包含全部A股(不含北交所)中市值最小的400只个股,剔除ST、*ST、退市整理股、首发连板未打开的标的,每日更新成分并等权再平衡。
2. 收益来源分析
海通证券认为,万得微盘股指数的收益来源可能包括三个方面:一是小市值溢价显著,市值最小的100-200只股票贡献较高;二是高系统波动风险补偿,股价变动对成交量敏感;三是反转特征明显,每日进行止盈交易。
3. "伽马收益"理论
微盘股指数是每天收盘时再次选择市值最小的400只股票,相当于会出现上涨的股票会卖出去,而跌的股票会买进入,这就是伽马收益的特征:通过大数据挖掘,资金管理、仓位管理和交易行为等实现了随机收益为0转正收益。
资产收益 = 阿尔法收益 + 贝塔收益 + 伽马收益。诺贝尔经济学奖得主威廉夏普将金融资产的收益拆分为贝塔收益和阿尔法收益。而伽马收益是通过选股、资金、仓位管理和交易行为等手段转化为正收益。
二、量化策略开发框架
1. 策略开发基本公式
微盘策略 = 小市值因子 + 基本面因子,其中小市值因子是实现伽马收益的关键部分,而基本面因子则是限定微盘股策略的选股范围或倾向。
2. 具体因子构成
核心因子组合:
从微盘股策略开发的基本逻辑示意图可知,第一个因子必须是小市值因子,剩余因子就是盈利因子:营业利润率、销售净利率、资产回报率、5年资产回报率、投资资本回报率、利润总额增长、净利润3年复合增长等。
里面包含了小市值因子,其中小市值因子的权重几乎接近一半,如此设置的重要原因就是为了增加伽马收益和选出来的股票市值更倾向最小的方向。
三、策略开发具体步骤
"盈利因子+微盘空间"的微盘股策略开发步骤如下:
交易模型设置:调仓周期(交易日)为1,调仓时间点在13:30,新股理想仓位为10%,个股仓位范围为5~15%,最小建仓位为5%,买入条件限制:排名名次 小于等于 12,卖出条件:排名名次 大于等于 20,不卖条件:调仓日交易时涨停。
首先,保证以下因子数值等于0:预期ST戴帽、国九条财务退市预警、国九条分红ST预警、国九条交易退市预警、预期ST和预期连续两年亏损,剔除部分可能存在高风险的股票。
因子调整方法
因子调整权重操作方法,尽量避免过拟合问题,尽量使用0.5、1.0、1.5、2.0等参数去调权重,相等于间隔0.5跳动。可以逐个因子去调整,将第一个因子逐步调整,由0.5变动到N,选择最佳参数N1作为第一个因子的权重;依次类推,实现将所有因子都推演一遍。
四、Python策略代码示例
以下是聚宽平台的微盘股轮动策略代码框架:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29# 微盘股轮动策略示例 import pandas as pd def initialize(context): log.set_level('order', 'error') set_option('use_real_price', True) # 使用真实价格 set_option('avoid_future_data', True) # 防未来函数 g.days = 0 def after_code_changed(context): unschedule_all() run_daily(iUpdate, time='before_open') # 每天开盘前更新 run_daily(iTrader, time='9:35') # 每天9:35交易 run_daily(iReport, time='after_close') # 收盘后报告 def iUpdate(context): nchoice = 120 # 选择股票数量上限 nposition = 100 # 持有股票数量上限 # 全部A股 dt_last = context.previous_date all_stock = get_all_securities('stock', dt_last) cdata = get_current_data() # 过滤ST股票 stocks = [s for s in all_stock.index if not cdata[s].is_st] # 获取小盘股(按市值排序,选取最小的N只) # ... 后续选股逻辑
五、关键量化因子详解
1. Barra风格因子表现
Barra风格因子:本周动量和杠杆因子表现为正,分别为0.14%和0.04%;规模和流动性因子表现负向,规模因子下跌0.73%。过去一年夏普比率最高的是非线性规模因子和流动性因子。
2. 有效因子类型
| 因子类型 | 具体指标 | 作用 |
|---|---|---|
| 小市值因子 | 总市值、流通市值 | 核心因子,实现"高抛低吸" |
| 盈利因子 | ROE、净利润率、毛利率 | 筛选基本面较好的微盘股 |
| 估值因子 | PE、PB、PS | 控制估值风险 |
| 流动性因子 | 换手率、成交量 | 保证交易可执行性 |
| 动量/反转因子 | 近期涨跌幅 | 捕捉反转效应 |
六、风险控制与择时
1. 非线性择时方案
25天周期的非线性择时模型大体解决了,在快速反弹时反应敏感问题,同时在长期震荡时钝化反应敏感问题,也就是说在反弹的权重指数级增加,而在震荡时反弹的权重指数级增加不明显。
2. 风险敞口管理
量化管理人在底层因子、策略组合、IT建设、新产品线的探索等多个方面进行更深层的挖掘,以维持超额收益能力。10月初,星阔投资上线了新版高夏普的策略,能够随着时间自动调整风格暴露程度,在小盘股下跌时会自动降低小盘暴露。
3. 退市风险过滤
博时基金指数与量化投资部基金经理刘玉强认为,新"国九条"发布后,市场对公司基本面的关注将更加重视。公募量化需要重新评估基本面和市场面因子的权重分配,在构建投资组合时,也有必要剔除可能的风险股票,降低持仓中风险事件股票的可能性。
七、策略优化方向
1. 调仓频率优化
| 调仓频率 | 优劣势 |
|---|---|
| 日频 | 收益最高,但交易成本大、实操难度高 |
| 周频 | 收益略低,交易成本适中 |
| 月频 | 收益明显下降,但更易于实操 |
2. 策略衍生方法
通过微盘股策略模型的因子或权重进行微调,目的是在不明显降低策略的年化收益率的情况下,增加新的衍生策略,并且它们之间的股票持仓重叠不高或不重叠。比如可以去掉中性CP和中性SP两个因子,看回测出来的结果是否年化收益率降低不明显,同时选中的股票与原模型是否重叠性小。
3. AI/大模型应用
传统全域因子面临挑战的当下,将进行:纳入新的研究工具和方法,主要是以deepseek等大模型为代表的新一代研究体系,围绕大模型构建:1)高效研究代理(Research Agent);2)文本alpha重构,利用大模型的语义分析能力;3)另类数据挖掘,利用大模型的多模态能力。
八、策略回测业绩参考
"盈利因子+微盘样本空间"的微盘股策略,从2017年至今,累计收益超过27倍,年化收益率高达48.8%。
万得微盘股指数在2009年至2023年期间的年化收益率达到惊人的51.36%。
九、重要风险提示
之前公募量化策略主要集中在微盘股投资上,这导致其小盘风格因子暴露过高,一旦市场风格发生转换,就容易引发较净值大幅波动,从而恶化基金投资者的持有体验。
微盘股近两年波动比较大,可能是因为量化策略同质化比较严重导致的,容易导致挤兑风险而引发微盘股指数或策略出现大的beta风险。
总结: 万得微盘股量化策略的核心是利用"小市值因子+等权配置+日频调仓"实现"高抛低吸"的伽马收益,再叠加盈利、估值等基本面因子优化选股范围。策略历史收益惊人,但需警惕风格轮动、流动性风险和策略拥挤带来的回撤风险。