中小板选股的核心逻辑
中小板公司市值偏小,成长潜力大,波动也剧烈。选股要兼顾基本面与技术面,用量化规则过滤噪音。
一、基本面筛选
盈利增长:连续三个季度净利润同比增速超过20%,且营收增速匹配。避免一次性收益。
毛利率与ROE:毛利率稳定在30%以上,ROE连续两年大于10%,反映竞争力。
负债率:资产负债率低于60%,有息负债率低于30%,防范财务风险。

现金流:经营性现金流净额为正且与净利润比值大于0.8,排除纸面富贵。
二、估值与流动性
市盈率相对增长:PEG介于0.5到1.2之间,避免过度炒作。
市净率:结合行业,一般低于5倍。
日均成交额:过去20日日均成交额大于5000万元,确保进出容易。
换手率:适中,3%到10%之间,过低无人问津,过高投机浓。
三、技术面与资金面
趋势:股价在60日均线上方,且60日均线向上。
相对强度:过去60日涨幅排名位于中小板前30%。
资金流向:主力资金近5日净流入,北向资金持股比例增加。
量价配合:上涨放量,回调缩量。
四、量化因子选股模型
构建多因子评分:成长因子(净利润增速、营收增速)、质量因子(ROE、毛利率)、估值因子(PEG、PB)、动量因子(60日涨幅)、流动性因子(成交额、换手率)。标准化后加权,取前10%。
以下为示例代码(Python),用于从中小板股票池中筛选:
import pandas as pd
import numpy as np
# 假设df包含股票代码、净利润增速、营收增速、ROE、毛利率、PEG、PB、60日涨幅、20日均成交额、换手率
df = pd.read_csv('sme_board.csv')
# 条件筛选
df = df[(df['净利润增速'] > 0.2) & (df['营收增速'] > 0.15) &
(df['ROE'] > 0.1) & (df['毛利率'] > 0.3) &
(df['PEG'] > 0.5) & (df['PEG'] < 1.2) &
(df['PB'] < 5) & (df['60日涨幅'] > 0) &
(df['20日均成交额'] > 5000)]
# 因子标准化
factors = ['净利润增速', '营收增速', 'ROE', '毛利率', '60日涨幅']
df[factors] = (df[factors] - df[factors].mean()) / df[factors].std()
# 综合评分
df['score'] = df[factors].mean(axis=1)
# 取前10%
top = df.nlargest(int(len(df)*0.1), 'score')
print(top[['代码', 'score']])
五、期货对冲与风险管理
中小板波动大,可用股指期货对冲系统性风险。当中小板持仓市值超过100万,用IC合约对冲,beta根据历史回归计算。
仓位管理:单只股票不超过总仓位10%,行业分散。
止损:个股回撤15%止损,整体回撤10%减仓。
动态调整:每月重新评分,剔除基本面恶化或技术破位的股票。
六、常见陷阱
追逐热点题材,忽视估值。
过度集中某一行业。
忽略流动性,难以卖出。
使用未来函数回测,导致虚高收益。
七、实战步骤
每周更新中小板股票池。
剔除ST、亏损、成交额过低的股票。
按上述基本面条件初筛。
计算多因子得分,选出前20只。
技术面确认:站上20日均线且均线多头排列。
分配资金,设置止损。
每月复盘,调整组合。
中小板选股需要纪律与耐心,量化模型能提高效率,但无法消除风险。持续优化因子权重,适应市场变化。