在众多的量化策略中,“因子选股”策略因其透明度高、操作清晰而受到广泛关注。今天,我们将介绍一种基于财报因子的量化投资策略——A股低PEG高成长精选轮动策略。这款策略不仅在选股上注重基本面,还结合了低频轮动、涨停股风控和固定仓位管理,旨在帮助投资者在波动的市场中获取稳健的回报。该策略五年回测总收益为643.23%,年化收益53.12%。本文策略的完整源码请在文末扫码获取。
当策略启动时,第一件事就是建立它的“世界观”和“游戏规则”。在代码中,这通过 initialize 函数完成。
策略首先设定了沪深300作为基准。随后,它要求系统使用真实价格撮合,并且强制开启“避免未来数据”模式。同时,策略还把滑点和手续费一一明确,这些设置让策略的表现更贴近实际交易。
接着,策略初始化了大量全局变量,例如:目标持仓 10 只股票、持仓列表、要买的股票列表、涨停股列表、黑名单、空仓标志等。最后策略设置了几类定时任务:每天开盘前准备数据、每周一进行调仓、每天尾盘检查涨停股是否炸板、尾盘必要时清仓。这些调度安排让策略节奏井井有条,就像一台自动化的交易机器。
每天 09:25,策略会进入它的“早会时间”。首先,它检查今天是否处于 4 月份,因为 4 月份这个时期财报密集披露,不确定性较大,所以策略选择整月空仓——这是代码通过日期判断实现的。
然后,它统计最近一段时间的持仓历史,通过 get_history_hold_list 把这些股票加入一个“短期不再买”的黑名单。这意味着策略绝不会在短期内反复来回折腾同一批股票,避免被高波动情绪反复收割。
最后,策略检查昨天持仓中是否有股票涨停,并把这些股票记录下来,为当天尾盘的炸板风控做准备。开盘前这套流程让策略从第一分钟开始就站在一个“风控优先”的位置。
每周一 09:30,策略进入核心环节——调仓。整个调仓过程的代码结构清晰且极具逻辑性:获取全市场股票、过滤掉风险股、采用财报因子进行高成长筛选、剔除黑名单与涨停股、卖掉不符合要求的旧持仓、用等权方式买入新的目标股票。
这里最精妙的部分,是财报因子选股模块 get_high_growth_stocks。它让策略从“隐含情绪波动”的市场噪音中脱离出来,重新回到公司经营本身。策略先获取当期财报数据,包括营业收入、扣非净利润、PE、市值等,再获取去年同期的数据,两组数据合并后便能计算出营收同比与扣非同比增长率。其后,策略计算 PEG(PE 除以增长率),并要求 PEG 小于等于 1——换句话说,策略只买“增长快、估值不贵”的公司。
筛选通过后,这些公司再按市值从小到大排序,优先选择更具成长弹性的中小盘精选股。但策略不会盲目追高:代码会过滤掉当日涨停的股票,并且结合黑名单机制避免买入近期涨停或近期持有过的股票。这种“既要成长,又要不追高”的设计,使得策略在选股时既激进又克制。
最终,策略会按照等权配置,用可用资金平均买入目标股票。这种做法避免了个股权重过高导致的组合波动,确保每只股票对整体组合的影响均衡。
策略里最有特色的一段代码,是每天 14:40 的涨停股检查。如果某只股票昨天涨停,策略会重点观察它今天临近尾盘是否还牢牢封死涨停板。如果涨停板被打开,也就是常说的“炸板”,策略会立刻用限价单卖出这只股票。
这背后是一个深刻的市场逻辑:昨日涨停的强势股,如果今天尾盘炸板,往往意味着主力撤退或情绪反转,之后极易出现连续回调。策略通过代码提前规避这种风险,是一种极为稳健的设计。
每天 14:50,策略会检查是否处于空仓期,如果是,它会清空所有持仓。这种“有时候最好的策略是观望”的思想,通过代码得到了非常明确的实现。空仓并不是消极,而是一种理性。通过将风险控制融入时间维度。
当你把所有代码逻辑连起来,会发现这并不是一个简单的量化模型,而是一套完整的投资体系。这些思想通过一行行代码“固化”下来,让策略在市场中保持了长期稳定的表现:
1、它以财报因子为核心,确保选股基于真实的企业成长;
2、它通过黑名单与涨停过滤,避免过度情绪化追高;
3、它用低频轮动降低交易成本,同时保持策略稳定性;
4、它通过炸板风控与空仓机制,将风险管理贯穿始终;
5、它采用等权配置,避免组合因个股波动而过度失衡。
策略回测数据显示,年化收益率达到 53.12%,远超沪深300的 -10.85%。同时,阿尔法、夏普比率等关键指标均表现亮眼。
当然,42% 的最大回撤提醒我们,成长类策略始终伴随着一定波动。但凭借良好的风控机制,这款策略在长期中依然展现出了强大的稳健性。
当我们真正理解一套策略的代码结构后,就会发现量化投资本质上是一种“把逻辑写进世界”的行为。这套“A股低PEG高成长精选轮动策略”之所以值得学习,不仅因为它的收益表现,更在于它通过代码展现出的完整投资体系。它有方法、有节奏、有风险控制、有成长性——这正是一套好策略应具备的全部特征。
如果你对量化投资感兴趣,或正在寻找既稳健又能抓住成长机会的策略,这套代码提供了一个非常值得借鉴的框架。 如果你对这套策略有兴趣,或是想要深入了解其代码实现和回测结果,请扫码加入《500+精选Python量化策略|A股》专栏第116篇获取:
点击阅读原文,加入专栏
