- 因子元数据增加 brief 使用简介(后端 FactorDef + /api/factors 返回,9 个内置因子补齐文案) - 因子研究页: · 时间默认「今日 ~ 近 6 个月」 · 因子多选,逐个跑 IC/RankIC Job 并分卡展示报告 · 目录显示使用简介,行点击展开公式/方向/用法详解 · 新增计分规则说明与「去因子组合」入口 - 因子组合页 /factors/compose:多因子勾选+权重、组合得分规则说明(z-score×权重求和→TopN), 可配 topN/调仓/区间/ST,一键回测 Job → 净值/回撤/月度/未建模标注 - 回测页时间默认同样近 6 月 - 验证:tsc + next build 通过;组合回测(momentum_60×1.5 + volatility_60×1.0)Job 成功归档 EXP-330CAAAE(-13.51%,交易 20);后端 factors/research/api 相关测试通过 / ruff clean
27 lines
669 B
Python
27 lines
669 B
Python
"""因子目录 API:/api/factors。"""
|
||
|
||
from __future__ import annotations
|
||
|
||
from fastapi import APIRouter
|
||
|
||
from app.quant.factors import list_factors
|
||
|
||
router = APIRouter(prefix="/factors", tags=["factors"])
|
||
|
||
|
||
@router.get("", summary="因子目录(含元数据)")
|
||
def list_factor_catalog() -> list[dict]:
|
||
return [
|
||
{
|
||
"name": d.name,
|
||
"description": d.description,
|
||
"brief": d.brief,
|
||
"formula": d.formula,
|
||
"frequency": d.frequency,
|
||
"lookback": d.lookback,
|
||
"direction": d.direction,
|
||
"requires": list(d.requires),
|
||
}
|
||
for d in list_factors()
|
||
]
|