头条 Agent 原生选股引擎,11 策略 + LLM 重排

-- 次阅读

作者: AI新视线

alphasift 是一个 Agent 原生的 A 股选股引擎, 核心思路是把选股分成三个层次:L1 硬条件过滤、L2 LLM 软判断排序、L3 后置分析。它采用 Python 编写 ,支持 pip 安装,319 Star,Apache 2.0 协议, 最后更新于 2026-07-30。

维度数据
GitHubsimonlin1212/alphasift
Stars319
Forks186
语言Python 3.10+
策略数11 个 YAML 策略
测试文件34 个
许可证Apache 2.0

背景

选股的本质是一个"从全市场候选中找出符合某种投资逻辑的股票"的问题。传统量化框架把筛选逻辑写死在代码里 , 换个策略就要改代码。alphasift 的做法是把筛选规则抽象成 YAML 配置文件 ,用 LLM 做排序而不是做筛选,最后提供 Agent 可调用的接口。

这个项目的设计文档列出了 11 条设计原则, 其中最关键的一条是:**硬条件由代码执行, LLM 只做软判断**。这意味着估值、涨跌幅、技术指标阈值这些确定性逻辑, 全部由 Python 代码完成, 不交给 LLM。LLM 负责的是语义理解、候选间横向比较、行业/主题标签输出这些软判断。

技术分析

alphasift 的核心是三层筛选架构,每层职责清晰:

L1 硬条件过滤。从全市场 5000+ 只股票中,按硬条件筛出候选池。支持 PE、PB、市值、换手率、涨跌幅、量比等条件的范围过滤。同时支持排除 ST 股票、设置最低成交额等。

L2 LLM 重排。把 L1 的候选送入 LLM, 基于策略描述、市场上下文、候选之间的横向对比, 给出最终排名。LLM 输出结构化 JSON, 包含每个候选的行业标签、风险摘要和排序理由。

L3 后置分析。默认使用本地 scorecard 对候选做补充评分,也可接入外部 DSA(daily_stock_analysis)对最终入围候选做深度分析。

数据源支持多种免费接口,优先级按配置可调整:

数据源内容依赖
akshare行情快照、行业板块akshare>=1.10
baostock日 K 线baostock>=0.8.9
tushare财务数据、历史行情tushare>=1.4,需 Token
efinance东财行情推送efinance>=0.4
yfinance美股/港股yfinance>=0.2

策略文件全部以 YAML 格式定义,每个策略包含硬筛选条件、因子权重、评分参数、风险阈值。以双低策略为例:

yaml

strategies/dual_low.yaml

name: dual_low display_name: 双低选股 version: “1.2” category: value screening:  hard_filters:  exclude_st: true  pe_ttm_max: 15  pb_max: 2.0  market_cap_min: 5000000000  price_min: 3  price_max: 80  factor_weights:  value: 0.34  stability: 0.20  liquidity: 0.14  momentum: 0.10  max_output: 5

11 个内置策略覆盖不同风格:

策略类型核心逻辑
dual_low价值低 PE + 低 PB,叠加活跃度确认
volume_breakout动量放量突破,量比异动检测
balanced_alpha多因子综合估值、稳定性、流动性加权
capital_heat资金资金流入热度排序
blue_chip_income价值蓝筹 + 分红稳定性
momentum_quality动量+质量动量+ROE质量双因子
low_volatility_quality防御低波动+高质量
oversold_reversal反转超卖后反转信号
quality_value质量+价值高质量低估组合
shrink_pullback形态缩量回调后支撑位确认

安装和运行的核心命令:

bash

pip install -e .

无 API key 快速演示

alphasift quickstart

执行双低策略,不使用 LLM 排序

alphasift screen dual_low –no-llm

使用 LLM 排序,带市场上下文

alphasift screen balanced_alpha –context “今日券商板块放量”

保存运行,后续做 T+N 后验评估

alphasift screen dual_low –save-run alphasift evaluate

Agent 调用方式有两种:通过 CLI 命令或 Python 接口。项目内置 SKILL.md,支持 Claude Code、Codex 等 Agent 直接调用。

实测验证

项目 34 个测试文件,覆盖过滤、评分、排名、策略、运行时、数据源健康检查等核心模块。

测试覆盖的关键场景包括:

  • 硬条件过滤的水下效应:验证排除 ST、涨跌幅限制等边界条件
  • LLM 排序的降级逻辑:LLM 调用失败时回退到 screen_score 排序
  • 数据源健康检查:自动感知数据源可用性,失败后降级到备用源
  • T+N 后验评估:保存运行后对比评估时的价格路径,计算胜率、最大回撤 数据源的优雅降级机制是项目的核心工程亮点。当 akshare 或 efinance 不可用时 ,自动切换至 baostock 或 tushare, 并记录 degradation 标记。东财直连请求内置串行限流(默认 1.0 秒间隔 + 0.3 秒随机抖动) ,避免触发 IP 封禁。

[IMAGE: alphasift 数据源降级流程图]

影响范围

alphasift 的定位是 Agent 原生的选股引擎,适用场景是:

维度说明
适用 Agent 框架Claude Code、Codex、Gemini CLI 等支持 SKILL.md 的 Agent
适用市场A 股(market_scope: [cn])
运行环境Python 3.10+,Linux/macOS/Windows
数据时效依赖 akshare/tushare 等数据源,盘后数据可用
LLM 依赖排序阶段可选,--no-llm 完全离线运行

与同类工具的区别:

工具定位核心差异
alphasiftAgent 原生选股引擎YAML 策略 + SKILL.md 接口 + T+N 后验
TradingAgents-astock多 Agent 投研辩论7 位分析师 + Bull/Bear 辩论
PanWatch盯盘助手实时监控 + 多账户管理
QuantDinger量化交易平台回测 + 实盘 + 多市场

防护建议

alphasift 作为开源选股工具,使用时需要注意以下安全点:

  1. 数据源安全:akshare 和 efinance 依赖直接 HTTP 请求 , 建议配置 ALPHASIFT_SOURCE_CALL_TIMEOUT_SEC 设置超时阈值 ,避免数据源异常时程序无限等待。

  2. LLM API Key 管理:LLM 排序阶段需要 API Key ,建议使用环境变量或 .env 文件管理, 不要硬编码在配置中。支持 LiteLLM 多通道配置,可设置主备模型和回退策略。

  3. 策略参数审计:YAML 策略文件定义了选股逻辑, 建议定期审计策略参数是否与当前市场环境匹配,避免用过时的阈值筛选。

  4. T+N 后验评估:保存的运行记录包含价格快照和筛选条件, 可用于评估策略有效性。建议建立策略评估循环,避免直接使用未经验证的策略。

📌 关注「AI新视线」,回复关键词获取完整量化模型和研报数据。

扫码关注「AI新视线」

穿透噪音,看见本质


来源: 微信公众号

目录

×