简体中文 | English
面向 AI Agent 的本地闭环因子进化技能:生成候选因子、验证、用 PandaData A 股数据回测、诊断表现、让 LLM 提出语义改进,然后迭代。
本技能仅用于研究流程,不构成投资建议。
- 按因子契约验证表达式是否合法。
- 使用真实 A 股 OHLCV 数据进行固定口径多空回测。
- 用 Sharpe、IC、换手率、回撤和分类结果诊断因子。
- 在单次运行内记录有效模式和失败模式。
- 默认优先使用 LLM 生成改进建议,再生成下一批候选因子。
- 输出最终汇总和进化图,方便复盘。
可以从以下内容开始:
- 一个或多个明确的因子表达式。
- 自然语言因子想法,例如动量、反转、量价背离。
- 随机探索请求。
- 研报、论文或笔记中的因子描述。
如果没有明确指定目标或输出,默认目标是提高 Sharpe,并由 Agent 自行设计初始候选因子。
所有表达式都必须遵循因子契约。
示例:
帮我优化这个因子,跑 3 轮:
rank(returns(close,20) / ts_std(returns(close,1),60))
随机生成 10 个动量和反转候选因子,跑 5 轮进化。
在技能根目录创建 .env:
PANDA_AI_USERNAME="your_username"
PANDA_AI_PASSWORD="your_password"
PANDA_AI_BASE_URL="http://pandadata.pandaaiquant.com"安装依赖:
pip install -r requirements.txt优先阅读 final_summary.json,其中包含:
- 每轮最佳 Sharpe 变化。
- 最佳因子列表。
- Pareto 前沿。
- 是否值得保留。
- 原始用户请求。
- 本次运行配置。
其他常用输出:
diagnosis.json:每个因子的指标和分类。backtest_results_all.json:所有迭代的回测结果。knowledge_base.json:本次运行学到的模式。candidate_evolution.json:因子父子关系。evolution_diagram.md:进化图。trading_data/:组合收益、IC 序列和持仓。
多次运行进化流程后,output/ 目录下会积累多个 run_* 文件夹。使用
build_alpha_library.py 将所有运行的 final_summary.json 合并成一个统一的
因子库,并按表达式去重(相同表达式保留 Sharpe 最高的那次)。
# 基本用法:扫描 output/ 下所有 run_*,生成 alpha_library.json
python scripts/build_alpha_library.py
# 指定输出路径
python scripts/build_alpha_library.py --output my_library.json
# 只保留 Sharpe ≥ 0.3 的因子
python scripts/build_alpha_library.py --min-sharpe 0.3
# 指定自定义 output 目录
python scripts/build_alpha_library.py --output-dir /path/to/output| 参数 | 说明 | 默认值 |
|---|---|---|
--output |
输出 JSON 文件路径 | alpha_library.json(技能根目录) |
--min-sharpe |
最低 Sharpe 阈值,低于此值的因子不收录 | 无限制 |
--output-dir |
包含 run_* 文件夹的目录 |
./output/ |
生成的 alpha_library.json 结构:
{
"meta": {
"total_factors": 60,
"total_runs_scanned": 12,
"total_runs_contributing": 12,
"positive_sharpe_count": 28,
"best_sharpe": 0.8656,
"worst_sharpe": -0.4289,
"min_sharpe_filter": null
},
"entries": [
{
"expression": "-1 * rank(delta(returns(close, 10), 5) / ...)",
"sharpe": 0.8656,
"source_run": "run_20260713_194041_model_creativity",
"source_query": "use your creativity to generate powerful alphas",
"worth_keeping": true,
"slug": "1_rank_delta_returns_close_10_5_max_..."
}
]
}每个因子条目包含:
expression— 因子表达式。sharpe— 年化 Sharpe 比率。source_run— 来源运行目录名。source_query— 触发该运行的原始查询。worth_keeping— 该运行是否值得保留。slug— 表达式导出的短标识名。
因子按 Sharpe 从高到低排序。meta 中提供汇总统计,方便快速了解库的整体质量。
通过 config.json 调整回测区间、股票池、成本、停止条件、分类阈值和变换设置。
如果用户明确指定参数,例如“跑 10 轮”或“用 CSI 500”,本次运行应优先使用用户指定值。
SKILL.md:Agent 主说明。references/factor-contract.md:字段、函数和表达式规则。references/optimization-protocol.md:循环协议和分类规则。references/agent-integration.md:安装和冒烟测试。
GPL-3.0. See LICENSE.