跳到主要内容

AI 辅助原语策略开发

AI 可以帮助把一个模糊想法整理成可验证的策略假设、解释 DSL 结构、检查错误和比较历史证据。它不应该把历史 signal 直接变成用户订单,也不应该根据短期表现自动修改 Formal Portfolio。

先理解 authoring boundary​

MyInvestPilot 的策略 authoring 使用 canonical Strategy DSL:

Human / AI / Harness
-> canonical Strategy DSL
-> schema + symbol + semantic validation
-> deterministic Strategy Engine
-> replayable evidence

不要把 Engine 的 Master Portfolio Schema 当成 Agent Lab 的全部 authoring surface。它是完整引擎配置的 superset,可能包含内部或其他产品分支。Agent Lab 只能使用当前 MCP contract 和 canonical DSL;不 author arbitrary Python、TypeScript、Pine 或其他代码策略。

两种 AI 合同必须分开​

第一方 Worker strategy-generation AI​

第一方应用内的策略生成 Worker 是一个受限 authoring helper。它输出 strategy_definition fragment,用于表达交易策略本身:

  • 指标、特征、eligibility 和 signal;
  • target weight 或其他受支持的 DSL 节点;
  • 可被 schema 和 semantic contract 验证的结构。

这个 Worker 不选择 symbols,不决定 Portfolio identity,也不自动决定 capital strategy。它的 fragment 不能被理解为一个完整的 Agent Lab run envelope。

外部 Agent Lab Harness​

Codex、Claude、OpenCode 或其他外部 Harness 使用 Agent Lab 时,合同不同。Harness 必须先解析 canonical symbols,再构建完整的 Lab Portfolio config,并通过 MCP 校验和运行:

resolve canonical symbols
-> build complete Lab Portfolio envelope
name
description
symbols
market
currency
start / end
commission / execution assumptions
strategy_definition
compatible capital strategy
-> validate_strategy_config
-> create_lab_run
-> get_lab_run

也就是说,第一方 Worker 的输出是一个 strategy_definition fragment;外部 Agent Lab Harness 的输入必须是包含 research metadata、Universe、时间范围、执行假设、交易策略和兼容资金策略的完整 Lab Portfolio envelope。#76 的 Worker contract 和 #75 的外部 Harness contract 不能合并成一句“AI 只输出 strategy_definition”。

test_ 是一次性、未列出的研究 artifact,不写入 Formal Portfolio registry,也不会静默修改正在观察的 Portfolio。

知识路由​

Level 1:Agent Lab bootstrap​

会员做受控复杂研究时,从 Agent Lab bootstrap prompt 开始。它说明四个 MCP 工具、完整 Lab Portfolio envelope、READY / FAILED 语义和研究循环。

Level 2:紧凑 DSL 指南​

优先读取生成的 llm-quickstart.txt。它是外部 Agent 的压缩合同,包含结构约束、Cross-sectional 固定候选池规则和可验证示例。

Level 3:语义与能力​

只有在需要精确判断能力兼容性时,才读取引擎生成的:

它们补充 evaluation domain、输入输出语义、组合约束、capital capabilities 和产品限制。不要只从 schema 名称猜语义。

Level 4:精确 schema​

需要精确字段或参数时,再按需读取:

不要求 Agent 每次启动时把所有大型 JSON 一次性装入上下文。

推荐研究循环​

1. 写清一个研究问题和 hypothesis
2. 选择 baseline 和观察窗口
3. 解析 canonical symbols
4. 按需读取 DSL / manifest / semantics
5. 生成完整 Lab Portfolio config
6. validate_strategy_config
7. 修复结构化错误并重新验证
8. create_lab_run(使用唯一 idempotency key)
9. get_lab_run 直到 PENDING / READY / FAILED
10. 读取 summary、config、evidence 和限制
11. 比较 hypothesis 与证据
12. 停止,或只改变一个有意义的变量进行下一次实验

完整 Lab config 不只有 strategy_definition,还应包括研究元数据、symbols、市场、日期范围、交易成本和兼容的 capital strategy。外部 Harness 不应绕过 MCP 校验,也不应把实验结果升级成 Formal Portfolio。

