🚀 AI 一键生成 joinquant 策略代码

如何使用 get_factor_kanban_values API 获取因子看板的回测数据?

joinquant | 发布时间: 2025/12/12
以下内容由 EasyQuant 生成。

问题描述

如何通过 API 获取因子看板上的因子回测表现数据?

解决方案

在 JoinQuant 聚宽平台上,您可以使用 get_factor_kanban_values 函数来获取因子看板上的因子回测表现数据。该函数位于 jqfactor 库中。

以下是详细的使用说明和代码示例:

核心函数

get_factor_kanban_values

代码示例

# 导入函数库
from jqfactor import get_factor_kanban_values
import pandas as pd

# 获取因子看板数据
# 示例:获取沪深300成分股中,近三个月,纯多头组合模型下的质量和基础类因子的表现
df = get_factor_kanban_values(
    universe='hs300',           # 股票池:沪深300
    bt_cycle='month_3',         # 测试周期:近三个月
    model='long_only',          # 组合构建模型:纯多头组合
    category=['quality', 'basics'], # 因子分类:质量类和基础类
    skip_paused=False,          # 是否过滤涨停及停牌股
    commision_slippage=0        # 手续费及滑点设置:无
)

# 打印结果的前几行
print(df.head())

# 查看具体的列名,了解包含哪些指标(如IC均值、夏普比率等)
print(df.columns)

参数说明

  • universe (股票池):
    • 'hs300': 沪深300
    • 'zz500': 中证500
    • 'zz800': 中证800
    • 'zz1000': 中证1000
    • 'zzqz': 中证全指
  • bt_cycle (测试周期):
    • 'month_3': 近三个月
    • 'year_1': 近一年
    • 'year_3': 近三年
    • 'year_10': 近十年
  • model (组合构建模型):
    • 'long_only': 纯多头组合(关注分位数收益,如一分位和五分位)
    • 'long_short': 多空组合(关注多空对冲后的收益)
  • category (因子分类列表):
    • 可选值:'quality'(质量), 'basics'(基础), 'emotion'(情绪), 'growth'(成长), 'risk'(风险), 'pershare'(每股), 'style'(风格), 'technical'(技术), 'momentum'(动量)。
  • skip_paused: True (过滤) 或 False (不过滤)。
  • commision_slippage:
    • 0: 无
    • 1: 3‱佣金 + 1‰印花税 + 无滑点
    • 2: 3‱佣金 + 1‰印花税 + 1‰滑点

返回值说明

返回一个 pandas.DataFrame,根据 model 的不同,返回的列会有所区别:

  1. model='long_only' (纯多头) 时,主要包含:

    • ic_mean: IC均值
    • ir: IR值
    • annualized_return_1q / annualized_return_5q: 一分位/五分位年化收益率
    • sharpe_1q / sharpe_5q: 一分位/五分位夏普比率
    • max_drawdown_1q / max_drawdown_5q: 最大回撤
    • turnover_ratio_1q / turnover_ratio_5q: 换手率
  2. model='long_short' (多空) 时,主要包含:

    • ic_mean: IC均值
    • ir: IR值
    • annualized_return_ls: 多空组合年化收益率
    • sharpe_ls: 多空组合夏普比率
    • max_drawdown_ls: 多空组合最大回撤

Q&A

Q: get_factor_kanban_values 函数返回的数据是实时的吗?
A: 不是完全实时的。数据的更新日期由 date 列标识,因子的收益需要下一交易日才可得到,因此实际数据的时间通常比 date 晚一天(T日收盘后的因子收益需要T+1的收盘价才可得出,数据需要在T+2日凌晨计算后才可得到)。

Q: 如何查看因子看板支持的所有因子分类?
A: 在调用函数时,category 参数支持的列表包括:['quality', 'basics', 'emotion', 'growth', 'risk', 'pershare', 'style', 'technical', 'momentum']。您可以根据需要传入包含这些字符串的列表。

Q: 多空组合(long_short)和纯多头组合(long_only)在返回数据上有什么主要区别?
A: long_only 模式会分别返回第一分位数(1q)和第五分位数(5q)的收益、夏普比率和回撤等数据,便于观察因子在头部和尾部的表现区分度;而 long_short 模式返回的是多空对冲(如做多五分位、做空一分位)后的组合表现数据(后缀为 _ls)。