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.3.tar.gz (104.3 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.3-py3-none-any.whl (100.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quantcli-0.1.3.tar.gz
  • Upload date:
  • Size: 104.3 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.3.tar.gz
Algorithm Hash digest
SHA256 1f855e1df83aa5af2657ee0c705a1a9a48c81a9c0408d6a3e9e44cd027348415
MD5 8bffaf060e8bab12d40dec7f1a85c803
BLAKE2b-256 0b77b0167213714e603dd87b33d68d2282c7db007a9e3d235c6e95e52d452f2e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quantcli-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 100.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 29a3daf2d6e0aae11878df30d805a10032c32f4a3239b4e2961093e4ea0e9c3e
MD5 760168376549d8bcf098625c0141ab9e
BLAKE2b-256 ff0f5f15adb993688dc8e98f812c2faf700e7b2a46dd9e73b541398873aa4919

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