一个 DSL fragment 示例​

下面只是第一方 Worker 或人工 authoring 可以产生的交易策略 fragment。它表达 RSI 与长期均线条件,不包含 symbols、Portfolio identity 或 capital strategy:

{
"trade_strategy": {
"indicators": [
{"id": "rsi", "type": "RSI", "params": {"period": 14}},
{"id": "sma200", "type": "SMA", "params": {"period": 200, "column": "Close"}},
{"id": "threshold_30", "type": "Constant", "params": {"value": 30}},
{"id": "threshold_70", "type": "Constant", "params": {"value": 70}}
],
"signals": [
{
"id": "rsi_oversold",
"type": "LessThan",
"inputs": [{"ref": "rsi"}, {"ref": "threshold_30"}]
},
{
"id": "rsi_overbought",
"type": "GreaterThan",
"inputs": [{"ref": "rsi"}, {"ref": "threshold_70"}]
},
{
"id": "price_above_ma",
"type": "GreaterThan",
"inputs": [{"column": "Close"}, {"ref": "sma200"}]
}
]
}
}

真正执行前仍需按当前 schema、manifest、semantics 和服务器 validation 补齐 contract 要求。RSI 30/70 只是研究输入,不是普遍有效的买卖边界。

固定候选池横截面​

Cross-sectional 策略和单标的时序图不是同一种执行契约。固定候选池的公共链条是:

Feature
-> Eligibility
-> RebalanceCadence
-> CrossSectionalRank
-> TopN
-> EqualWeight
-> RebalancingCapitalStrategy

当前边界包括:固定且有序的 1–10 个候选 symbols、长仓、低频日线数据、透明排名和普通 Portfolio Construction。没有 Dynamic Universe、历史成分恢复、做空、杠杆或 intraday ranking。

外部 Harness 仍然要生成完整 envelope;这里的链条只描述其中的 strategy_definition 和兼容 capital rule 语义。

回测与 SQL 诊断​

回测用于理解行为,不用于证明未来表现。至少同时查看:

  • 最大回撤、回撤持续时间和空仓;
  • 交易次数、费用、现金暴露和样本量;
  • 市场阶段、数据范围和执行假设;
  • 支持证据、反例、失败结果和仍然未知的部分。

如果需要诊断导出的 Portfolio 数据库,可以先区分表的职责:

  • trade_records:交易流水和买卖时点;
  • position_records:持仓随时间的变化;
  • net_values:净值、回撤和收益序列;
  • portfolio_status:组合摘要指标;
  • capital_records:资金注入、现金和资金规则;
  • benchmark_index:基准比较。

这些表能帮助 Agent 把 signal、holdings、cash 和 evidence 分开阅读。数据库字段和下载路径以当前产品 contract 为准,不能仅凭旧案例猜测。

迭代与失败处理​

“优化”只能是显式、受控的研究问题,不是短期表现差后的默认动作。先记录 baseline 和 hypothesis,只改变一个变量,再比较结果和失败区间。

先区分 schema / symbol / semantic validation error、执行失败、数据缺失和 hypothesis evidence。修复时只根据结构化错误和当前公开合同改动,不猜内部字段。

  • READY:实验完成并产出结果,不代表策略好;
  • FAILED:实验未完成,不代表研究假设被证伪;
  • PENDING:等待或执行中的临时状态。

如果问题需要改变 Formal Portfolio,应另走新的 Custom Portfolio 流程,不能把 test_ 重命名或静默升级。

与 MyInvestPilot Chat2Invest 的区别​

第一方 Chat2Invest 适合解释 Portfolio、signal、state、evidence 和文档,也可以帮用户整理 Strategy Intent。复杂的 DSL 研究执行应由会员自己的 Harness 通过 Agent Lab MCP 完成。

chat2invest.com 是独立国际化产品;Community 只用于讨论、反馈和支持,不是 Agent Lab 执行入口。

风险提示

AI 辅助开发只生成和解释历史模拟研究,不构成投资建议、收益承诺或真实账户交易指令。