选股公式的本质是把投资逻辑翻译成计算机可执行的筛选条件,搭建流程通常分四步:明确选股逻辑与适用场景 → 选择指标并组合条件 → 用公式语言写出表达式 → 回测验证并检查是否过拟合。公式本身不产生收益,它只是把主观判断标准化、可重复化的工具;逻辑不成立时,写得多精巧的公式也无效。
第一步:先把逻辑说清楚,再动手写代码
写公式前应先能用一句白话描述选股理由,例如“寻找营收持续增长、股价处于中期上升趋势、且估值不极端的公司”。需要同时界定三件事:
- 选股范围:全市场、某个行业,还是某个指数成分股。范围不同,同一套条件的效果可能差别很大。
- 适用场景:趋势跟随、均值回归还是基本面筛选,不同场景对指标的要求相反。
- 排除条件:如上市时间过短、长期停牌、流动性过低等,这类过滤往往比选入条件更能影响结果。
第二步:常用指标与条件组合
公式语言(各平台语法略有差异,但思路相通)通常支持行情函数、财务函数与逻辑运算符。常见组合方式如下:
| 逻辑类型 | 常用指标 | 条件表达思路 |
|---|---|---|
| 趋势 | 均线、价格新高 | 短期均线在长期均线之上 |
| 动量 | 涨跌幅、相对强弱 | 区间涨幅排名靠前 |
| 波动 | 振幅、标准差 | 波动处于可接受区间 |
| 基本面 | 营收、利润、估值 | 增速为正且估值不极端 |
| 流动性 | 成交额、换手率 | 高于设定下限以降低冲击成本 |
条件并非越多越好。每增加一个条件都会减少样本数量,条件过多时结果容易只剩少数几只股票,稳定性反而下降。
第三步:回测验证与过拟合防范
回测是用历史数据检验逻辑,而不是证明公式“有效”。需要关注:
- 样本内外分开检验:用一段区间调参,用另一段区间验证,两者表现差异过大说明参数被过度拟合。
- 参数敏感性:把关键参数小幅改动,若结果剧烈变化,说明逻辑不稳健。
- 交易成本与流动性:换手频繁的公式需考虑手续费与冲击成本的影响。
- 逻辑可解释:说不清为什么有效的条件,即使回测好看也应谨慎对待。
历史上常见的失败原因不是公式写错,而是把偶然规律当成了必然规律。
小结
选股公式的搭建顺序是逻辑先行、指标其次、代码最后,回测用于证伪而非证明。判断一个公式是否可用,重点看逻辑是否可解释、参数是否稳健、样本外表现是否一致,而不是单看某段区间的收益数字。
常见问题
选股公式需要多少个条件才合适?
不存在普适的固定数量。条件越多,入选股票越少,结果也越容易被个别样本主导。更实用的做法是从核心逻辑出发保留少数关键条件,再逐步测试增删对结果的影响。
回测收益高就说明公式可用吗?
不一定。回测收益受区间选择、参数设置和交易成本假设影响很大,样本外表现和参数敏感性往往更能说明问题。建议把回测当作排除明显缺陷的工具,而不是收益预测。
不会编程也能写选股公式吗?
多数行情软件提供条件选股界面,通过勾选指标和阈值即可完成基础筛选,无需写代码。若需要多指标嵌套或自定义计算,再学习该平台的公式语法即可,具体函数名称与写法应以所用平台的官方文档为准。