小市值策略复现(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股市场一直生效的市场规律,一旦被公众所熟知,并被广泛使用之后,这个规律就会变异,从而失去原有的预测效果。

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

相关推荐
不只会拍照的程序猿9 小时前
《嵌入式AI筑基笔记02:Python数据类型01,从C的“硬核”到Python的“包容”》
人工智能·笔记·python
Jay_Franklin9 小时前
Quarto与Python集成使用
开发语言·python·markdown
Oueii9 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
2401_8318249610 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
njidf10 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
@我漫长的孤独流浪10 小时前
Python编程核心知识点速览
开发语言·数据库·python
宇擎智脑科技10 小时前
A2A Python SDK 源码架构解读:一个请求是如何被处理的
人工智能·python·架构·a2a
2401_8512729910 小时前
实战:用Python分析某电商销售数据
jvm·数据库·python
vx_biyesheji000111 小时前
Python 全国城市租房洞察系统 Django框架 Requests爬虫 可视化 房子 房源 大数据 大模型 计算机毕业设计源码(建议收藏)✅
爬虫·python·机器学习·django·flask·课程设计·旅游
code 小楊11 小时前
yrb 1.5.0 正式发布:Python 极简国内下载加速与全景可视化终端体验!
开发语言·python