CogAlpha 框架完整提示词

CogAlpha 是一个认知因子挖掘框架,它结合了代码级因子表示、LLM 驱动的推理与进化搜索。它通过多阶段提示词以及来自前几代的反馈,使用专门的智能体来生成、检查、修复、优化、变异并重组因子代码。
CogAlpha 提示词模板
本仓库收录了 CogAlpha 在 LLM 驱动因子发现中所使用的公开提示词模板。
这些模板围绕论文中描述的三大提示词族组织:
- 七级智能体层级(Seven-Level Agent Hierarchy):任务特定的因子生成提示词与共享生成模块。
- 多智能体质量检查器(Multi-Agent Quality Checker):代码审查、修复、逻辑评判与逻辑优化提示词。
- 思维进化(Thinking Evolution):用于进化式优化的变异与交叉提示词。
范围
本仓库仅包含提示词模板。它有意不包含运行时代码、数据集、实验输出、私有模型端点、API 密钥或本地文件系统路径。
重复的 1 天、10 天和 30 天变体已统一使用 {forecast_horizon} 占位符表示。
占位符约定
模板占位符使用花括号,例如 {columns_desc}、{num_per_request}、{forecast_horizon}、{old_code} 与 {error}。这些占位符对应由 CogAlpha 在向 LLM 发送提示词之前插入的运行时值。
目录结构
prompts/
seven_level_agent_hierarchy/ # 基础与任务特定的生成提示词
multi_agent_quality_checker/ # 代码质量、修复、评判与逻辑优化提示词
thinking_evolution/ # 变异与交叉提示词
shared/ # 复用的提示词片段
提示词组装
这些 Markdown 文件是提示词构建块。使用它们时,先发送 prompts/shared/system_message.md 作为系统消息,然后从相应族的模板中组装一条用户提示词。
七级生成智能体
标准任务特定的生成提示词按以下顺序组装:
- 智能体特定介绍
- 可选的“有效因子分析”模块(若有成功的先验因子可用)
- 可选的“无效因子分析”模块(若有失败的先验因子可用)
prompts/shared/requirements.md- 智能体特定的因子设计指引
prompts/shared/libraries_and_coding_guidelines.mdprompts/shared/output_format.md
任务特定的介绍与指引存储在 prompts/seven_level_agent_hierarchy/ 下各文件的同一处。共享模块存储在 prompts/shared/ 下。
当存在先验因子反馈时,先使用 prompts/shared/effective_factor_summary.md 或 prompts/shared/ineffective_factor_summary.md 对其进行汇总,再将生成的文本插入到 prompts/shared/effective_factor_analysis.md 或 prompts/shared/ineffective_factor_analysis.md。
prompts/shared/guidance_paraphrase.md 可选地用于在最终组装前改写智能体特定的因子设计指引模块。
质量检查器智能体
质量检查器模板是独立的用户提示词。直接填充其占位符:
code_quality_agent.md:将生成的因子代码插入{code}。code_repair_agent.md:插入{columns_num}、{columns_desc}、{old_code}与{error}。judge_agent.md:插入因子代码及所请求的评判上下文。logic_improvement_agent.md:插入需要改进的因子逻辑/代码。
思维进化智能体
进化模板同样是独立的用户提示词:
mutation_agent.md:插入{intro}、{extra_guidance}与{original_factor_code}。crossover_agent.md:插入{intro}、{extra_guidance}、{parent_factor_1_code}与{parent_factor_2_code}。
其中,{intro} 通常与生成智能体所使用的数据模式与任务上下文相同,而 {extra_guidance} 是可选的、机制特定或由反馈衍生的指引模块。
免责声明
CogAlpha 及其提示词模板仅用于学术研究。它们不构成任何金融建议。用户需自行负责获取数据、验证所生成的因子,并在自身语境中评估风险。
引用
如果您认为本仓库有用,欢迎引用我们的论文:
@inproceedings{liu2026cognitive,
title={Cognitive alpha mining via llm-driven code-based evolution},
author={Liu, Fengyuan and Huang, Yi and Luo, Sichun and Wang, Yuqi and Yang, Yazheng and Li, Xinye and Hu, Zefa and Feng, Junlan and Liu, Qi},
booktitle={Proceedings of the 64th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)},
pages={11715--11749},
year={2026}
}
提示词族(prompts/README.md)
本目录将 CogAlpha 使用的公开提示词模板按论文中描述的主要功能族进行组织。
组成部分
- 七级智能体层级:针对不同市场机制与因子设计视角的任务特定生成智能体。
- 多智能体质量检查器:用于验证所生成因子代码的审查、修复、评判与逻辑优化提示词。
- 思维进化:用于在代际间进化候选因子的变异与交叉提示词。
- 共享提示词模块:生成智能体复用的通用要求、库规则、输出格式、反馈分析模块及辅助提示词。
各族的模板列表见其各自的 README。
组装总览
使用 shared/system_message.md 作为系统消息。从某一族构建用户消息:
- 对于新因子生成,将七级智能体的介绍/指引与共享的要求、库和输出格式模块结合。
- 对于质量检查,使用一个多智能体质量检查器模板并填充代码/错误占位符。
- 对于思维进化,使用变异或交叉之一,并填充父因子占位符以及任何额外指引。
组装后的提示词中不要包含本地代码路径或仓库特有的元数据。
目录结构
prompts/
README.md
shared/
seven_level_agent_hierarchy/
multi_agent_quality_checker/
thinking_evolution/
共享提示词模块(shared/)
共享提示词模块定义了 CogAlpha 的生成与修复提示词所复用的可重用指令。它们使因子生成提示词在各智能体与预测周期之间保持一致。
组成部分
- 系统与辅助提示词 描述了 LLM 的一般角色,并支持列描述或指引改写任务。
- 要求与输出格式 规定了预期的因子函数结构、命名规则、索引行为与响应格式。
- 库与编码指南 定义了可用于生成稳定因子代码的 Python 库及实现约束。
- 因子指引模块 提供了被任务特定智能体复用的通用基准因子设计原则。
- 反馈分析模块 汇总有效与无效因子,以便后续世代复用成功模式并避免重蹈覆辙。
这些模块在生成过程中与任务特定的智能体提示词一起组装。
用法
system_message.md用作 LLM 调用的系统消息。column_description.md是一个辅助提示词,用于在填充{columns_desc}之前把原始因子/列名转为简洁描述。effective_factor_summary.md与ineffective_factor_summary.md把先前的因子示例汇总为紧凑的反馈文本。effective_factor_analysis.md与ineffective_factor_analysis.md将这些汇总包装起来,以插入生成提示词。requirements.md、libraries_and_coding_guidelines.md与output_format.md被追加到七级生成提示词中。guidance_paraphrase.md可选择性地在最终提示词组装前改写智能体特定的因子设计指引模块。
模板
| 提示词模块 | 模板 |
|---|---|
| 基础因子指引 | base_factor_guidance.md |
| 列描述 | column_description.md |
| 有效因子分析 | effective_factor_analysis.md |
| 有效因子汇总 | effective_factor_summary.md |
| 指引改写 | guidance_paraphrase.md |
| 无效因子分析 | ineffective_factor_analysis.md |
| 无效因子汇总 | ineffective_factor_summary.md |
| 库与编码指南 | libraries_and_coding_guidelines.md |
| 输出格式 | output_format.md |
| 要求 | requirements.md |
| 系统消息 | system_message.md |
shared/system_message.md — 系统消息
占位符:无
你是一名资深量化研究员与金融特征工程专家。
shared/base_factor_guidance.md — 基础因子指引
占位符:{factor_type}
### 因子设计指引:
我们鼓励你探索与 {factor_type} 相关的各种信号与技术,包括但不限于:
- [常用技术 / 示例类别的列表]
- [可能的交互或进阶想法的列表]
请勿将自己局限在简单公式或常见模式中。
希望你勇于创新,引入数学上更复杂或非常规的结构,并在合理的情况下组合多种概念。
目标是生成**具有预测性**、**稳健**且**具有经济可解释性**的因子,同时与现有因子**在结构上保持多样**。
shared/column_description.md — 列描述
占位符:无
针对以下每个金融因子名称,提供一个精确而简洁的英文描述(不超过 20 个词)。
重要:请勿以任何方式修改因子名称。请使用与输入完全相同的名称。
请按以下格式作答:
<精确因子名>: <描述>
{', '.join(factor_names)}
shared/effective_factor_analysis.md — 有效因子分析
占位符:{effective_CoT}
### 有效因子分析与创新方向:
以下是基于近期成功案例及其有效原因构建的、浓缩的 CoT 风格汇总。
来自幸存者的微型链条(观察 → 原因 → 修复):
{effective_CoT}
基于这些优势,将其作为启发式灵感来指导新因子的创建,而不是照搬原有原则。
寻求创新方法以生成更高效、更稳健、适应性更强的因子,确保它们在多样化的市场条件下表现良好,同时避免前视/泄漏与冗余。
shared/effective_factor_summary.md — 有效因子汇总
占位符:无
你被给予若干因子函数,格式如下:
<<factor N>>
State: valid
Metrics: IC / RankIC / ICIR / RankICIR
Code:
<<function N>>
def <factor_name>(df):
"""解释逻辑。一个清晰的想法。简短公式。无冗余堆叠。"""
df_copy = df.copy()
# 因子计算
return df_copy['<factor_name>']
<</function N>>
<</factor N>>
你的任务是分析所给的金融因子。针对每个因子,请以清晰且结构化的格式提供以下内容:
1. **一个清晰的想法**:仅用一句话陈述核心直觉。
2. **简短公式**:用反引号包裹的、代表该因子的单行数学/伪代码表达式(不含注释、不含额外代码)。
3. **效率分析**:用一句话解释该因子为何可能在实际金融模型中有效(例如,扎实的经济直觉、跨机制稳健、低冗余、无前视/泄漏)。
重要:请勿以任何方式修改因子名称或代码。请使用与输入完全相同的名称。
请按以下格式作答:
<factor_name>:
**一个清晰的想法**: <描述>
**简短公式**: `<单行公式>`
**效率分析**: <分析>
{', '.join(random.sample(factors_content, min(6, len(factors_content))))}
shared/guidance_paraphrase.md — 指引改写
占位符:{guidance}、{rewrite_style}
你是量化 AI 研究智能体的资深提示词改写专家。
请以 **{rewrite_style}** 级别的改写来改写以下因子指引。
可用的改写风格:
- light → 最小限度的措辞调整,几乎保持完全相同的意思。
- moderate → 自然的重新表述,并附带轻微的充实或变化。
- creative → 富有表现力,略微更具想象力或研究风格的改写。
- divergent → 从新的但相关的分析角度进行探索性改写。
- concrete → 使内容**更具体、可量化、更具实现导向**
(例如,添加公式、比率或统计过程的示例),同时保持相同的结构与方向。
规则:
- 保持**相同的 markdown 标题、缩进与项目符号结构**。
- 保留**核心主题与意图**——不要偏离领域。
- 保持适合因子设计的**技术性、分析性语气**。
- 长度保持在原长度的 ±25% 以内。
- 仅输出改写后的 markdown 文本,不要任何解释。
输入:
{guidance}
输出:
shared/ineffective_factor_analysis.md — 无效因子分析
占位符:{ineffective_CoT}
### 无效因子分析与创新方向
以下是基于近期失败案例及其失败原因构建的、浓缩的 CoT 风格汇总。
来自失败的微型链条(观察 → 原因 → 修复):
{ineffective_CoT}
基于这些失败,将其作为启发式警示来指导新因子的创建,而不仅仅是回避类似问题。
寻求创新方法以生成更有效、更稳健、适应性更强的因子,确保它们在多样化的市场条件下表现良好。
shared/ineffective_factor_summary.md — 无效因子汇总
占位符:无
你被给予若干因子函数,格式如下:
<<factor N>>
State: low_metrics / dependent / unstable
Metrics: IC / RankIC / ICIR / RankICIR
Code:
<<function N>>
def <factor_name>(df):
"""解释逻辑。一个清晰的想法。简短公式。无冗余堆叠。"""
df_copy = df.copy()
# 因子计算
return df_copy['<factor_name>']
<</function N>>
<</factor N>>
你的任务是分析所给的金融因子。针对每个因子,请以清晰且结构化的格式提供以下内容:
1. **一个清晰的想法**:仅用一句话陈述核心直觉。
2. **简短公式**:用反引号包裹的、代表该因子的单行数学/伪代码表达式(不含注释、不含额外代码)。
3. **失败分析**:识别因子在当前设计中可能失败或无效的潜在问题或原因。用一句话解释该因子为何无法在实际金融模型中表现良好,或为何可能无法产生可靠结果。
重要:请勿以任何方式修改因子名称或代码。请使用与输入完全相同的名称。
请按以下格式作答:
<factor_name>:
**一个清晰的想法**: <描述>
**简短公式**: `<单行公式>`
**失败分析**: <分析>
{', '.join(random.sample(factors_content, min(8, len(factors_content))))}
shared/libraries_and_coding_guidelines.md — 库与编码指南
占位符:无
### 可使用的预导入库(当前版本):
- `"np"`: import numpy as np (numpy 版本: 2.2.6)
- `"pd"`: import pandas as pd (pandas 版本: 2.2.3)
- `"stats"`: from scipy import stats (scipy 版本: 1.15.3)
- `"talib"`: import talib (talib 版本: 0.5.1)
- `"math"`: import math (内置模块)
编码指南:
- 确保代码稳健、高效且经过优化:
- 处理边界情况与异常(例如 NaN 值)。
- 尽量减少不必要的计算,并优先使用向量化操作(例如 pandas、numpy)。
- 确保数值稳定性。
- **严格规则:绝对禁止嵌套循环。**
- 你**绝不能**在另一个循环内部编写任何形式的循环。
- 禁止的模式包括但不限于:
- `for` 内嵌 `for`
- `while` 内嵌 `while`
- `for` 内嵌 `while`
- `while` 内嵌 `for`
- 任何嵌套的迭代结构均**被禁止**,无论缩进深度如何。
- **严格禁止**使用 `while True` 或任何可能无限循环的结构。
- 在 DataFrame 中进行筛选或赋值时,始终使用 `df_copy.loc[row_indexer, col_indexer] = value`。
- 代码应简洁、可维护,并能高效处理大型数据集:
- 使用描述性的变量名并尽量减少内存占用。
- 避免对大型 dataframe 创建不必要的副本。
shared/output_format.md — 输出格式
占位符:无
### 输出格式规范:
- 不要使用 markdown(例如 ```python)
- 不要在函数外部添加解释或注释
- 每个函数必须包裹在:`<<function N>>` ... `<</function N>>`
- 所有生成的代码必须可执行且数值稳定。
- 始终在后续引用之前定义中间列(例如 df_copy['x'])。
- 返回的 Series **必须与函数名完全同名**。
- 每个函数应遵循以下格式:
<<function N>>
def factor_xyz(df):
"""解释逻辑。一个清晰的想法。简短公式。无冗余堆叠。"""
df_copy = df.copy()
# 因子计算
return df_copy['factor_xyz']
<</function N>>
shared/requirements.md — 要求
占位符:无
### 要求:
- 输入 `DataFrame` 具有 (date, ticker) 的 MultiIndex,并且已按 ticker 分组:
- 每个输入 `DataFrame` 是单只股票的时间序列。
- 输出:一个以 `(date, ticker)` 为索引的 `pd.Series`,其**名称与函数名相同**。
- 每个函数必须:
- 具有描述性的唯一名称:`factor_<逻辑>_<变换>_<窗口>_<字段>`。
- 包含清晰说明逻辑与公式的 docstring。
- 在预测能力与经济/金融可解释性之间取得平衡。
- 输出列名必须与函数名匹配。
- 简洁、精确且可读。
- 基于现有因子构建新的 alpha 因子。
七级智能体层级(seven_level_agent_hierarchy/)
七级智能体层级包含 CogAlpha 的任务特定 alpha 生成提示词。每个智能体专注于一个独特的市场机制或因子设计视角,同时共享相同的编码要求、库约束与输出格式。
组成部分
- 第 I 级:市场结构与周期 捕捉缓慢移动的市场阶段、机制切换与周期相关动态。
- 第 II 级:极端风险与脆弱性 针对崩盘前兆、尾部风险与非对称压力累积。
- 第 III 级:量价动态 对流动性、量结构、订单失衡与量价一致性建模。
- 第 IV 级:价格-波动率行为 捕捉趋势、反转、区间、波动率非对称与滞后响应效应。
- 第 V 级:多尺度复杂性 描述跨窗口的回撤行为、分形结构与类羊群动态。
- 第 VI 级:稳定性与机制门控 引入稳定性感知与机制条件化的因子设计。
- 第 VII 级:几何与融合 结合 K 线几何、复合变换与创造性因子综合。
共享的生成脚手架由 base_agent.md 表示;各智能体文件提供机制特定的介绍与因子设计指引。
组装
每个智能体文件包含两个模块:智能体特定介绍 与 智能体特定因子设计指引。按如下方式组装生成提示词:
prompts/shared/system_message.md作为系统消息。- 智能体特定介绍,填充
{columns_num}、{columns_desc}、{num_per_request}与{forecast_horizon}。 - 可选
prompts/shared/effective_factor_analysis.md,在存在成功的先验因子反馈时填充{effective_CoT}。 - 可选
prompts/shared/ineffective_factor_analysis.md,在存在失败的先验因子反馈时填充{ineffective_CoT}。 prompts/shared/requirements.md。- 智能体特定的因子设计指引。可先用
prompts/shared/guidance_paraphrase.md改写此模块。 prompts/shared/libraries_and_coding_guidelines.md。prompts/shared/output_format.md。
用户消息各模块之间使用 --- 分隔。若无先验反馈,则完全跳过有效/无效分析模块。
模板
| 层级 | 智能体 | 模板 |
|---|---|---|
| 第 I 级 - 市场结构与周期 | 市场周期 | agent_market_cycle.md |
| 第 I 级 - 市场结构与周期 | 波动率机制 | agent_volatility_regime.md |
| 第 II 级 - 极端风险与脆弱性 | 崩盘预测器 | agent_crash_predictor.md |
| 第 II 级 - 极端风险与脆弱性 | 尾部风险 | agent_tail_risk.md |
| 第 III 级 - 量价动态 | 流动性 | agent_liquidity.md |
| 第 III 级 - 量价动态 | 订单失衡 | agent_order_imbalance.md |
| 第 III 级 - 量价动态 | 量价一致性 | agent_price_volume_coherence.md |
| 第 III 级 - 量价动态 | 量结构 | agent_volume_structure.md |
| 第 IV 级 - 价格-波动率行为 | 日线趋势 | agent_daily_trend.md |
| 第 IV 级 - 价格-波动率行为 | 滞后响应 | agent_lag_response.md |
| 第 IV 级 - 价格-波动率行为 | 区间波动率 | agent_range_vol.md |
| 第 IV 级 - 价格-波动率行为 | 反转 | agent_reversal.md |
| 第 IV 级 - 价格-波动率行为 | 波动率非对称 | agent_vol_asymmetry.md |
| 第 V 级 - 多尺度复杂性 | 回撤 | agent_drawdown.md |
| 第 V 级 - 多尺度复杂性 | 分形 | agent_fractal.md |
| 第 V 级 - 多尺度复杂性 | 羊群行为 | agent_herding.md |
| 第 VI 级 - 稳定性与机制门控 | 机制门控 | agent_regime_gating.md |
| 第 VI 级 - 稳定性与机制门控 | 稳定性 | agent_stability.md |
| 第 VII 级 - 几何与融合 | K 线形态 | agent_bar_shape.md |
| 第 VII 级 - 几何与融合 | 复合 | agent_composite.md |
| 第 VII 级 - 几何与融合 | 创造性 | agent_creative.md |
seven_level_agent_hierarchy/base_agent.md — 基础智能体提示词模板
占位符:{columns_desc}、{columns_num}、{factor_type}、{num_per_request}
这是通用生成模板。任务特定的智能体用自己的版本替换介绍与因子设计指引。
你是一名资深量化因子工程师。以下是输入 DataFrame 的模式以及 {columns_num} 个现有因子的列表:
{columns_desc}
输入 DataFrame 由**日频聚合因子**组成——即每一行代表给定股票单个交易日已聚合到日频的特征。
请生成 **{num_per_request} 个与现有因子不同**的、新颖且原创的量化因子函数。每个因子都应实现为一个完整的 Python 函数。
---
{{可选:当存在有效因子反馈时,包含 prompts/shared/effective_factor_analysis.md}}
---
{{可选:当存在无效因子反馈时,包含 prompts/shared/ineffective_factor_analysis.md}}
---
### 要求:
- 输入 `DataFrame` 具有 (date, ticker) 的 MultiIndex,并且已按 ticker 分组:
- 每个输入 `DataFrame` 是单只股票的时间序列。
- 输出:一个以 `(date, ticker)` 为索引的 `pd.Series`,其**名称与函数名相同**。
- 每个函数必须:
- 具有描述性的唯一名称:`factor_<逻辑>_<变换>_<窗口>_<字段>`。
- 包含清晰说明逻辑与公式的 docstring。
- 在预测能力与经济/金融可解释性之间取得平衡。
- 输出列名必须与函数名匹配。
- 简洁、精确且可读。
- 基于现有因子构建新的 alpha 因子。
---
### 因子设计指引:
我们鼓励你探索与 {factor_type} 相关的各种信号与技术,包括但不限于:
- [常用技术 / 示例类别的列表]
- [可能的交互或进阶想法的列表]
请勿将自己局限在简单公式或常见模式中。
希望你勇于创新,引入数学上更复杂或非常规的结构,并在合理的情况下组合多种概念。
目标是生成**具有预测性**、**稳健**且**具有经济可解释性**的因子,同时与现有因子**在结构上保持多样**。
---
### 可使用的预导入库(当前版本):
- `"np"`: import numpy as np (numpy 版本: 2.2.6)
- `"pd"`: import pandas as pd (pandas 版本: 2.2.3)
- `"stats"`: from scipy import stats (scipy 版本: 1.15.3)
- `"talib"`: import talib (talib 版本: 0.5.1)
- `"math"`: import math (内置模块)
编码指南:
- 确保代码稳健、高效且经过优化:
- 处理边界情况与异常(例如 NaN 值)。
- 尽量减少不必要的计算,并优先使用向量化操作(例如 pandas、numpy)。
- 确保数值稳定性。
- **严格规则:绝对禁止嵌套循环。**
- 你**绝不能**在另一个循环内部编写任何形式的循环。
- 禁止的模式包括但不限于:
- `for` 内嵌 `for`
- `while` 内嵌 `while`
- `for` 内嵌 `while`
- `while` 内嵌 `for`
- 任何嵌套的迭代结构均**被禁止**,无论缩进深度如何。
- **严格禁止**使用 `while True` 或任何可能无限循环的结构。
- 在 DataFrame 中进行筛选或赋值时,始终使用 `df_copy.loc[row_indexer, col_indexer] = value`。
- 代码应简洁、可维护,并能高效处理大型数据集:
- 使用描述性的变量名并尽量减少内存占用。
- 避免对大型 dataframe 创建不必要的副本。
---
### 输出格式规范:
- 不要使用 markdown(例如 ```python)
- 不要在函数外部添加解释或注释
- 每个函数必须包裹在:`<<function N>>` ... `<</function N>>`
- 所有生成的代码必须可执行且数值稳定。
- 始终在后续引用之前定义中间列(例如 df_copy['x'])。
- 返回的 Series **必须与函数名完全同名**。
- 每个函数应遵循以下格式:
<<function N>>
def factor_xyz(df):
"""解释逻辑。一个清晰的想法。简短公式。无冗余堆叠。"""
df_copy = df.copy()
# 因子计算
return df_copy['factor_xyz']
<</function N>>
seven_level_agent_hierarchy/agent_bar_shape.md — K 线形态智能体提示词模板
层级:第 VII 级 - 几何与融合
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频因子的**K 线几何与形态模式分析**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
请生成 **{num_per_request} 个新颖且原创的、基于 K 线形态的 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于提取 K 线几何、实体对称性与影线关系的紧凑数值表示。
避免简单的形态标签;设计连续且可解释的形态度量。
---
## 智能体特定因子设计指引
### 因子设计指引:K 线形态与几何
将 K 线几何转化为量化信号:
- 比率:(close−open)/(high−low)、(high−close)/(close−low) 等;
- 影线非对称或平衡指标;
- 实体对区间的归一化以及近期数日的持续性;
- 滚动几何稳定性或非对称性;
- 短期形态动量:K 线比例的最新趋势。
鼓励创造性与可解释性:利用现有因子推导平滑、有界、可微的函数。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_composite.md — 复合智能体提示词模板
层级:第 VII 级 - 几何与融合
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用现有特征的**复合因子构建与信息融合**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
请生成 **{num_per_request} 个新颖且原创的复合 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于将多个独立信号融合成连贯的复合体——强调协同、去噪与正交化。
避免简单的线性平均或求和。
---
## 智能体特定因子设计指引
### 因子设计指引:复合 Alpha 构建
通过结构化、可解释的变换融合信号:
- 趋势、成交量与区间特征的加权或波动率调整平均;
- 正交组合:去除冗余、放大正交内容;
- 机制加权复合体:基于波动率或流动性状态的动态权重;
- 融合前的稳健归一化(z-score 或排名缩放);
- 包含非线性组合项(例如乘积、比率),但保持紧凑。
追求优雅、极简的复合形式,具有互补的组成部分与清晰的经济直觉。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_crash_predictor.md — 崩盘预测器智能体提示词模板
层级:第 II 级 - 极端风险与脆弱性
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV 数据的**崩盘预测与脆弱性建模**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
输入 DataFrame 由**日频聚合的 OHLCV 数据**组成——每一行代表给定股票单个交易日已聚合到日频的特征。
请生成 **{num_per_request} 个新颖且原创的、具崩盘预测能力的 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于识别潜在崩盘的早期预警信号:波动率压缩、偏斜的价格运动、流动性快速撤离或脆弱状态的累积。
避免标准的已实现波动率或成交量尖峰;转而以创造性、量化的方式表达不稳定性。
---
## 智能体特定因子设计指引
### 因子设计指引:崩盘预测特征发现
从 OHLCV 时间序列中检测崩盘前兆或不稳定信号:
- 量价同步异常(例如,成交量上升 + 价格停滞);
- 波动率压缩后接微扩张(能量累积);
- 大幅突破前小区间 K 线的聚集;
- 不稳定度评分:已实现波动率衰减与流动性下降的比率;
- 短窗口内的累积偏斜或偏差(持续向某一侧漂移)。
发挥想象力:将潜在脆弱性或崩盘前兆表示为结构性失衡,
而非显式回撤。强调非线性累积、不稳定非对称性,或机制崩塌前可检测到的“崩塌前”节律。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_creative.md — 创造性智能体提示词模板
层级:第 VII 级 - 几何与融合
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是专注于从现有因子构建非线性与重参数化 alpha 特征的**创造性变换设计师**。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
请生成 **{num_per_request} 个新颖且原创的创造性变换 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
你的目标是将现有信息变换、扭曲或重塑成新的、富有表现力的信号。避免简单地重新组合旧公式;重新构想 OHLCV 数据中的潜在关系。
---
## 智能体特定因子设计指引
### 因子设计指引:创造性变换
探索非常规但可解释的映射:
- 应用平滑有界变换:tanh、sigmoid、softsign、softplus;
- 波动率与动量分量的非线性混合;
- 条件性重加权因子:乘以稳定性或趋势状态;
- 分段或门控变换:在特定机制下放大信号;
- 创造性归一化:除以历史 MAD 或波动率代理。
设计紧凑、可微的表达式,产生新颖的响应曲面——既原创又可解释且数值稳定。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_daily_trend.md — 日线趋势智能体提示词模板
层级:第 IV 级 - 价格-波动率行为
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用 OHLCV 时间序列的**日线趋势与动量持续性建模**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
输入 DataFrame 由**日频聚合的 OHLCV 数据**组成——每一行代表给定股票单个交易日的特征。
请生成 **{num_per_request} 个新颖且原创的、基于日线趋势的 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于多日方向强度、动量衰减与趋势耗尽。避免标准指标;转而发明紧凑、可解释的持续性与延续形式。
---
## 智能体特定因子设计指引
### 因子设计指引:日线趋势与动量
探索持续运动或方向一致性:
- 多日动量比率(例如,滚动累计收益强度);
- 使用短窗口与长窗口收益的趋势加速或减速;
- 持续性指标:连涨/连跌长度、direction_sign 的 EMA;
- 动量耗尽或饱和检测(趋势减弱);
- 趋势相对波动率的归一化相对强度。
鼓励原创性——定义新颖的持续性形式、平滑过渡或与基础 MA 交叉想法不同的非对称响应。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_drawdown.md — 回撤智能体提示词模板
层级:第 V 级 - 多尺度复杂性
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV 数据的**回撤与恢复路径建模**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
每一行代表一只股票的一个交易日 OHLCV 数据。
请生成 **{num_per_request} 个新颖且原创的、基于回撤的 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于亏损与恢复的几何形态——回撤的形成与化解有多快、多深、多持久。避免简单的 max-min 度量;强调对回撤行为的结构性理解。
---
## 智能体特定因子设计指引
### 因子设计指引:回撤动态
设计风险路径与韧性的紧凑、可解释表示:
- 滚动回撤深度与恢复比率;
- 局部高点到谷底的斜率按持续期归一化;
- 回撤波动率或“回撤速度”代理;
- 回撤与反弹速度之间的非对称性;
- 恢复触发前累计亏损的衰减。
保持公式简短(1–3 步)、稳定,且仅使用 OHLCV。突出时间非对称性与韧性强度,而非静态亏损幅度。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_fractal.md — 分形智能体提示词模板
层级:第 V 级 - 多尺度复杂性
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV 数据的**分形与多尺度复杂性建模**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
每一行代表一只股票的一个交易日 OHLCV 数据。
请生成 **{num_per_request} 个新颖且原创的、分形复杂度 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于价格动态中的不规则性、标度行为与长记忆结构。避免显式计算 Hurst 指数;转而寻找表达自相似性或结构复杂性的简单、可微代理。
---
## 智能体特定因子设计指引
### 因子设计指引:分形与多尺度行为
为跨尺度的复杂性与持续性推导紧凑代理:
- 多窗口波动率比率(短与长视野的可变性);
- 方差之方差或波动率粗糙度评分;
- 不同滚动区间或 std 窗口之间的局部标度斜率;
- 振荡频率:去趋势收益中的过零次数;
- 持续性指数:归一化的累计符号一致性。
鼓励概括粗糙度、自相似性或时间不规则性的创造性构造。
仅使用 OHLCV 与简单滚动统计;保持输出稳定且可解释。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_herding.md — 羊群行为智能体提示词模板
层级:第 V 级 - 多尺度复杂性
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频因子的**羊群行为与拥挤模式建模**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
请生成 **{num_per_request} 个新颖且原创的、羊群行为 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于从现有因子推断的集体、同步市场反应或过度拥挤的方向性趋同。
避免字面意义上的“投资者情绪”代理;转而通过统计收敛或单向参与动态来表达羊群行为。
---
## 智能体特定因子设计指引
### 因子设计指引:羊群与拥挤行为
量化对齐与过度集中效应:
- 拥挤强度:方向持续性与波动率离散度的比率;
- 参与失衡:持续同号动量 + 成交量聚集;
- 符号收益的自相关作为同步交易的代理;
- 统一方向流动期间的波动率收窄;
- 去羊群爆发:从紧密到分散运动的突变。
鼓励概念深度:将集体行为转化为拥挤、过度反应或过早共识的数值代理——全部从现有因子推断。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_lag_response.md — 滞后响应智能体提示词模板
层级:第 IV 级 - 价格-波动率行为
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV 的**滞后量价响应与延迟调整建模**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
每一行代表一只股票的一个交易日 OHLCV 数据。
请生成 **{num_per_request} 个新颖且原创的、滞后响应 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于惯性、延迟与反馈效应——价格以滞后方式对先前冲击作出反应。避免琐碎的移动平均。
---
## 智能体特定因子设计指引
### 因子设计指引:滞后动态
揭示延迟效应与反馈回路:
- 价格与成交量之间的滞后相关性或符号化冲击;
- 响应延迟:衡量当前收益如何与过去波动率或区间相关;
- 慢调整代理:累计偏差的平滑变化率;
- 波动率-趋势相位错配指标;
- 捕捉惯性的衰减率估计量。
偏好对延迟信息流或部分均值调整的紧凑、可解释表示。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_liquidity.md — 流动性智能体提示词模板
层级:第 III 级 - 量价动态
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV 的**流动性与交易成本**建模专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
输入 DataFrame 由**日频聚合的 OHLCV 数据**组成——每一行代表给定股票单个交易日的特征。
请生成 **{num_per_request} 个新颖且原创的、流动性导向的 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
旨在反映仅由 OHLCV 隐含的交易摩擦、市场深度与价格冲击敏感度。鼓励创造性、紧凑的构造,而非通用配方。
---
## 智能体特定因子设计指引
### 因子设计指引:流动性与冲击
从多个角度探索流动性,结合价格变动与活跃度:
- 冲击直觉:每单位活跃度(成交量或美元化代理)产生的价格变动幅度;
- 参与度与拥挤度:换手强度、其变异性,以及稀疏/充裕流动性状态的持续性;
- 冲击吸收:尖峰/枯竭后流动性的恢复速度;
- 尺度与归一化:按价格水平/区间稳定,并仅在需要时使用温和的有界处理(clip/tanh);
- 机制感知(软性):让特征在压缩与扩张区间中以不同方式响应。
保持公式简短(1–3 步)、数值安全(必要时加 ε),并严格基于 OHLCV。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_market_cycle.md — 市场周期智能体提示词模板
层级:第 I 级 - 市场结构与周期
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV 数据的**市场周期与阶段状态建模**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
输入 DataFrame 由**日频聚合的 OHLCV 数据**组成——每一行代表给定股票单个交易日已聚合到日频的特征。
请生成 **{num_per_request} 个新颖且原创的、市场周期导向的 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
尝试揭示价格–波动率结构中隐藏的周期性、节律或交替阶段。
避免简单的移动平均交叉或标准趋势指标;寻求更高层次的时间动态。
---
## 智能体特定因子设计指引
### 因子设计指引:市场周期探索
从 OHLCV 序列中研究周期性或相位移动模式:
- 收益或 log(price) 的平滑变换以揭示周期性振荡;
- 短期与长期平滑价格信号之间的相位差;
- 累计收益或 EMA 轨迹的归一化曲率;
- 交替的波动率压缩/扩张被解释为“周期转折”;
- 动态幅度度量(例如,收益中短/长能量的比率)。
鼓励创造力:发现超越常规移动平均的周期性能量、隐藏谐波或状态振荡的替代表示。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_order_imbalance.md — 订单失衡智能体提示词模板
层级:第 III 级 - 量价动态
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV(无 L2、无 VWAP)的**订单失衡与方向性压力**建模专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
输入 DataFrame 由**日频聚合的 OHLCV 数据**组成——每一行代表给定股票单个交易日的特征。
请生成 **{num_per_request} 个新颖且原创的、订单失衡 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
从价格方向与活跃度代理的角度思考单向参与与压力持续性。保持设计紧凑且稳健。
---
## 智能体特定因子设计指引
### 因子设计指引:从 OHLCV 推断方向性压力
在没有微观结构数据的情况下推断买卖压力:
- 方向 × 强度:将收益或 (close−open) 与标准化成交量/换手率耦合;
- 缺口知情压力:将隔夜方向与当日活跃度及收盘位于区间的位置关联;
- 持续性与衰减:平滑的失衡连涨/连跌及其衰减轮廓;
- 非对称性:当区间压缩/扩张时,对正压与负压区别对待;
- 护栏:按区间或价格·成交量尺度归一化;仅在必要时应用软有界处理。
优先考虑可解释性与稳定性;每个因子保持 1–3 个连贯步骤,仅使用 OHLCV。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_price_volume_coherence.md — 量价一致性智能体提示词模板
层级:第 III 级 - 量价动态
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是日频 OHLCV 时间序列的**量价一致性**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
输入 DataFrame 由**日频聚合的 OHLCV 数据**组成——每一行代表给定股票单个交易日的特征。
请生成 **{num_per_request} 个新颖且原创的、量价一致性 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
寻求价格变动与活跃度之间对齐、背离与领先–滞后的特征。偏好简洁、创新的构造,而非标准相关性。
---
## 智能体特定因子设计指引
### 因子设计指引:一致性 与 领先–滞后
捕捉价格与活跃度如何一同运动(或未能如此):
- 同步性:收益与 Δlog(volume) 之间共同运动的紧凑度量;
- 领先–滞后:简单的滞后关联(价格跟随活跃度,或活跃度跟随价格);
- 稳定性:一致性幅度的平滑量以及其在邻近子窗口间的变异性;
- 背离:突出价格大幅变动而活跃度低迷的时段(反之亦然);
- 归一化:基于区间或 z 的稳定化以确保时间上的可比性。
保持公式极简(1–3 步)、数值稳定,且仅使用 OHLCV。鼓励新颖但仍可解释的“一致性”定义。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_range_vol.md — 区间波动率智能体提示词模板
层级:第 IV 级 - 价格-波动率行为
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV 数据的**基于区间的波动率与价格扩张建模**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
每一行代表一只股票的一个交易日 OHLCV 数据。
请生成 **{num_per_request} 个新颖且原创的、区间波动率 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于价格区间的动态、压缩/扩张循环与日内能量累积。避免照搬经典的 Parkinson 或 Garman-Klass 波动率。
---
## 智能体特定因子设计指引
### 因子设计指引:基于区间的波动率
创造性地量化和解释区间变异性:
- 归一化区间变化:(high−low)/prev_range 或对数比率形式;
- 滚动区间熵或压缩评分;
- 波动能量累积:区间扩张与近期 std(price) 的比率;
- 非对称性:实体对区间比率、上/下影线偏差;
- 爆发检测:持续低区间后接扩张。
寻求数值稳定、平滑、可解释的构造,揭示波动节律与扩张循环。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_regime_gating.md — 机制门控智能体提示词模板
层级:第 VI 级 - 稳定性与机制门控
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV 数据的**机制门控与自适应信号激活**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
每一行代表一只股票的一个交易日 OHLCV 数据。
请生成 **{num_per_request} 个新颖且原创的、机制门控 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
你的目标是对信号的条件激活建模——其中因子强度或相关性取决于波动率、趋势或流动性机制。
避免静态过滤器;转而设计自适应的门控,根据机制变化动态缩放或调制因子敏感性。
---
## 智能体特定因子设计指引
### 因子设计指引:机制门控机制
发现简单而强大的、适应市场条件的门控函数:
- 波动率敏感门控:按归一化波动率水平缩放信号强度;
- 趋势感知门控:仅在方向持续性超过阈值时激活;
- 流动性门控:在极低成交量下抑制信号;
- 非对称门控:在牛市与熊市微状态中作出不同响应;
- 软过渡:使用连续缩放(sigmoid/tanh)确保平滑适应性。
鼓励创造性的激活设计:紧凑的函数,根据状态上下文“开启/关闭”现有 OHLCV 派生信号,而不依赖未来数据。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_reversal.md — 反转智能体提示词模板
层级:第 IV 级 - 价格-波动率行为
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV 的**均值回归与短期反转**建模专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
每一行代表一只股票的一个交易日 OHLCV 数据。
请生成 **{num_per_request} 个新颖且原创的、基于反转的 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于通常会回归的暂时性错误定价、过度延伸或短期价格/成交量失衡。避免教科书式的 z-score 公式;创建新颖、简洁的反转结构。
---
## 智能体特定因子设计指引
### 因子设计指引:反转与均值回归
检测过度反应与消退中的趋势:
- 按近期波动率归一化的短期收益过度延伸;
- 区间突破或延伸连涨/连跌后的反转;
- 价格偏离平滑基线并带回归评分;
- 成交量/波动率爆发枯竭或“回弹”现象;
- 强调转折点的紧凑振荡度量。
使用短视野(3–10 天),保持数值稳定,并偏好可解释、少步骤的公式。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_stability.md — 稳定性智能体提示词模板
层级:第 VI 级 - 稳定性与机制门控
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV 数据的**信号与收益稳定性分析**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
每一行代表一只股票的一个交易日 OHLCV 数据。
请生成 **{num_per_request} 个新颖且原创的、基于稳定性的 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于价格动态的持续性、噪声过滤与稳健性。
避免琐碎的方差度量;转而量化收益、区间或派生信号的时间一致性与结构平滑度。
---
## 智能体特定因子设计指引
### 因子设计指引:时间稳定性与一致性
构建可预测性、连续性或韧性的度量:
- 短期与长期窗口之间的滚动方差比率;
- 趋势或波动率的“平滑度”(增量变化均值与标准差之比);
- 符号变化频率(方向稳定性指数);
- 波动率之波动率(元波动率)衰减;
- 强调平稳 vs 混乱行为的归一化稳定性度量。
鼓励可解释性与数值稳健性:定义表达底层动态是否稳定、持续或无常的紧凑指标——仅使用 OHLCV 输入。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_tail_risk.md — 尾部风险智能体提示词模板
层级:第 II 级 - 极端风险与脆弱性
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV 数据的**尾部风险与下行敏感性建模**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
输入 DataFrame 由**日频聚合的 OHLCV 数据**组成——每一行代表给定股票单个交易日已聚合到日频的特征。
请生成 **{num_per_request} 个新颖且原创的、基于尾部风险的 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于检测风险非对称性、肥尾动态与下行聚集模式。
避免琐碎的波动率度量;转而捕捉负面冲击如何在数日间传播或累积。
---
## 智能体特定因子设计指引
### 因子设计指引:尾部风险 Alpha 构建
对收益与价格波动率的非对称或非高斯行为建模:
- 低部部分矩、下行偏差或半方差代理;
- 回撤持续性与恢复强度;
- 通过高分位数偏差或指数加权衡量尾部厚度;
- 大幅下行前的收益压缩(波动率挤压);
- 上行与下行波动率之间的动态偏度或非对称性。
鼓励创新:创建可解释、数值稳定的度量,反映对巨大亏损的脆弱性、极端收益聚集或标准波动率/贝塔指标中看不到的非对称压力累积。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_vol_asymmetry.md — 波动率非对称智能体提示词模板
层级:第 IV 级 - 价格-波动率行为
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV 数据的**波动率非对称与方向性方差偏差**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
每一行代表一只股票的一个交易日 OHLCV 数据。
请生成 **{num_per_request} 个新颖且原创的、波动率非对称 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于检测上涨与下跌之间不平等的波动率行为、方向性聚集与非对称波动率冲击。
---
## 智能体特定因子设计指引
### 因子设计指引:波动率非对称
量化正负移动波动率之间的差异:
- 分别计算上涨日与下跌日的已实现波动率;
- 符号化区间非对称:(high−close) vs (close−low);
- 基于归一化方向区间的偏态类比率;
- 收益与亏损波动率的滚动对比;
- 条件扩张:波动率仅在特定价格极性下增加。
保持构造简短、稳健且有界;在 OHLCV 中突出非线性非对称性与波动率聚集结构。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_volatility_regime.md — 波动率机制智能体提示词模板
层级:第 I 级 - 市场结构与周期
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV 数据的**波动率机制与状态转换建模**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
输入 DataFrame 由**日频聚合的 OHLCV 数据**组成——每一行代表给定股票单个交易日已聚合到日频的特征。
请生成 **{num_per_request} 个新颖且原创的、基于波动率机制的 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于识别平静与动荡机制之间的平滑转换、波动率聚集与机制持续性模式。
避免简单的已实现波动率度量;旨在揭示潜在状态动态与机制持久性。
---
## 智能体特定因子设计指引
### 因子设计指引:波动率机制发现
仅使用 OHLCV 信息表征波动率机制:
- 短期与长期真实区间或已实现波动率之比;
- 高/低波动率状态的持续性(例如,波动率指标的 EMA);
- 波动率之波动率及其加速或减速;
- 区间变化的熵或平滑度以检测转换;
- 归一化波动率压力评分:(short_vol - long_vol)/(short_vol + long_vol + ε)。
寻求机制转换的创造性编码:平滑连续的状态评分、波动率相位转换或不同于传统 ATR 指标的前转换累积指标。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
seven_level_agent_hierarchy/agent_volume_structure.md — 量结构智能体提示词模板
层级:第 III 级 - 量价动态
占位符:{columns_desc}、{columns_num}、{forecast_horizon}、{num_per_request}
源仓库包含 1 天、10 天和 30 天变体。此公开模板使用 {forecast_horizon} 来覆盖这些重复变体。
## 智能体特定介绍
你是使用日频 OHLCV 的**成交量结构与分布动态**专家。
以下是输入 DataFrame 的模式以及 {columns_num} 个现有**日频因子**的列表:
{columns_desc}
输入 DataFrame 由**日频聚合的 OHLCV 数据**组成——每一行代表给定股票单个交易日的特征。
请生成 **{num_per_request} 个新颖且原创的、量结构 alpha 因子函数**,用于预测 **{forecast_horizon} 日**的前向收益。
专注于成交量随时间变化的形状、集中度、变异性与组织(而非价格本身)。鼓励创造性、简约的公式。
---
## 智能体特定因子设计指引
### 因子设计指引:量的形状与组织
描述交易活跃度如何分布与演变:
- 集中度 vs 离散度:成交量集中、不均或聚集的紧凑代理;
- 突发性:相对稳健基线的尖峰频率与强度;
- 非对称与尾部:带稳定化的简单偏度/峰度类指标;
- 多视野组织:短与长活跃度平衡及其持续性;
- 卫生性:稳健缩放(中位数/IQR)、需要时温和裁剪,以及有限步公式。
仅使用 OHLCV;力求可解释、低复杂度的函数,揭示参与的结构与节律。
---
## 共享模块
追加 `prompts/shared/requirements.md`、`prompts/shared/libraries_and_coding_guidelines.md` 与 `prompts/shared/output_format.md`。当存在运行时反馈时,添加有效/无效因子分析模块。
多智能体质量检查器(multi_agent_quality_checker/)
多智能体质量检查器在初始生成后提高所生成因子代码的可靠性。这些提示词检查代码质量、修复执行失败、评判因子在逻辑上是否有效,并提出有针对性的改进。
组成部分
- 代码质量智能体 审查所生成的因子代码的正确性、可读性、稳健性以及对提示词约束的符合程度。
- 代码修复智能体 在保持原始因子意图的同时修复运行时或语法失败。
- 评判智能体 评估所生成的因子是否有意义、可执行、并符合预期的 alpha 挖掘任务。
- 逻辑优化智能体 将薄弱或定义不充分的因子逻辑改写为更清晰、更具金融依据的版本。
用法
使用 prompts/shared/system_message.md 作为系统消息。每个质量检查器模板都是一个完整的用户提示词:
code_quality_agent.md:用单个候选因子函数填充{code}。code_repair_agent.md:在因子执行失败后用{columns_num}、{columns_desc}、{old_code}与{error}填充。judge_agent.md:填充候选因子与所请求的评判上下文。logic_improvement_agent.md:填充应改进的因子逻辑或代码。
这些提示词通常在生成或进化步骤之后运行,在因子进入后续评估之前。
模板
| 智能体 | 模板 |
|---|---|
| 代码质量智能体 | code_quality_agent.md |
| 代码修复智能体 | code_repair_agent.md |
| 评判智能体 | judge_agent.md |
| 逻辑优化智能体 | logic_improvement_agent.md |
multi_agent_quality_checker/code_quality_agent.md — 代码质量智能体提示词模板
占位符:{code}
你是量化 alpha 因子的代码审查员。你的任务是针对以下问题审查所给的 Python 代码(代表一个因子函数):
1. **语法错误**(Python 语法与运行时问题)。
2. **Pandas 特有 issues**,包括:
- 链式索引或 `SettingWithCopyWarning`
- 修改 DataFrame 时缺少 `.copy()`
- 使用未定义的中间变量
- 错误或模糊的索引
3. **输出格式与命名**:
- 返回的 Series **必须与函数名完全同名**
- 所有中间列必须在被使用之前定义
- 代码必须**数值稳定**(尽可能避免 inf、NaN 传播)
- 在 DataFrame 中进行筛选或赋值时,始终使用 `df_copy.loc[row_indexer, col_indexer] = value`。
4. **循环结构约束**:
- **严格规则:绝对禁止嵌套循环。**
- 你**绝不能**在另一个循环内部编写任何形式的循环。
- 禁止的模式包括(但不限于):
- `for` 内嵌 `for`
- `while` 内嵌 `while`
- `for` 内嵌 `while`
- `while` 内嵌 `for`
- 任何嵌套的迭代结构(无论深度)均**被禁止**。
- **严格禁止**使用 `while True` 或任何可能无限循环的结构。
- 若存在此类模式,请将审查标记为 **FAIL**,清楚解释该问题,并建议向量化替代方案(NumPy/Pandas 操作、`groupby`/`transform`/`rolling`、有界的 `apply`,或在 `itertools.product` 辅助下不引入嵌套的单层迭代)。
<<function>>
{code}
<</function>>
### 硬性复杂度约束(必须遵循)
记住:**简单因子往往最强大、最稳定。**
- 单一主题,最简路径:每个因子必须代表一个清晰的想法。
- 硬性上限:逻辑步骤总数绝不超 5 步,且若超过 3 步,docstring 必须论证每个额外步骤的必要性。
- 无冗余/嵌套:禁止堆叠或装饰性变换(例如 `zscore(zscore(x))`、`rank(rank(x))`、无理由的深层 EMA 链)。
- 无主题混合:不要组合不相关的想法。
- 避免嵌套或分层操作。
- 避免不必要的复杂性或逻辑堆叠。
### 代码格式规范:
- 输入 `DataFrame` 具有 (date, ticker) 的 MultiIndex,并且已按 ticker 分组:
- 每个输入 `DataFrame` 是单只股票的时间序列。
- 输出:一个以 `(date, ticker)` 为索引的 `pd.Series`,其**名称与函数名相同**。
- 在生成代码之前,提供如何修复所提出问题的详细说明。
- 不要使用 markdown(例如 ```python)
- 不要在函数外部添加解释或注释
- 每个函数必须包裹在:`<<function N>>` ... `<</function N>>`
- 所有生成的代码必须可执行且数值稳定。
- 始终在后续引用之前定义中间列(例如 df_copy['x'])。
- 返回的 Series 必须与函数名完全匹配。
### 因子设计指引
- 专注于捕捉所分配主题的核心直觉。
- 确保逻辑可解释、稳健,并可在几步内实现。
- 偏好干净、可泛化的公式,而非高度工程化的构造。
- 每个因子应可用简短公式表达,或 ≤ 5 个逻辑步骤。
- 在简单性与预测潜力之间取得平衡:避免琐碎重复,也避免不必要的复杂性。
- **严格规则:绝对禁止嵌套循环。**
- 你**绝不能**在另一个循环内部编写任何形式的循环。
- 禁止的模式包括但不限于:
- `for` 内嵌 `for`
- `while` 内嵌 `while`
- `for` 内嵌 `while`
- `while` 内嵌 `for`
- 任何嵌套的迭代结构均**被禁止**,无论缩进深度如何。
- **严格禁止**使用 `while True` 或任何可能无限循环的结构。
### 输出格式规范:
- 候选者应严格遵守硬性复杂度约束。
- 每个函数应遵循以下格式:
<<function N>>
def factor_xyz(df):
"""解释逻辑。一个清晰的想法。简短公式。无冗余堆叠。"""
df_copy = df.copy()
# 因子计算
return df_copy['factor_xyz']
<</function N>>
### 请严格按以下格式作答:
- 你**必须**以以下两行之一开始你的输出(前后无额外文本):
- `The code is correct.`
- `The code needs some adjustments.`
- 若代码正确,在该行后停止。
- 若代码需要调整:
1. 列出发现的每个问题(使用项目符号)。
2. 使用下述精确格式输出修正后的函数:
<<function N>>
def factor_xyz(df):
"""解释逻辑。一个清晰的想法。简短公式。无冗余堆叠。"""
df_copy = df.copy()
# 因子计算
return df_copy['factor_xyz']
<</function N>>
multi_agent_quality_checker/code_repair_agent.md — 代码修复智能体提示词模板
占位符:{columns_desc}、{columns_num}、{error}、{old_code}
你是资深交互因子工程师。以下是输入 DataFrame 的模式以及 {columns_num} 个现有因子的列表:
{columns_desc}
你只能使用这些列进行计算。**请勿使用此处未列出的任何其他列**。
以下 Python 函数执行失败。你的任务是修正该函数,使其可执行且数值稳定。
### 硬性复杂度约束(必须遵循)
记住:**简单因子往往最强大、最稳定。**
- 单一主题,最简路径:每个因子必须代表一个清晰的想法。
- 硬性上限:逻辑步骤总数绝不超 5 步,且若超过 3 步,docstring 必须论证每个额外步骤的必要性。
- 无冗余/嵌套:禁止堆叠或装饰性变换(例如 `zscore(zscore(x))`、`rank(rank(x))`、无理由的深层 EMA 链)。
- 无主题混合:不要组合不相关的想法。
- 避免嵌套或分层操作。
- 避免不必要的复杂性或逻辑堆叠。
---
### 原始函数:
<<faulty code>>
{old_code}
<</faulty code>>
---
### 运行时错误信息:
{error}
---
### 要求:
- 输入 `DataFrame` 具有 (date, ticker) 的 MultiIndex,并且已按 ticker 分组:
- 每个输入 `DataFrame` 是单只股票的时间序列。
- 输出:一个以 `(date, ticker)` 为索引的 `pd.Series`,其**名称与函数名相同**。
- 每个函数必须:
- 具有描述性的唯一名称:`factor_<逻辑>_<变换>_<窗口>_<字段>`。
- 包含清晰说明逻辑与公式的 docstring。
- 在预测能力与经济/金融可解释性之间取得平衡。
- 输出列名必须与函数名匹配。
- 简洁、精确且可读。
- 基于现有因子构建新的 alpha 因子。
### 因子设计指引
- 专注于捕捉所分配主题的核心直觉。
- 确保逻辑可解释、稳健,并可在几步内实现。
- 偏好干净、可泛化的公式,而非高度工程化的构造。
- 每个因子应可用简短公式表达,或 ≤ 5 个逻辑步骤。
- 在简单性与预测潜力之间取得平衡:避免琐碎重复,也避免不必要的复杂性。
---
### 修订说明:
- 仔细阅读错误信息。
- 提供如何修复所提出问题的详细说明。
- 相应修改函数以解决所指出问题。
- 若错误信息表明某列缺失、不存在于 DataFrame 中,或仅显示列名,则说明该列不在所提供因子中,不应使用。 你应该改用其他列,或创建一个逻辑相似的新函数。
- 若你认为所给函数问题过重而无法修复,可以创建新函数。
- 确保修订后的函数在经济上有意义、逻辑合理且结构良好。
- 你可以按需引入新的逻辑、变换或修正。
- 确保输出是以 (date, ticker) 为索引的 `pandas.Series`。
---
### 可使用的预导入库(当前版本):
- `"np"`: import numpy as np (numpy 版本: 2.2.6)
- `"pd"`: import pandas as pd (pandas 版本: 2.2.3)
- `"stats"`: from scipy import stats (scipy 版本: 1.15.3)
- `"talib"`: import talib (talib 版本: 0.5.1)
- `"math"`: import math (内置模块)
编码指南:
- 确保代码稳健、高效且经过优化:
- 处理边界情况与异常(例如 NaN 值)。
- 尽量减少不必要的计算,并优先使用向量化操作(例如 pandas、numpy)。
- 确保数值稳定性。
- **严格规则:绝对禁止嵌套循环。**
- 你**绝不能**在另一个循环内部编写任何形式的循环。
- 禁止的模式包括但不限于:
- `for` 内嵌 `for`
- `while` 内嵌 `while`
- `for` 内嵌 `while`
- `while` 内嵌 `for`
- 任何嵌套的迭代结构均**被禁止**,无论缩进深度如何。
- **严格禁止**使用 `while True` 或任何可能无限循环的结构。
- 在 DataFrame 中进行筛选或赋值时,始终使用 `df_copy.loc[row_indexer, col_indexer] = value`。
- 代码应简洁、可维护,并能高效处理大型数据集:
- 使用描述性的变量名并尽量减少内存占用。
- 避免对大型 dataframe 创建不必要的副本。
---
### 输出格式规范:
- 候选者应严格遵守硬性复杂度约束。
- 在生成代码之前,提供如何修复所提出问题的详细说明。
- 不要使用 markdown(例如 ```python)
- 不要在函数外部添加解释或注释
- 每个函数必须包裹在:`<<function N>>` ... `<</function N>>`
- 所有生成的代码必须可执行且数值稳定。
- 始终在后续引用之前定义中间列(例如 df_copy['x'])。
- 返回的 Series **必须与函数名完全同名**。
- 每个函数应遵循以下格式:
<<function N>>
def factor_xyz(df):
"""解释逻辑。一个清晰的想法。简短公式。无冗余堆叠。"""
df_copy = df.copy()
# 因子计算
return df_copy['factor_xyz']
<</function N>>
multi_agent_quality_checker/judge_agent.md — 评判智能体提示词模板
占位符:{new_factor_code}
你是专业因子研究团队的资深量化研究员与 alpha 因子评审员。
你被要求评估以下**新生成的 alpha 因子函数**,以判断其是否有潜力纳入研究因子库。
你的工作不是评估绩效指标,而是判断该因子在逻辑、技术与经济上是否足够健全,值得进一步测试。
你的评估应聚焦于**实际健全性(Practical Soundness)**,秉持专业心态:
1. 该因子是否存在任何**未来信息泄漏**?
2. 该因子计算**是否正确且内部一致**?
3. 该因子逻辑是否**具有经济可解释性**(即使是探索性或新颖的)?
4. 该因子是否避免明显的**错误**(例如无效操作、未受保护的除零、未定义结果)?
5. 该因子是否**实现高效**(避免不必要的循环、善用向量化操作,并适用于大规模回测)?
6. 该因子是否严格**避免任何嵌套循环或可能无限循环**?
- 嵌套循环在任何深度均**被禁止**:
- `for` 内嵌 `for`
- `while` 内嵌 `while`
- `for` 内嵌 `while`
- `while` 内嵌 `for`
- **禁止**使用 `while True` 或任何可无限运行的循环。
---
### 待评审因子:
<<function>>
{new_factor_code}
<</function>>
输入 DataFrame 具有 (date, ticker) 的 MultiIndex,并按 ticker 分组(即每只股票一个时间序列)。
每个输入 DataFrame 是单只股票的时间序列。
函数输出以 (date, ticker) 为索引的 pd.Series,名称与函数名相同。
**重要**:输入 DataFrame 按**时间顺序**排序,从顶部最早日期到底部最新日期。这对于评估基于时间序列的因子和避免信息泄漏至关重要。
---
### 评估指南:
- 对任何形式的**未来信息泄漏**,你**必须拒绝**——这是严重错误。
- 应拒绝存在**逻辑错误**、**数据问题**或**实现错误**的因子。
- 特别关注滚动均值、groupby 变换、移位或时间序列反转等操作:确保这些操作仅使用相对于每一行的过去与现在数据,绝不使用未来数据。
- 注意效率:避免不必要地缓慢的因子(例如不必要的循环、非向量化操作)——该因子应适用于在数百万条记录上进行大规模回测。
- 保持**开放心态**:即使是非常规的因子想法也可能值得探索。
- 若可改进,请提供清晰、具体、可执行的反馈。
- **严格禁止**在另一个 `for` 或 `while` 循环内部使用任何 `for` 或 `while` 循环,因为这表明在大型横截面数据集上可扩展性差、效率低下。
- 切勿使用 `while True` 或任何缺乏清晰有限终止条件的循环构造。
---
### 请严格按以下格式作答:
Practical Soundness: [简洁分析——哪些方面好,哪些需要改进,若有。]
Final Recommendation: Accept / Reject
Feedback for Improvement: [关于因子工程师如何改进该因子的精确建议——例如避免前视、改进计算、提高效率、厘清逻辑等。]
multi_agent_quality_checker/logic_improvement_agent.md — 逻辑优化智能体提示词模板
占位符:{columns_desc}、{columns_num}、{dynamic_feedback}、{old_code}
你是资深交互因子工程师。以下是输入 DataFrame 的模式以及 {columns_num} 个现有因子的列表:
{columns_desc}
你只能使用这些列进行计算。**请勿使用此处未列出的任何其他列**。
以下 Python 函数经过评审,**未通过逻辑健全性评估**。你的任务是修改并改进该函数,使其:
1. 具有经济与金融可解释性。
2. 在逻辑上符合金融原则。
3. 解决下方提供的具体反馈。
---
### 原始函数:
<<previous function>>
{old_code}
<</previous function>>
---
### 硬性复杂度约束(必须遵循)
记住:**简单因子往往最强大、最稳定。**
- 单一主题,最简路径:每个因子必须代表一个清晰的想法。
- 硬性上限:逻辑步骤总数绝不超 5 步,且若超过 3 步,docstring 必须论证每个额外步骤的必要性。
- 无冗余/嵌套:禁止堆叠或装饰性变换(例如 `zscore(zscore(x))`、`rank(rank(x))`、无理由的深层 EMA 链)。
- 无主题混合:不要组合不相关的想法。
- 避免嵌套或分层操作。
- 避免不必要的复杂性或逻辑堆叠。
---
### JudgeAgent 反馈(拒绝原因):
{dynamic_feedback}
---
### 要求:
- 输入 `DataFrame` 具有 (date, ticker) 的 MultiIndex,并且已按 ticker 分组:
- 每个输入 `DataFrame` 是单只股票的时间序列。
- 输出:一个以 `(date, ticker)` 为索引的 `pd.Series`,其**名称与函数名相同**。
- 每个函数必须:
- 具有描述性的唯一名称:`factor_<逻辑>_<变换>_<窗口>_<字段>`。
- 包含清晰说明逻辑与公式的 docstring。
- 在预测能力与经济/金融可解释性之间取得平衡。
- 输出列名必须与函数名匹配。
- 简洁、精确且可读。
- 基于现有因子构建新的 alpha 因子。
### 因子设计指引
- 专注于捕捉所分配主题的核心直觉。
- 确保逻辑可解释、稳健,并可在几步内实现。
- 偏好干净、可泛化的公式,而非高度工程化的构造。
- 每个因子应可用简短公式表达,或 ≤ 5 个逻辑步骤。
- 在简单性与预测潜力之间取得平衡:避免琐碎重复,也避免不必要的复杂性。
---
### 修订说明:
- 仔细阅读 JudgeAgent 反馈。
- 提供如何修复所提出问题的详细说明。
- 相应修改函数以解决所指出问题。
- 若你认为所给函数问题过重而无法修复,可以创建新函数。
- 确保修订后的函数在经济上有意义、逻辑合理且结构良好。
- 你可以按需引入新的逻辑、变换或修正。
- 确保输出是以 (date, ticker) 为索引的 `pandas.Series`。
---
### 可使用的预导入库(当前版本):
- `"np"`: import numpy as np (numpy 版本: 2.2.6)
- `"pd"`: import pandas as pd (pandas 版本: 2.2.3)
- `"stats"`: from scipy import stats (scipy 版本: 1.15.3)
- `"talib"`: import talib (talib 版本: 0.5.1)
- `"math"`: import math (内置模块)
编码指南:
- 确保代码稳健、高效且经过优化:
- 处理边界情况与异常(例如 NaN 值)。
- 尽量减少不必要的计算,并优先使用向量化操作(例如 pandas、numpy)。
- 确保数值稳定性。
- **严格规则:绝对禁止嵌套循环。**
- 你**绝不能**在另一个循环内部编写任何形式的循环。
- 禁止的模式包括但不限于:
- `for` 内嵌 `for`
- `while` 内嵌 `while`
- `for` 内嵌 `while`
- `while` 内嵌 `for`
- 任何嵌套的迭代结构均**被禁止**,无论缩进深度如何。
- **严格禁止**使用 `while True` 或任何可能无限循环的结构。
- 在 DataFrame 中进行筛选或赋值时,始终使用 `df_copy.loc[row_indexer, col_indexer] = value`。
- 代码应简洁、可维护,并能高效处理大型数据集:
- 使用描述性的变量名并尽量减少内存占用。
- 避免对大型 dataframe 创建不必要的副本。
---
### 输出格式规范:
- 候选者应严格遵守硬性复杂度约束。
- 在生成代码之前,提供如何修复所提出问题的详细说明。
- 不要使用 markdown(例如 ```python)
- 不要在函数外部添加解释或注释
- 每个函数必须包裹在:`<<function N>>` ... `<</function N>>`
- 所有生成的代码必须可执行且数值稳定。
- 始终在后续引用之前定义中间列(例如 df_copy['x'])。
- 返回的 Series **必须与函数名完全同名**。
- 每个函数应遵循以下格式:
<<function N>>
def factor_xyz(df):
"""解释逻辑。一个清晰的想法。简短公式。无冗余堆叠。"""
df_copy = df.copy()
# 因子计算
return df_copy['factor_xyz']
<</function N>>
思维进化(thinking_evolution/)
思维进化包含用于在代际间进化 alpha 因子想法的提示词。这些提示词帮助 CogAlpha 通过修改单个因子或重组多个因子想法来探索新候选者。
组成部分
- 变异智能体 通过改变现有因子的逻辑、变换、窗口或市场解释来创建其新变体。
- 交叉智能体 在不直接复制的情况下,将多个因子的有用想法组合成一个新候选者。
这些提示词共同支持对基于代码的 alpha 因子进行迭代搜索。
用法
使用 prompts/shared/system_message.md 作为系统消息。每个进化模板都是一个完整的用户提示词:
mutation_agent.md:填充{intro}、{extra_guidance}与{original_factor_code}。crossover_agent.md:填充{intro}、{extra_guidance}、{parent_factor_1_code}与{parent_factor_2_code}。
{intro} 应描述可用列与因子生成任务。{extra_guidance} 可包含当前智能体主题、成功/失败因子反馈或其他机制特定指引。
模板
| 智能体 | 模板 |
|---|---|
| 变异智能体 | mutation_agent.md |
| 交叉智能体 | crossover_agent.md |
thinking_evolution/crossover_agent.md — 交叉智能体提示词模板
占位符:{extra_guidance}、{intro}、{parent_factor_1_code}、{parent_factor_2_code}
你是擅长**因子进化与交叉设计**的资深量化因子工程师。
{intro}
### 硬性复杂度约束(必须遵循)
记住:**简单因子往往最强大、最稳定。**
- 单一主题,最简路径:每个因子必须代表一个清晰的想法。
- 硬性上限:逻辑步骤总数绝不超 5 步,且若超过 3 步,docstring 必须论证每个额外步骤的必要性。
- 无冗余/嵌套:禁止堆叠或装饰性变换(例如 `zscore(zscore(x))`、`rank(rank(x))`、无理由的深层 EMA 链)。
- 无主题混合:不要组合不相关的想法。
- 避免嵌套或分层操作。
- 避免不必要的复杂性或逻辑堆叠。
你的任务是通过**智能地组合以下两个父因子**来生成一个新的 alpha 因子:
---
### 父因子 1:
<<parent factor 1>>
{parent_factor_1_code}
<</parent factor 1>>
---
### 父因子 2:
<<parent factor 2>>
{parent_factor_2_code}
<</parent factor 2>>
---
### 设计目标:
- 在迈出下一步之前要有创意并深入思考。
- 创建一个融合两个父因子**核心洞见与信号**的新 alpha 因子。
- 在父因子之间引入有意义的**交互**(非线性的、动态的、横截面的、时间的)。
- 新因子应提供比任一父因子单独时**潜在更优的预测能力**与更丰富的结构。
- 避免简单的加性组合——转而设计**结构上新颖**的交互。
- 新因子必须保持可解释性,并具有清晰的金融直觉。
---
### 要求:
- 输入 `DataFrame` 具有 (date, ticker) 的 MultiIndex,并且已按 ticker 分组:
- 每个输入 `DataFrame` 是单只股票的时间序列。
- 输出:一个以 `(date, ticker)` 为索引的 `pd.Series`,其**名称与函数名相同**。
- 每个函数必须:
- 具有描述性的唯一名称:`factor_<逻辑>_<变换>_<窗口>_<字段>`。
- 包含清晰说明逻辑与公式的 docstring。
- 在预测能力与经济/金融可解释性之间取得平衡。
- 输出列名必须与函数名匹配。
- 简洁、精确且可读。
- 基于现有因子构建新的 alpha 因子。
---
### 因子设计指引
- 专注于捕捉所分配主题的核心直觉。
- 确保逻辑可解释、稳健,并可在几步内实现。
- 偏好干净、可泛化的公式,而非高度工程化的构造。
- 每个因子应可用简短公式表达,或 ≤ 5 个逻辑步骤。
- 在简单性与预测潜力之间取得平衡:避免琐碎重复,也避免不必要的复杂性。
---
{extra_guidance}
---
### 可使用的预导入库(当前版本):
- `"np"`: import numpy as np (numpy 版本: 2.2.6)
- `"pd"`: import pandas as pd (pandas 版本: 2.2.3)
- `"stats"`: from scipy import stats (scipy 版本: 1.15.3)
- `"talib"`: import talib (talib 版本: 0.5.1)
- `"math"`: import math (内置模块)
编码指南:
- 确保代码简洁、稳健、高效且经过优化:
- 处理边界情况与异常(例如 NaN 值)。
- 尽量减少不必要的计算,并优先使用向量化操作(例如 pandas、numpy)。
- 确保数值稳定性。
- **严格规则:绝对禁止嵌套循环。**
- 你**绝不能**在另一个循环内部编写任何形式的循环。
- 禁止的模式包括但不限于:
- `for` 内嵌 `for`
- `while` 内嵌 `while`
- `for` 内嵌 `while`
- `while` 内嵌 `for`
- 任何嵌套的迭代结构均**被禁止**,无论缩进深度如何。
- **严格禁止**使用 `while True` 或任何可能无限循环的结构。
- 代码应简洁、可维护,并能高效处理大型数据集:
- 使用描述性的变量名并尽量减少内存占用。
- 避免对大型 dataframe 创建不必要的副本。
---
### 输出格式规范:
- 候选者应严格遵守硬性复杂度约束。
- 不要使用 markdown(例如 ```python)
- 不要在函数外部添加解释或注释
- 每个函数必须包裹在:`<<function N>>` ... `<</function N>>`
- 所有生成的代码必须可执行且数值稳定。
- 始终在后续引用之前定义中间列(例如 df_copy['x'])。
- 返回的 Series **必须与函数名完全同名**
- 每个函数应遵循以下格式:
<<function N>>
def factor_xyz(df):
"""解释逻辑。一个清晰的想法。简短公式。无冗余堆叠。"""
df_copy = df.copy()
# 因子计算
return df_copy['factor_xyz']
<</function N>>
thinking_evolution/mutation_agent.md — 变异智能体提示词模板
占位符:{extra_guidance}、{intro}、{original_factor_code}
你是擅长**因子变异与优化**的资深量化因子工程师。
{intro}
### 硬性复杂度约束(必须遵循)
记住:**简单因子往往最强大、最稳定。**
- 单一主题,最简路径:每个因子必须代表一个清晰的想法。
- 硬性上限:逻辑步骤总数绝不超 5 步,且若超过 3 步,docstring 必须论证每个额外步骤的必要性。
- 无冗余/嵌套:禁止堆叠或装饰性变换(例如 `zscore(zscore(x))`、`rank(rank(x))`、无理由的深层 EMA 链)。
- 无主题混合:不要组合不相关的想法。
- 禁止嵌套 for 循环。
- 避免不必要的复杂性或逻辑堆叠。
你的任务是通过应用**智能变异**来生成以下 alpha 因子的改进版本:
---
### 原始因子:
<<original factor>>
{original_factor_code}
<</original factor>>
---
### 设计目标:
- 在迈出下一步之前要有创意并深入思考。
- 保留原始因子的**核心直觉**与信号。
- 应用有意义的**变异**以提升预测能力与稳健性。
- 可能的变异包括:
- 非线性变换(log、exp、rank、winsorization)
- 横截面归一化
- 时间窗口调整
- 与其他特征的交互
- 平滑或稳定性增强
- 添加交互项
- 变异后的因子应**与原始因子明显不同**,同时保持概念上的渊源。
- 变异后的因子仍应数学上有效且可解释。
---
### 要求:
- 输入 `DataFrame` 具有 (date, ticker) 的 MultiIndex,并且已按 ticker 分组:
- 每个输入 `DataFrame` 是单只股票的时间序列。
- 输出:一个以 `(date, ticker)` 为索引的 `pd.Series`,其**名称与函数名相同**。
- 每个函数必须:
- 具有描述性的唯一名称:`factor_<逻辑>_<变换>_<窗口>_<字段>`。
- 包含清晰说明逻辑与公式的 docstring。
- 在预测能力与经济/金融可解释性之间取得平衡。
- 输出列名必须与函数名匹配。
- 简洁、精确且可读。
- 基于现有因子构建新的 alpha 因子。
---
### 因子设计指引
- 专注于捕捉所分配主题的核心直觉。
- 确保逻辑可解释、稳健,并可在几步内实现。
- 偏好干净、可泛化的公式,而非高度工程化的构造。
- 每个因子应可用简短公式表达,或 ≤ 5 个逻辑步骤。
- 在简单性与预测潜力之间取得平衡:避免琐碎重复,也避免不必要的复杂性。
---
{extra_guidance}
---
### 可使用的预导入库(当前版本):
- `"np"`: import numpy as np (numpy 版本: 2.2.6)
- `"pd"`: import pandas as pd (pandas 版本: 2.2.3)
- `"stats"`: from scipy import stats (scipy 版本: 1.15.3)
- `"talib"`: import talib (talib 版本: 0.5.1)
- `"math"`: import math (内置模块)
编码指南:
- 确保代码简洁、稳健、高效且经过优化:
- 处理边界情况与异常(例如 NaN 值)。
- 尽量减少不必要的计算,并优先使用向量化操作(例如 pandas、numpy)。
- 确保数值稳定性。
- **严格规则:绝对禁止嵌套循环。**
- 你**绝不能**在另一个循环内部编写任何形式的循环。
- 禁止的模式包括但不限于:
- `for` 内嵌 `for`
- `while` 内嵌 `while`
- `for` 内嵌 `while`
- `while` 内嵌 `for`
- 任何嵌套的迭代结构均**被禁止**,无论缩进深度如何。
- **严格禁止**使用 `while True` 或任何可能无限循环的结构。
- 代码应简洁、可维护,并能高效处理大型数据集:
- 使用描述性的变量名并尽量减少内存占用。
- 避免对大型 dataframe 创建不必要的副本。
---
### 输出格式规范:
- 候选者应严格遵守硬性复杂度约束。
- 不要使用 markdown(例如 ```python)
- 不要在函数外部添加解释或注释
- 每个函数必须包裹在:`<<function N>>` ... `<</function N>>`
- 所有生成的代码必须可执行且数值稳定。
- 始终在后续引用之前定义中间列(例如 df_copy['x'])。
- 返回的 Series **必须与函数名完全同名**
- 每个函数应遵循以下格式:
<<function N>>
def factor_xyz(df):
"""解释逻辑。一个清晰的想法。简短公式。无冗余堆叠。"""
df_copy = df.copy()
# 因子计算
return df_copy['factor_xyz']
<</function N>>

浙公网安备 33010602011771号