Tushare 量化因子库介绍

Tushare 因子库是 Tushare Pro平台自主研发的专业量化投资因子数据服务,旨在为量化研究者和投资机构提供系统化、标准化的因子计算与因子值数据。因子库覆盖 A 股全市场股票,基于行情数据、财务数据和基本面数据,经过严格的计算逻辑和截面标准化处理,可直接用于多因子选股、因子回测、风险模型构建等量化投研场景。

因子库特点

1. 因子体系完整

因子库当前共包含 202 个因子(还在继续增加中),涵盖 9 大因子类别,构建了从估值、成长、质量到动量、流动性、风险的完整因子体系,基本覆盖了主流量化投资所需的因子维度。

2. 时间跨度长

因子值数据最早可追溯至 2010 年,覆盖超过 16 年的历史数据,满足长期回测和因子衰减分析的需求。数据每日更新,保证因子值的时效性。

3. 多周期覆盖

同一类因子提供多种时间窗口(如 5d、21d、42d、63d、126d、252d、504d 等),支持短中期与中长期策略的研究和对比,便于进行因子期限结构分析。


因子分类详情

分类总览

类别 因子数量 说明
Alpha101 31 基于 WorldQuant Alpha101 公式计算的量价因子
Growth 15 衡量企业成长性的财务因子
Liquidity 35 衡量股票流动性和交易活跃度的因子
Momentum 20 衡量价格趋势和动量效应的因子
Quality 59 衡量企业财务质量和经营效率的因子
Reversal 3 捕捉短期价格反转信号的因子
Risk 25 衡量股票风险特征的因子
Size 3 衡量市值规模的因子
Value 11 衡量股票估值水平的因子
合计 202

1. Alpha101(31 个)

基于 WorldQuant 发表的《101 Formulaic Alphas》论文,利用价量数据(开盘价、收盘价、最高价、最低价、成交量、VWAP 等)通过数学公式计算得到的量价因子。这类因子侧重于捕捉短期价格与成交量之间的非线性关系,是量化选股中常用的 Alpha 来源。

典型因子示例:
- alpha101_1:基于负收益时段波动放大的极值位置排名因子
- alpha101_6:开盘价与成交量的 10 日相关性负值
- alpha101_101:日内价格变动占日内振幅的比例

2. Growth(15 个)

衡量企业盈利和资产增长能力的因子,基于财务报表数据计算。涵盖同比增长(YoY)、环比增速(QoQ)、增长加速度等维度,用于识别高成长性企业。

典型因子示例:
- yoy_revenue:营业收入同比增长因子
- yoy_net_profit:净利润同比增长因子
- yoy_roe:ROE 同比增长率因子
- asset_growth_qoq:总资产环比增速
- sa:每股销售收入增长加速度

3. Liquidity(35 个)

衡量股票交易活跃度和流动性特征的因子,基于换手率、成交额等量能数据计算。提供从 5 天到 252 天的多周期窗口,并包含换手率乖离率(Bias)因子,用于捕捉流动性变化趋势。

典型因子示例:
- avg_turnover_5d / avg_turnover_63d / avg_turnover_252d:不同周期的平均换手率
- bias_turn_63d_252d:3 个月平均换手率与 12 个月的乖离率
- volume_alpha_300d_000300:个股成交量变化率相对于沪深 300 的滚动 Alpha

4. Momentum(20 个)

衡量价格趋势延续性的因子,包括累计收益率、移动平均线、Alpha 超额收益、技术指标等。提供从 5 天到 252 天的多种时间窗口,并包含相对于上证指数和沪深 300 指数的超额 Alpha 因子。

典型因子示例:
- return_5d / return_63d / return_252d:不同周期的累计收益率
- alpha_250d_000300:相对沪深 300 的 250 日 Alpha
- MACD:MACD 技术指标(12 日快线 / 26 日慢线 / 9 日信号线)
- rsrs:RSRS 阻力支撑相对强度指标

5. Quality(59 个)

因子库中数量最多的类别,全面衡量企业财务质量和经营效率。涵盖盈利能力(ROE、ROA、毛利率、净利率)、偿债能力(资产负债率、流动比率、速动比率)、营运能力(各类周转率)、利润质量(现金流比率)等维度,并提供多个同比变化因子(Delta 系列)用于捕捉财务趋势变化。

