A股常用因子库速查 (a-share-factor-library)
核心能力
- 因子目录: 7大类 50+ 因子的完整定义、公式、数据字段映射
- 因子计算: 给定股票代码,实际计算因子值(调用 cn-stock-data)
- 因子速查: 按类别/名称/英文缩写快速定位因子
- 因子对比: 同类因子横向比较,解释差异与适用场景
数据来源
- 财务因子:
cn-stock-data finance(adata 43字段: basic_eps, roe_wtd, roa_wtd, gross_margin, net_margin, total_rev, net_profit_attr_sh, total_rev_yoy_gr, net_profit_yoy_gr 等)
- 行情因子:
cn-stock-data kline(date, open, close, high, low, volume, amount, turnover_rate, pct_change)
- 实时数据:
cn-stock-data quote(price, pe_ttm, market_cap, float_market_cap, volume_ratio)
CLI 用法
SCRIPTS_DIR="$SKILLS_ROOT/a-share-factor-library/scripts"
CN_STOCK="$SKILLS_ROOT/cn-stock-data/scripts"
# 计算单个因子
python "$SCRIPTS_DIR/factor_calculator.py" --factor ep --codes SH600519,SZ000858
# 动量因子
python "$SCRIPTS_DIR/factor_calculator.py" --factor momentum_6m --codes SH600519
# 批量计算一类因子
python "$SCRIPTS_DIR/factor_calculator.py" --category value --codes SH600519,SZ000858
# 列出所有因子
python "$SCRIPTS_DIR/factor_calculator.py" --list
# 查看某个因子定义
python "$SCRIPTS_DIR/factor_calculator.py" --info ep
因子参考目录
详见 references/factor-library-catalog.md,包含全部 7 大类因子的:
- 中英文名称
- 计算公式
- cn-stock-data 字段映射
- 因子方向(正/负)
- 适用行业说明
Workflow (5 steps)
Step 1: 识别因子类别
根据用户请求判断:
- 具体因子查询 → 定位到 catalog 中的因子卡片
- 因子类别浏览 → 列出该类别全部因子
- 因子计算 → 进入 Step 3-4
- 因子对比 → 列出多个因子的公式与差异
Step 2: 查找因子定义与公式
从 references/factor-library-catalog.md 查找:
- 因子名称(中/英)
- 计算公式(数学表达式)
- 所需数据字段
- 因子方向与适用说明
Step 3: 映射到 cn-stock-data 字段
将因子公式中的变量映射到实际数据接口:
- 财务类 →
cn-stock-data finance --code XXX
- 行情类 →
cn-stock-data kline --code XXX --freq daily --start YYYY-MM-DD
- 估值类 →
cn-stock-data quote --code XXX
Step 4: 计算因子值
调用 scripts/factor_calculator.py 或手动计算:
python "$SCRIPTS_DIR/factor_calculator.py" --factor <factor_name> --codes <code1,code2,...>
Step 5: 输出因子卡片
formal(研报风格):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
因子名称: EP(盈利收益率)
英文全称: Earnings-to-Price Ratio
类别: 价值因子 | 方向: 正向(越大越便宜)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
公式: EP = EPS_TTM / Price = 1 / PE_TTM
数据源: cn-stock-data quote → pe_ttm
适用行业: 全行业(金融/周期股慎用)
计算结果:
| 股票 | EPS_TTM | Price | EP | 排名 |
|------|---------|-------|----|------|
| 贵州茅台 | 66.3 | 1895.5 | 0.035 | 1 |
| 五粮液 | 7.2 | 168.0 | 0.043 | 2 |
因子解读:
EP 值越大说明股票越"便宜",是经典价值因子。
建议与 BP、CFP 等因子组合使用,避免单一因子陷阱。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
brief(快速查询风格):
EP = 1/PE_TTM | 方向:正 | 数据:quote.pe_ttm
SH600519: EP=0.035 | SZ000858: EP=0.043
注意事项
- 财务因子使用最近一期报告期数据,注意时效性
- 动量/波动率因子需要足够长度的历史 K 线(至少 1 年)
- 行业中性化处理不在本 skill 范围内,如需请参考 a-share-stock-screen
- 因子方向说明:正向=值越大越好(如 ROE),负向=值越小越好(如 PE)
1---2name: a-share-factor-library3description: A股量化因子库/因子速查/因子计算公式查询。当用户说"因子库"、"有哪些因子"、"factor library"、"怎么算XX因子"、"价值因子"、"动量因子"、"质量因子"、"波动率因子"、"因子定义"、"因子公式"、"查因子"、"因子速查"、"列出所有因子"、"EP怎么算"、"BP公式"、"因子字段"时触发。MUST USE when user asks for factor definitions, formulas, or wants to look up how a specific quantitative factor is calculated. 提供A股常用量化因子的完整定义、计算公式、数据字段映射,覆盖价值/成长/质量/动量/波动率/规模/流动性七大类50+因子。支持研报风格(formal)和快速查询风格(brief)。4---56# A股常用因子库速查 (a-share-factor-library)78## 核心能力9- **因子目录**: 7大类 50+ 因子的完整定义、公式、数据字段映射10- **因子计算**: 给定股票代码,实际计算因子值(调用 cn-stock-data)11- **因子速查**: 按类别/名称/英文缩写快速定位因子12- **因子对比**: 同类因子横向比较,解释差异与适用场景1314## 数据来源15- **财务因子**: `cn-stock-data finance`(adata 43字段: basic_eps, roe_wtd, roa_wtd, gross_margin, net_margin, total_rev, net_profit_attr_sh, total_rev_yoy_gr, net_profit_yoy_gr 等)16- **行情因子**: `cn-stock-data kline`(date, open, close, high, low, volume, amount, turnover_rate, pct_change)17- **实时数据**: `cn-stock-data quote`(price, pe_ttm, market_cap, float_market_cap, volume_ratio)1819## CLI 用法20```bash21SCRIPTS_DIR="$SKILLS_ROOT/a-share-factor-library/scripts"22CN_STOCK="$SKILLS_ROOT/cn-stock-data/scripts"2324# 计算单个因子25python "$SCRIPTS_DIR/factor_calculator.py" --factor ep --codes SH600519,SZ0008582627# 动量因子28python "$SCRIPTS_DIR/factor_calculator.py" --factor momentum_6m --codes SH6005192930# 批量计算一类因子31python "$SCRIPTS_DIR/factor_calculator.py" --category value --codes SH600519,SZ0008583233# 列出所有因子34python "$SCRIPTS_DIR/factor_calculator.py" --list3536# 查看某个因子定义37python "$SCRIPTS_DIR/factor_calculator.py" --info ep38```3940## 因子参考目录41详见 `references/factor-library-catalog.md`,包含全部 7 大类因子的:42- 中英文名称43- 计算公式44- cn-stock-data 字段映射45- 因子方向(正/负)46- 适用行业说明4748## Workflow (5 steps)4950### Step 1: 识别因子类别51根据用户请求判断:52- 具体因子查询 → 定位到 catalog 中的因子卡片53- 因子类别浏览 → 列出该类别全部因子54- 因子计算 → 进入 Step 3-455- 因子对比 → 列出多个因子的公式与差异5657### Step 2: 查找因子定义与公式58从 `references/factor-library-catalog.md` 查找:59- 因子名称(中/英)60- 计算公式(数学表达式)61- 所需数据字段62- 因子方向与适用说明6364### Step 3: 映射到 cn-stock-data 字段65将因子公式中的变量映射到实际数据接口:66- 财务类 → `cn-stock-data finance --code XXX`67- 行情类 → `cn-stock-data kline --code XXX --freq daily --start YYYY-MM-DD`68- 估值类 → `cn-stock-data quote --code XXX`6970### Step 4: 计算因子值71调用 `scripts/factor_calculator.py` 或手动计算:72```bash73python "$SCRIPTS_DIR/factor_calculator.py" --factor <factor_name> --codes <code1,code2,...>74```7576### Step 5: 输出因子卡片7778**formal(研报风格)**:79```80━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━81因子名称: EP(盈利收益率)82英文全称: Earnings-to-Price Ratio83类别: 价值因子 | 方向: 正向(越大越便宜)84━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━85公式: EP = EPS_TTM / Price = 1 / PE_TTM86数据源: cn-stock-data quote → pe_ttm87适用行业: 全行业(金融/周期股慎用)8889计算结果:90| 股票 | EPS_TTM | Price | EP | 排名 |91|------|---------|-------|----|------|92| 贵州茅台 | 66.3 | 1895.5 | 0.035 | 1 |93| 五粮液 | 7.2 | 168.0 | 0.043 | 2 |9495因子解读:96EP 值越大说明股票越"便宜",是经典价值因子。97建议与 BP、CFP 等因子组合使用,避免单一因子陷阱。98━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━99```100101**brief(快速查询风格)**:102```103EP = 1/PE_TTM | 方向:正 | 数据:quote.pe_ttm104SH600519: EP=0.035 | SZ000858: EP=0.043105```106107## 注意事项108- 财务因子使用最近一期报告期数据,注意时效性109- 动量/波动率因子需要足够长度的历史 K 线(至少 1 年)110- 行业中性化处理不在本 skill 范围内,如需请参考 a-share-stock-screen111- 因子方向说明:正向=值越大越好(如 ROE),负向=值越小越好(如 PE)