基于创业板池子与财务排雷的重构,彻底抛弃传统小微盘陷阱!

0 阅读5分钟

量化圈是有周期更替的。今年以来,传统的微盘轮动阴跌不止,已成了一潭死水。

但流动性枯竭的只是主板垃圾股,主打高波动的“创业板小市值”生态,目前不仅风华正茂,甚至走出了极强的独立超额行情。今天,我们就来拆解一套专吃这波红利的硬核底座。

1. 🎯 审计官判决

看到满社区泛滥的“剔除创业板”的小微盘策略,我早就审美疲劳了。今天测的这套7年56倍源码,反其道而行之,直接杀进高波动的创业板池子,而且居然把回撤压住了!

代码底子非常扎实。它没有去垃圾堆里无脑捡烟蒂,而是把高波动的创业板当成了印钞机,配合严苛的财务排雷,绝对是个能拿来直接当“实战基座”的极品框架。

【📊 策略体检报告】

测评维度数据表现审计官点评
标称年化收益76.48%20CM涨跌幅带来的极致爆发力
最大回撤31.89%在创业板策略里,这风控属于教科书级别
夏普比率/胜率2.1 / 65%收益与风险的极佳平衡点
过度拟合指数⭐⭐ (2星)核心逻辑清晰,没加乱七八糟的拼凑参数
实战可行性⭐⭐⭐⭐ (4星)底座极佳,补上流动性补丁就能上战场

image.png


2. 🧐 策略逻辑大白话 & 源码解析

大爷大妈们听好了,一般的策略是在平静的湖面(主板10%涨跌幅)里钓小鱼;这套策略是开着快艇去狂风巨浪的大海(创业板20%涨跌幅)里捞大鱼。
为了防止翻船,它穿了两层保命装:第一层是财务排雷(只买盈利且非标审计的);第二层是看天吃饭(大盘不好,立刻减仓甚至空仓)。


q = query(
            valuation.code,
        ).filter(
            valuation.code.in_(initial_list),
            valuation.market_cap.between(g.min_mv, g.max_mv),  # 总市值 circulating_market_cap/market_cap 单位:亿元
            income.np_parent_company_owners %30,   # 归属于母公司所有者的净利润(元)
            income.net_profit > 0,  # 净利润(元)
            income.operating_revenue > 1e8  # 营业收入 (元)
        ).order_by(valuation.circulating_market_cap.asc()).limit(g.stock_num*3)
        df = get_fundamentals(q)
        if g.filter_audit:
            before_audit_filter = len(df)
            df['audit'] = df['code'].apply(lambda x: filter_audit(context, x))
            df_audit = df[df['audit'] == True]
            log.info(f'去除掉了存在审计问题的股票{len(df)-before_audit_filter}只')>)

我们直接看它最精髓的选股池动态仓位代码:

# 核心差异化:锁定创业板综指,拒绝烂大街的主板微盘
MKT_index = '399102.XSHE' # 创业板综指!`这才是超额收益的来源`
initial_list = filter_stocks(context, get_index_stocks(MKT_index))

# 极品底座机制:根据大盘均线动态调整持仓数量
def adjust_stock_num(context):
    index_df = get_price('399101.XSHE', count=10, fields='close'...)
    diff = last_row - ma
    # 大盘好就多买,大盘暴跌就缩减到只买3只甚至更少
    result = 3 if diff >= 500 else \
             4 if -200 <= diff < 200 else \
             6
    return result

💡 逻辑点评:
这策略最聪明的地方就是认清了现实:玩创业板,收益高但死得也快。
如果不写 adjust_stock_num(动态调整持仓个数),一旦遇到创业板杀估值,绝对底裤都亏没。它用中小板指(399101)的10日均线乖离率来控制仓位,这套“大盘择时+高弹性票”的组合拳,确实是老手的写法。


3. 🔪 深度拆解与照妖镜

既然是基座好策略,今天我就少骂两句。但要把它从回测搬到真刀真枪的实盘,依旧有几个致命隐患必须拔除

⚠️ 回测陷阱揭秘:20CM的滑点是魔鬼
回测里设定的 FixedSlippage(3/10000) 在创业板里简直是自欺欺人!
主板跌停是10%,创业板跌停可是20%(20CM大面)。当极端行情来临,这套代码里的趋势止损(stoploss_market)会触发市价砸盘。在实盘中,这种瞬间抢跑的滑点根本不是万分之三,很可能是直接低开5%甚至更惨。

📉 核心弱点:市值排序的单因子脆弱性
选股的最后一步依然是 order_by(valuation.circulating_market_cap.asc())(按流通市值从小到大买)。
虽然限制了10-100亿的盘子,但在创业板里,纯按市值最小去无脑轮动,一旦市场风格切换到“创蓝筹”(如宁德时代等大票拉升),这套策略会经历漫长且痛苦的阴跌期。

🛠️ 实盘重构建议:我会怎么改?
把它当做终极基座,我们要往里面加真家伙:

  1. 注入成交额血液:选股时必须加上 money > 5000万 的硬性条件。创业板每天成交量几百万的仙股绝对碰不得!
  2. 升级选股内核:把单薄的“市值最小”,替换成**“市值低估 + 动量反转因子”**。找那些在创业板里跌到底部、且最近开始放量的票,吃20CM反弹的确定性更高。
  3. 改写20CM止损单:实盘跑创业板,坚决不能用简单的 order_target_value 止损。必须引入分批撤单重报逻辑,防止被按在跌停板上摩擦。

4. 🎁 源码获取

这套代码的**【创业板选股池 + 均线动态仓位 + 财务排雷】**底座,秒杀市面上90%的垃圾微盘股框架!

以它为基座,打上了流动性补丁,并优化了创业板20CM滑点测试环境,做成了聚宽可以直接跑的**【高弹性实战基座版】**。有了这个底座,你后续往里加任何Alpha因子都稳如老狗。

👇 请关注公众号:量化学习实战笔记,并回复关键词:【创业基座】 ,直接带走!


5. ⚠️ 免责声明

本账号所有量化策略和量化技术仅作技术交流和量化思路分享,帮你避开回测自嗨陷阱,不构成任何投资建议。代码写得再好,据此操作风险自负,实盘亏了算你自己的,本人不承担任何直接或间接责任。