典型因子示例:
- roe_ttm / roa_ttm:ROE / ROA 因子(TTM 口径)
- debt_asset_ratio:资产负债率因子
- quality_composite:AQR 质量综合因子
- delta_roe / delta_roa:ROE / ROA 同比变化因子
- inventory_turnover:存货周转率因子

6. Reversal(3 个)

捕捉短期价格过度反应后的反转效应。因子数量精简但各有侧重,适用于短期反转策略。

典型因子示例:
- small_cap_reversal_21d:小盘反转因子(21 日累计收益反转信号)
- rsi:RSI 相对强弱指标(14 日周期)
- price_dist:股价与心理整数关口距离因子

7. Risk(25 个)

衡量股票风险特征的因子,包括收益率波动率、Beta 系数、Sharpe 比率、特质性风险(Sigma)、价格振幅等。提供多种对标基准(沪深 300、上证指数)和多种时间窗口,支持系统性风险和特异性风险的分离分析。

典型因子示例:
- return_std_63d / return_std_252d:不同周期的日收益率滚动标准差
- beta_250d_000300:相对沪深 300 的 250 日滚动 Beta
- sharpe_750d:750 日 Sharpe 比率
- sigma_1320d_000300:特质性风险(1320 日,对标沪深 300)
- beta_consistency_1320d_000300:Beta 稳定性指标

8. Size(3 个)

衡量股票市值规模的因子,包括总市值因子、流通市值因子和市值非线性因子。规模因子是经典的风格因子之一,小市值效应在 A 股市场历史上表现显著。

典型因子示例:
- size:总市值因子(总市值的负对数)
- float_size:流通市值因子(流通市值的负对数)
- nl_size:市值非线性因子(size^3 对 size 截面回归残差)

9. Value(11 个)

衡量股票估值水平的因子,采用市场价格与基本面指标的比值来评估股票的相对价值。涵盖市盈率倒数、账面市值比、股息率、现金流市值比等多种经典价值度量。

典型因子示例:
- earnings_to_price:市盈率倒数(归母净利润 TTM / 市值)
- book_to_market:账面市值比
- dividend_yield_3y_avg:3 年平均股息率
- fcf_to_market:自由现金流市值比
- ebitda_to_market:EBITDA 市值比


接口使用方式

1. 获取因子列表

import tushare as ts

pro = ts.pro_api()
df = pro.factor_list()

返回所有可用因子的基本信息,包括因子名称(factor_name)、因子描述(factor_desc)、资产类型(asset_type)和因子分类(factor_type)。

2. 获取因子值

按股票代码查询:

# 获取某只股票的指定因子历史值
df = pro.factor_value(factor_name='bias_turn_63d_504d', ts_code='000001.SZ')

按日期查询(全市场截面):

# 获取某一天全市场所有股票的因子值
df = pro.factor_value(factor_name='bias_turn_63d_504d', trade_date='20260812')

3. 数据转换(宽表格式)

当按日期查询全市场因子值时,返回的是长表格式(每行一只股票)。可使用 pivot_table 转换为宽表格式(每列一只股票),便于横向对比:

df_pivot = df.pivot_table(
    index=['factor_name', 'trade_date'],
    columns='ts_code',
    values='factor_value'
).reset_index()

适用场景

场景 说明
多因子选股 组合多个不同类别的因子,构建综合评分模型进行选股
因子回测 利用历史因子值进行 IC 分析、分层回测,评估因子有效性
因子衰减分析 利用多周期因子数据,分析因子收益随时间衰减的速度
风险模型构建 使用 Risk 类因子(Beta、Sigma 等)构建组合风险模型
风格归因 通过 Size、Value、Momentum 等风格因子进行收益归因分析
Alpha 策略开发 基于 Alpha101 量价因子开发统计套利或 Alpha 对冲策略

数据说明

  • 资产类型:当前因子库全部针对 A 股股票(Stock)
  • 数据频率:日频更新
  • 历史起点:2010 年 1 月 4 日
  • 截面标准化:大部分因子采用截面排名处理,映射至 [0, 1] 区间
  • 空值处理:因上市时间不足或数据缺失,部分股票在某些日期可能无因子值
置顶