使用指南

July 3, 2026 · View on GitHub

这份文档放 README 之外的日常用法:安装、CLI 命令、Python 调用、上下文注入和评估闭环。

安装

pip install -e .
cp .env.example .env

如果暂时不用 LLM 排序,运行命令时加 --no-llm 即可,不需要配置模型 key。

三步跑通

alphasift strategies

alphasift screen dual_low --no-llm --explain

alphasift screen dual_low --no-llm --save-run
alphasift runs
alphasift evaluate <run_id> --explain

UI/agent 总览

overview 会把策略分组、策略筛选 facets、策略卡片、策略推荐、数据源健康、数据新鲜度/缓存状态、策略字段覆盖、数据源历史、策略表现历史、最近运行和 next actions 放到同一份 payload,适合 Web UI、通知助手或 agent 首屏使用:

alphasift overview --explain
alphasift overview --risk-profile aggressive --data-requirement daily_k --match-limit 2 --json
alphasift serve --host 127.0.0.1 --port 8765

默认不会发起网络请求,只读取当前进程的 source-health 和本地 run 索引;需要真实数据源 smoke check 时加 --live-data-check

alphasift serve 会启动只读本地 JSON API,方便 UI、agent 或外部编排层直接消费稳定 payload。默认监听 127.0.0.1:8765,可用端点包括 /health/result-schema/overview/strategies/strategy?name=<strategy_name>/strategy-compare?base=<base>&target=<target>/strategy-facets/strategy-cards/strategy-readiness/strategy-run-summary/data-source-history/strategy-performance/strategy-templates/strategy-template?name=<template_name>/runs/report?run=<run_id>/doctor/data-sources。HTTP API 默认也不做 live 数据源检查;需要时给 /overview?live=true/strategy-cards?live=true/strategy-readiness?live=true/doctor/data-sources?live=true

策略目录也可以输出更完整的能力描述,方便 UI、agent 或外部系统选择合适策略:

alphasift strategies --explain
alphasift strategies --json
curl "http://127.0.0.1:8765/strategy-facets"
curl "http://127.0.0.1:8765/strategy-cards?strategy=dual_low"
curl "http://127.0.0.1:8765/data-source-history?limit=50"
curl "http://127.0.0.1:8765/strategy-performance?limit=50"

结构化输出包含策略分类、标签、风格属性、数据依赖、是否需要日 K、必需 snapshot/daily 字段、活跃 hard filters、因子权重和 profile 覆盖项。/strategy-facets 会把这些属性汇总成可直接驱动筛选控件的 value/count/strategies 列表,并标出对应 query 参数。/strategy-cards 还会输出 lanes,把策略分成 needs_historyneeds_evaluationperformance_leadersattention,方便 UI 首屏直接渲染待跑、待评估、表现领先和需要关注的策略区块。

也可以直接按风格/数据依赖匹配策略,给命令行、Web UI 或 agent 做策略选择:

alphasift strategies --risk-profile defensive --holding-period swing --market-regime risk_off --strict --explain
alphasift strategies --risk-profile aggressive --data-requirement daily_k --limit 2 --json

匹配结果包含 scorematchedmissing,便于界面展示为什么推荐某个策略,以及哪些偏好没有满足。

策略迭代或新增策略前,可以对比两套策略的风格、数据依赖、必需字段、硬筛参数和因子权重:

alphasift strategies --compare dual_low low_volatility_quality --explain
alphasift strategies --compare dual_low low_volatility_quality --json
curl "http://127.0.0.1:8765/strategy?name=low_volatility_quality"
curl "http://127.0.0.1:8765/strategy-compare?base=dual_low&target=low_volatility_quality"

JSON 输出包含 differencessummary.compatibility_notes,适合 UI 展示参数变更、日 K 依赖变化和数据源兼容性影响。HTTP API 返回同一份对比结构,方便前端从策略详情页直接进入 diff 审核。

新增策略时可以先列出模板,再把模板 YAML 输出到 strategies/ 下改名迭代:

alphasift strategies --templates --explain
alphasift strategies --template defensive_value_quality > strategies/my_defensive_value_quality.yaml
alphasift strategies --template momentum_breakout_daily --json
curl "http://127.0.0.1:8765/strategy-template?name=momentum_breakout_daily"

模板 payload 包含策略风格、数据依赖、适用说明和可直接编辑的 YAML,便于 UI/agent 生成策略草稿,同时不会把模板本身混入启用策略目录。

按具体策略预检数据源字段覆盖:

alphasift doctor data-sources --strategy low_volatility_quality --no-live --explain
alphasift doctor data-sources --all-strategies --no-live --explain
alphasift doctor data-sources --strategy dual_low --compare-snapshot-sources --explain
curl "http://127.0.0.1:8765/strategy-readiness"

单策略模式会列出该策略依赖的 snapshot 字段和 daily 特征字段;全策略模式会输出策略覆盖矩阵和 strategy_readiness_summary,方便 UI/API 或 agent 判断哪些策略已可用、哪些尚未 live 检查、哪些字段是数据源稳定性的关键路径。去掉 --no-live 后会发起真实取数 smoke test,并在字段缺失、缓存过期或数据源降级时输出 snapshot_missingdaily_missingsource_errorsfreshness_summary 和修复建议。加 --compare-snapshot-sources 会逐个检查配置里的 snapshot provider,对比行数、必需字段覆盖、字段质量、失败源和代码交集,用于发现某个源虽然可用但缺少策略关键字段。

