量化百科

多因子选股模型指标公式(含python)

由bqw9z8tc创建,最终由bqw9z8tc 被浏览 62 用户

多因子选股模型涉及将多个指标(或“因子”)组合起来,用以评估股票的潜在回报与风险。这些因子通常包括但不限于价值、动量、规模、质量、波动性和股息收益等。接下来,将详细解释一些常见的多因子模型指标公式,并用数据示例来说明它们如何工作。

多因子选股模型概念

价值因子

价值因子通常通过比较股票的市场价格与其基本面价值来评估股票是否被低估。常用的指标包括市盈率(P/E)、市净率(P/B)、企业价值对EBITDA的比率(EV/EBITDA)等。

市盈率(P/E)计算公式P/E= 市场价格 / 每股收益(EPS)​

市净率(P/B)计算公式P/B= 市场价格​ / 每股净资产

动量因子

动量因子基于“趋势延续”的理论,即股票过去的表现趋势在未来某段时间内可能会持续。

动量计算公式(以12个月动量为例):动量 = 当前价格​ / 12个月前的价格

质量因子

质量因子评估公司的财务健康状况,包括盈利稳定性、增长、财务杠杆等。一个常用的指标是ROE(净资产收益率)。

净资产收益率(ROE)计算公式ROE = 净利润​ / 平均股东权益

规模因子

规模因子考虑的是公司的市值大小,基于小公司相对于大公司可能有更高的回报率的假设。

市值计算公式: 市值 = 股票的当前市场价格×流通在外的股票总数

波动性因子

低波动性因子基于低波动股票长期表现优于高波动股票的观察。

年化波动性计算公式σ年化​=σ日​×√252​

其中,σ日​是日收益率的标准差,252是一年中交易日的平均天数。

Python代码

假设有以下简化数据:

  • 股票A:市场价格$100,每股收益$5,每股净资产$50,当前价格与12个月前价格比1.2,净利润$10亿,平均股东权益$50亿,日收益率标准差0.01。
  • 股票B:市场价格$50,每股收益$2,每股净资产$30,当前价格与12个月前价格比1.1,净利润$5亿,平均股东权益$30亿,日收益率标准差0.02。

计算这些股票的多因子指标,先计算这些指标的值。

from math import sqrt

# 股票A的数据
市场价格A = 100
每股收益A = 5
每股净资产A = 50
当前价格比A = 1.2
净利润A = 10e9  # 以亿为单位
平均股东权益A = 50e9
日收益率标准差A = 0.01

# 股票B的数据
市场价格B = 50
每股收益B = 2
每股净资产B = 30
当前价格比B = 1.1
净利润B = 5e9
平均股东权益B = 30e9
日收益率标准差B = 0.02

# 计算指标
PE_A = 市场价格A / 每股收益A
PB_A = 市场价格A / 每股净资产A
ROE_A = (净利润A / 平均股东权益A) * 100  # 百分比形式
波动性年化A = 日收益率标准差A * sqrt(252)

PE_B = 市场价格B / 每股收益B
PB_B = 市场价格B / 每股净资产B
ROE_B = (净利润B / 平均股东权益B) * 100  # 百分比形式
波动性年化B = 日收益率标准差B * sqrt(252)

{
    "股票A": {"市盈率PE": PE_A, "市净率PB": PB_A, "净资产收益率ROE": ROE_A, "年化波动性": 波动性年化A},
    "股票B": {"市盈率PE": PE_B, "市净率PB": PB_B, "净资产收益率ROE": ROE_B, "年化波动性": 波动性年化B},
}

基于上述数据,我们得到了股票A和股票B在不同因子下的指标值:

  • 股票A
    • 市盈率(P/E):20.0
    • 市净率(P/B):2.0
    • 净资产收益率(ROE):20.0%
    • 年化波动性:15.87%
  • 股票B
    • 市盈率(P/E):25.0
    • 市净率(P/B):1.67
    • 净资产收益率(ROE):16.67%
    • 年化波动性:31.75%

通过比较这些指标,我们可以发现股票A具有较低的市盈率、较高的净资产收益率,以及较低的年化波动性,这表明它可能是一个相对价值较高且风险较低的投资选项。相比之下,股票B的市盈率较高,净资产收益率较低,年化波动性也较高,可能意味着它承担了更高的风险。

这些计算示例展示了如何使用多因子选股模型的指标来评估股票。在实际应用中,投资者会结合这些因子的综合评分来构建投资组合,以实现风险分散和投资目标。

多因子模型分析对比


上图展示了股票A和股票B在不同多因子指标下的表现。通过这种可视化方式,我们可以更直观地比较不同股票在各个因子上的优劣,帮助投资者做出更加明智的决策。例如,从图表中我们可以看出:

  • 股票A在市盈率(P/E)和净资产收益率(ROE)上表现较好,意味着它可能提供了更好的价值和质量。
  • 股票B的市净率(P/B)较低,可能指示其相对被低估,但同时它的年化波动性较高,表明承担的风险也较大。

这样的分析有助于投资者根据自己的风险偏好和投资目标,选择最合适的股票。

相关推荐:

  1. 基于Barra多因子模型的组合权重优化

  2. 异象、因子以及多因子模型

  3. 多因子模型体系之因子组合的确定

  4. 量化多因子研究基石:因子分析

  5. 『多因子系列』之新手必看| 量化交易七宗罪

  6. 构建多因子策略的细节探讨

    \

\

标签

多因子选股多因子选股模型Python