Skip to main content

面向AI的多因子量化选股策略挖掘工具,AI Agent 友好 CLI

Project description

QuantCLI

QuantCLI 是一款专注于多因子选股的命令行工具,为个人量化研究者提供轻量、高效、可复现的研究环境。

AI Agent 友好: QuantCLI 专为 AI Agent 优化,支持结构化输出、幂等性设计和 Skill 集成。

核心功能

  • 多因子筛选: 多阶段因子筛选、权重融合、条件过滤、加分项评分
  • 因子计算: 40+ 内置函数,支持表达式解析
  • IC/IR 分析: 因子有效性评估,批量扫描高有效性因子
  • 回测引擎: 基于 Backtrader,支持单股票/多因子回测
  • 多数据源: AKShare、Baostock、MySQL
  • AI 友好: JSON 输出、Skill 集成、Claude Code 支持
  • 内置因子库: 40 个 Alpha101 因子,即点即用

安装

pip install quantcli

快速开始

# 查看帮助
quantcli --help

# 多因子筛选 (推荐)
quantcli filter run -f examples/strategies/pe_roe_ma10.yaml --top 30

# 查看所有内置因子
quantcli factors list

# IC/IR 因子有效性分析
quantcli analyze ic -e "(close / delay(close, 20)) - 1" -n "20日动量" --json

# 批量分析因子库
quantcli analyze batch -d examples/alpha101/alpha/ --top 10

# 获取数据
quantcli data fetch 600519 --start 2020-01-01 --end 2024-01-01

# 运行因子
quantcli factor run -n momentum -e "(close / delay(close, 20)) - 1"

# 回测策略
quantcli backtest run -s ma_cross --start 2020-01-01

AI Agent 使用

JSON 输出模式

所有命令支持 --json 参数,以机器可解析的格式输出:

# IC/IR 分析
quantcli analyze ic -e "(close/delay(close,20))-1" --json
# {"status": "success", "ic_mean": 0.0285, "ir": 0.47, ...}

# 批量因子分析
quantcli analyze batch -d examples/alpha101/alpha/ --json

IC/IR 评估标准

指标 含义 阈值
IC 因子与未来收益的秩相关 |IC| > 0.05 有效
IR IC 均值/标准差(年化) IR > 0.5 稳定

Alpha101 内置因子库

内置 40 个 WorldQuant Alpha101 因子,可直接引用:

# 查看所有内置因子
quantcli factors list

# 运行 Alpha101 复合策略
quantcli filter run -f examples/alpha101/alpha101_composite.yaml --top 30

# 批量分析因子有效性
quantcli analyze batch -d examples/alpha101/alpha/ --top 10

使用内置因子:

factors:
  - alpha101/alpha_001   # 20日创新高后转跌
  - alpha101/alpha_008   # 资金流入
  - alpha101/alpha_029   # 5日动量

ranking:
  weights:
    alpha101/alpha_001: 0.4
    alpha101/alpha_008: 0.3
    alpha101/alpha_029: 0.3
  normalize: zscore

Claude Code Skill

/skill multi-factor-strategy --goal "低估+高ROE" --output strategy.yaml

多因子筛选示例

创建策略文件 strategy.yaml:

name: PE-ROE-MA10 选股策略
version: 1.0.0

screening:
  fundamental_conditions:
    - "pe_ttm < 20"
    - "pe_ttm > 0"
    - "roe > 0.1"
  daily_conditions:
    - "close > ma10"

ranking:
  weights:
    pe_ttm: -0.3      # 负权重: 低估值
    roe: 0.5          # 正权重: 高ROE
    ma10_deviation: 0.2
  normalize: zscore

output:
  limit: 50

运行筛选:

quantcli filter run -f strategy.yaml --top 50

命令

命令 功能
quantcli analyze IC/IR 因子有效性分析
quantcli filter 多因子筛选
quantcli factor 因子计算与评估
quantcli factors 内置因子管理
quantcli data 数据获取与管理
quantcli backtest 回测引擎
quantcli config 配置管理

AI Skill

multi-factor-strategy skill 用于引导创建多因子选股策略,生成可独立运行的 YAML 配置文件。

目的: 将因子研究、回测验证、策略执行整合为标准化流程,通过 YAML 配置实现:

  • 多阶段筛选 (基本面 → 技术面 → 因子评分)
  • 权重融合与条件过滤
  • 策略可复现、可版本控制
  • AI Agent 可直接调用

文档

详见 docs/cli_guide.md

许可证

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quantcli-0.1.2.tar.gz (103.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quantcli-0.1.2-py3-none-any.whl (100.2 kB view details)

Uploaded Python 3

File details

Details for the file quantcli-0.1.2.tar.gz.

File metadata

  • Download URL: quantcli-0.1.2.tar.gz
  • Upload date:
  • Size: 103.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for quantcli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7ee53efc1ae5a25b84d1a995f4a0013b9bd06449bb43464fa46eff37aa4962e0
MD5 448583dbce3624b84085f9a12c00010c
BLAKE2b-256 2c210f664ac0fa841d484ed1aa7044a4452e8dd487316b9857a101e82d828252

See more details on using hashes here.

File details

Details for the file quantcli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: quantcli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 100.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for quantcli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 acf66472b29238e50946d8dfb5f493536bcae11831fcaa0dd320acd000c61cd5
MD5 2620f9d8492a8714d85fcc5bf2af28fe
BLAKE2b-256 cac7fc2ebb6e88c9df76048ad2351ff3bb160f57f177582127d9624a47723528

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page