← 返回博客列表

【Python量化实战全攻略 #10】成长因子手册:营收、利润增速因子构建(附代码)

2026年10月13日 10:23 · 智兔数服 · Python量化实战全攻略

摘要:【Python量化实战全攻略 #10】成长因子手册:营收、利润增速因子构建(附代码) 手册定位:模块二第 2 篇。成长因子刻画「业绩在变好」——营收增速、利润增速、复合增速。与估值因子互补:便宜但停滞,不如便宜且成长

手册定位:模块二第 2 篇。成长因子刻画「业绩在变好」——营收增速、利润增速、复合增速。与估值因子互补:便宜但停滞,不如便宜且成长。
数据来源复用 #04 财务三表(利润表历年营收/净利润)。

1. 你将得到什么

  • 单季/全年营收同比增速、净利润同比增速的算法;
  • 用两年复合增速平滑周期波动的写法;
  • 把增速整理成成长因子表并分位数打分;
  • 成长因子的 4 个坑(基数效应、一次性损益、周期、亏损反转)。

2. 取数约定(复用)

因子 字段 来源端点 见
营收增速 营业总收入(历年) 利润表 /hs/fin/income #04
利润增速 净利润(历年) 利润表 /hs/fin/income #04

3. 数据来源(复用,不重复罗列)

详见 #04 财务三表接口手册(利润表端点 /hs/fin/income/{代码}.{市场})。

4. 核心模板函数(自包含可跑)

import pandas as pd

_MOCK = True


def build_growth(df):
    out = df.copy()
    out["营收增速"] = (out["营收_t1"] / out["营收_t0"] - 1) * 100
    out["利润增速"] = (out["净利润_t1"] / out["净利润_t0"] - 1) * 100
    return out


def run_check():
    df = pd.DataFrame([
        {"代码": "600519", "营收_t0": 1.30e11, "营收_t1": 1.50e11, "净利润_t0": 3.0e10, "净利润_t1": 3.5e10},
        {"代码": "000001", "营收_t0": 1.20e11, "营收_t1": 1.30e11, "净利润_t0": 2.8e10, "净利润_t1": 3.0e10},
        {"代码": "600036", "营收_t0": 2.80e11, "营收_t1": 3.00e11, "净利润_t0": 1.3e11, "净利润_t1": 1.4e11},
    ])
    g = build_growth(df)
    assert (g["营收增速"] > 0).all() and (g["利润增速"] > 0).all()
    g["成长_score"] = g[["营收增速", "利润增速"]].mean(axis=1).rank(pct=True)
    assert g["成长_score"].between(0, 1).all()
    print("校验通过 | 营收增速:", g["营收增速"].round(1).tolist())
    return g


if __name__ == "__main__":
    run_check()

5. 跑通示例

g = run_check()
top = g.sort_values("成长_score", ascending=False).head(1)
print("成长最强:", top[["代码", "营收增速", "利润增速"]].to_dict("records"))

6. 坑与注意事项

  1. 基数效应:去年同期极低会让今年增速虚高,单季增速要结合两年复合增速看。
  2. 一次性损益:变卖资产、政府补贴会让净利润增速失真,优先用「扣非净利润」。
  3. 周期波动:周期股增速大起大落,成长因子要配合行业中性。
  4. 亏损反转:由亏转盈增速是 +∞,要单独剔除或复合打分。

7. 小结与下一篇预告

成长因子就位,与估值因子组成「便宜且成长」的经典组合。下一篇讲质量因子——ROE/毛利率/资产负债率,筛掉「虚胖」公司。

下一篇预告:《【Python量化实战全攻略 #11】质量因子手册:ROE、毛利率、资产负债率(附代码)》

8. 免责声明

本文为因子构建方法示例,演示数据为虚构,不构成投资建议。


关于数据来源:本文因子所需的财务数据来自智兔数服(www.zhituapi.com)官方文档接口(详见本系列 #04),覆盖 200+ 已验证路径,注册可领免费 token 做研究测试。
更多实战手册见技术博客:zhituapi.com/blog.html。
本系列《Python量化实战全攻略》共 32 篇,下一篇讲质量因子。

想亲自试一下?免费获取证书