选股公式的编写,本质上是将一套可描述的投资逻辑,转化为计算机能执行的筛选条件。它通常由三部分构成:数据字段(如市盈率、ROE、成交量)、运算逻辑(如大于、小于、排名、打分)和输出动作(如买入、卖出或观望)。最简单的选股公式可以是一句“市盈率低于15且ROE大于15%”,而复杂的量化模型则可能包含几十个因子和动态权重。核心在于,公式本身不产生收益,它只是忠实执行你预设的投资想法

从单一条件到多因子打分

单一条件筛选是入门起点,适合验证单个逻辑。例如,筛选“连续三年净利润增长超过10%”的股票,只需在公式中调用财务数据字段并设置比较条件。这种方式的优点是逻辑透明、易于理解,缺点是维度单一,容易选出在单一指标上优秀但整体存在隐患的公司。

多因子打分模型是进阶方向。其思路不是要求股票“同时满足所有条件”,而是对每个因子分别打分,再按权重加权求和。常见步骤包括:

  1. 确定因子池:比如估值(市盈率、市净率)、成长(营收增速、利润增速)、质量(ROE、毛利率)、动量(近期涨幅)。
  2. 标准化处理:将不同量纲的因子(如市盈率是几十倍,ROE是百分之几)转化为可比的分值,常用排名法或Z-score法。
  3. 设定权重:根据个人偏好或历史规律,给不同因子分配权重。权重设定没有普适标准,需要结合自身风险偏好。
  4. 合成总分并排序:选出总分最高的前N只股票作为候选池。

这种方法的优势在于分散单一指标的风险,且能通过调整权重灵活应对不同市场环境。但要注意,因子之间的相关性可能导致重复计分,需要先做相关性检验。

回测方法的选择与陷阱

回测是验证选股公式有效性的核心环节,其目的是用历史数据检验“如果过去按此公式操作,结果如何”。主流方法有两种:

方法特点适用场景
事件驱动回测按固定周期(如每月、每季)调仓,模拟真实交易节奏中低频策略,逻辑清晰
逐日模拟回测按每个交易日信号执行,更精细但计算量大高频或信号频繁的策略

回测中常见的陷阱包括:

  • 前视偏差:使用了当时尚未公布的数据(如用季度末之后才发布的财报数据),导致结果虚高。解决方法是引入数据延迟设置,假设财报发布后N天才可使用。
  • 幸存者偏差:只测试当前仍在上市的股票,忽略了历史中已退市的股票,会高估策略表现。应使用包含退市股的全量历史数据
  • 过拟合:在历史数据上反复调整参数,使公式完美拟合过去,但未来失效。应对方法包括样本外测试(留出一段数据不参与调参)和减少参数数量

任何回测结果都只是历史假设的推演,不代表未来收益。回测中表现优异的公式,实盘时可能因交易成本、冲击成本或市场环境变化而大打折扣。

根据回测结果迭代优化

回测不是终点,而是迭代的起点。优化应聚焦于稳健性而非极端收益。具体做法包括:

  • 观察收益曲线:如果净值曲线大幅波动,需检查是否过度集中于某一行业或风格,考虑加入风控条件(如最大回撤阈值)。
  • 进行参数敏感性分析:将核心参数(如调仓周期、因子权重)在合理范围内变动,看结果是否剧烈变化。对参数不敏感的策略通常更稳健
  • 区分有效因子与偶然贡献:逐项剔除单个因子,观察策略表现是否明显下滑。若剔除某因子后收益几乎不变,说明该因子贡献有限,可考虑精简。
  • 结合市场环境判断:多数策略只在特定行情(如成长风格或价值风格占优时)有效。应记录策略在不同市场阶段的表现,明确其适用边界。

优化过程中应保持耐心,避免过度追求完美曲线。一个逻辑清晰、回测稳健、能讲清楚“为什么赚钱”的简单公式,往往比一个参数繁复、历史收益惊人但逻辑晦涩的复杂模型更可靠。最终,选股公式只是工具,持续验证投资逻辑本身是否成立,才是量化之路的核心

常见问题

选股公式需要编程基础吗?

不需要。大多数行情软件和量化平台(如通达信、聚宽、米筐)都提供可视化条件编辑器和模板语言,用类似“市盈率<15 AND ROE>15%”的语法即可编写。进阶的多因子模型则需要了解Python或平台内置语言,但门槛低于传统软件开发。

回测的年度化收益率达到多少算合格?

不存在普适的合格线。收益是否合格取决于策略的风险水平(如最大回撤、波动率)、资金容量和市场环境。更合理的评估方式是对比同期基准指数,并关注风险调整后收益(如夏普比率),而非单纯追求高收益率。

选股公式能直接用于实盘交易吗?

可以,但需经过充分验证。建议先进行模拟盘跟踪,观察公式在真实行情下的信号质量与滑点影响,再小资金试运行。同时,定期审视公式逻辑是否仍适应当前市场,没有一劳永逸的公式,持续维护才是常态