小市值策略复现(A股选股框架回测系统)

相关config配置

https://quantkt.com/forumDetail?id=201043

很早就知道了小市值模型,正好量化选股回测框架出来了,把最裸的小市值复现下,顺便验证下框架逻辑。

科普:

小市值策略基于 "小市值效应",即从历史数据来看,在较长一段时间内,小市值公司的股票收益率往往高于大市值公司的股票收益率。其背后的逻辑可能是小市值公司具有更大的成长潜力,它们可能处于发展初期,业务增长速度较快,一旦获得市场认可或取得技术突破,股价可能大幅上涨。此外,小市值公司的股票相对容易被资金推动,一些机构或投资者可能通过买入小市值股票来获取较高的收益。

微盘股天然的就应有更高的期望收益,因为微盘股有更大的风险,如果期望收益和A50,沪深300一样,那所有人都会选择更安全的红利股。

框架设置几个参数:

将target_holding_count改成['0%','1%']表示持有整个市场的前1%小市值的股票

期望持股天数为10天。

过滤ST和退市以及北交所股票。

过滤3块以下低价股,避免低价股退市。

一些注意点:

1.测试微盘股相关,回测框架中一定要考虑退市股,因为A股已经有快300个退市股,微盘又很容易踩雷。

2.回测框架所采用的数据集一定要考虑股票的更名历史,即加st去掉st等,不然对策略真实影响较大。

回测区间:2009.1.1->2025.3.31

点击运行框架

回测结果

从结果来看符合预期,裸小市值09到25这十五年大概是650倍收益,10万块变6500万。最大回撤53点。

最大回撤出现在24年初的流动性枯竭,事后各种解释都有,但是回测结果来看其实就是策略在18-23年一直有效,导致各类机构的各种策略很容易有意无意掺点这个因子或者相关联的因子,导致策略内部挤进了太多的资金。

第二第三大回撤为18年一整年的熊市和15年的牛市A杀。

关于市值因子的月度相关性:

可以看到1月4月一片绿,且12月份也是个对市值因子较为不利的月,看着确实像业内共识了,很明显策略如果停掉这三个月会猛的多,但是这里就不测了,后续可以专门弄点细化分析。

关于小市值的分箱图, 为了方便快速测试,我这里选了市值区间[5%,6%],[15%,16%],[25%,26]...[95%,96%]...[99,100%]

分成11组进行分组测试与对比




这个分箱图还有各类指标分离度都达标,证明了这个因子过去在市场中的有效性确实存在。

关于市值因子的长期有效性:

由于市值因子是很底层因子,其有效性很难失效,更多会体现在周期性之上。

A股市场一直生效的市场规律,一旦被公众所熟知,并被广泛使用之后,这个规律就会变异,从而失去原有的预测效果。

随着策略规模的增加,波动会增加,直到一次黑天鹅将参与者收割。

相关推荐
X56614 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
ZhengEnCi4 小时前
03ab-PyTorch安装教程 📚
python
狐狐生风5 小时前
LangChain 向量存储:Chroma、FAISS
人工智能·python·学习·langchain·faiss·agentai
狐狐生风5 小时前
LangChain RAG 基础
人工智能·python·学习·langchain·rag·agentai
老前端的功夫5 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
yaoxin5211236 小时前
397. Java 文件操作基础 - 创建常规文件与临时文件
java·开发语言·python
dFObBIMmai6 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw06 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python
小白学大数据6 小时前
Python 自动化爬取网易云音乐歌手歌词实战教程
爬虫·python·okhttp·自动化
风之所往_8 小时前
Python 3.0 新特性全面总结
python