JSON 输出同时包含原始 source_health counters、聚合后的 health_summaryfreshness_summary 和 live snapshot 的 quality_summaryhealth_summary 会把 source 分成 healthy_sourcesfailing_sourcesdisabled_sourcesnever_seen_sources,用于界面展示数据源健康度、熔断状态和最近错误;snapshot.quality_summary 会统计重复代码、字段缺失率、非法数字和价格/成交额/市值非正等异常,避免数据源虽然返回行数但字段质量不可用。

常用场景

使用 LLM 横向排序:

alphasift screen balanced_alpha

复用其他项目的 LiteLLM 配置文件:

alphasift --env-file /home/ubuntu/daily_ai_assistant/.env screen balanced_alpha

带市场、主题或新闻背景的 LLM 排序:

alphasift screen balanced_alpha --context "今日券商板块放量,低估值金融获得资金回流"

注入按候选代码对齐的新闻、公告、资金流或研究摘要:

alphasift screen balanced_alpha --candidate-context-file candidate_context.csv

默认运行本地 L3 scorecard 后置评分器:

alphasift screen balanced_alpha --explain

追加 DSA 作为可选 L3 后置分析器之一:

alphasift screen dual_low --post-analyzer dsa

显式关闭 L3 后置评分或分析:

alphasift screen dual_low --no-post-analysis

项目和策略自检:

alphasift audit
alphasift audit --json

刷新行业、概念、板块热度映射缓存:

alphasift industry-cache --output data/industry_map.csv --explain
alphasift screen balanced_alpha --industry-map-file data/industry_map.csv

批量评估最近保存的运行:

alphasift evaluate-batch --limit 20 --explain
alphasift evaluate-batch --limit 20 --with-price-path --failure-samples 10 --json

批量评估会输出 failure_review,把负收益、缺报价、失败突破、严重回撤等样本按策略、LLM 催化/风险、后置分析标签、合并事件信号、风险 flag、形态和失败原因聚合,并给出下一步调参或数据检查建议。也会输出 event_signal_review,按 tag:catalyst:risk:post: 事件信号统计胜率和收益,给出 prefer / avoid / watch 动作建议。

为保存的运行生成复盘报告:

alphasift runs --json
alphasift runs --strategy low_volatility_quality --json
alphasift performance --limit 50 --explain
alphasift report <run_id> --output data/reports/<run_id>.md
alphasift report <run_id> --json --output data/reports/<run_id>.json
curl "http://127.0.0.1:8765/strategy-run-summary?limit=50"

runs --json 会输出轻量运行索引,包含策略版本、类别、数据源、LLM/日 K 状态、降级计数、少量错误/降级样例和建议报告路径。/strategy-run-summary 会按策略聚合这些索引,输出运行次数、最近报告、总候选数、source error/degradation 计数与样例、LLM/日 K 覆盖和最近运行卡片,不会触发 live 行情。/data-source-history 会按 snapshot source 聚合最近 runs,输出错误率、降级率、错误/降级样例、last-good fallback 次数、稳定性状态/分数、策略覆盖、watchlist 和 next actions,用于稳定性面板观察某个源是否反复失败以及失败原因。performance / /strategy-performance 会读取已保存的 evaluation 文件,按策略输出后验收益、胜率、表现分数、outcome、leaderboard 和 next actions,不会重新抓行情。默认报告是 Markdown,适合直接进入人工复盘、通知或日报;report --json 输出稳定的 RunReport payload,给 Web UI、agent 或外部服务消费。加 --evaluate 会在报告中附带最新 T+N 评估摘要。

评估时额外抓取日 K 路径,输出最大回撤和最大浮盈:

alphasift evaluate <run_id> --with-price-path --explain

Python 调用

from alphasift import evaluate_saved_run, evaluate_saved_runs, screen

result = screen("dual_low", use_llm=False)
for p in result.picks:
    print(f"{p.rank}. {p.code} {p.name} score={p.final_score:.1f}")

保存与评估

alphasift screen --save-run 会保存策略版本、数据源、降级记录、候选、分数、风险字段、后置分析结果和保存时价格。后续可用:

alphasift evaluate <run_id> --explain
alphasift evaluate-batch --limit 20 --explain
alphasift runs --strategy dual_low --json

评估会用保存时价格与评估时最新快照价格计算 T+N 收益、胜率、缺失报价、交易成本扣减、等权组合摘要和形态后验标签。启用 --with-price-path 后,会额外估算最大回撤和最大浮盈。 evaluate-batch / evaluate-strategies 还会输出 failure_reviewevent_signal_review,用于定位反复失效的策略、事件信号、风险 flag、形态状态和数据问题,并沉淀可偏好/规避的事件标签。event_signal_review.strategy_patch_suggestions 会把策略级事件胜率转换成可审阅的 screening.event_profile YAML 片段,方便后续把稳定的 prefer/avoid 结论落回策略。

自定义策略

strategies/ 目录添加 YAML 文件即可,文件名就是策略标识。可用 alphasift strategies --templates --explain 查看起步模板。完整写法见 strategy-guide.md,内置策略说明见 ../strategies/README.md