用途
该技能用于让 AI 智能体执行特定的历史回测:使用 Alpaca CLI 加本地工作区代码,从用户给定的开始日期、结束日期和策略概念出发,产出确定性、可复现的回测结果。其定位是可复现的研究工作流,而非对策略在实盘市场中有效性的承诺。
整体流程为:策略想法 -> 形式化规则 -> 确认假设 -> CLI 拉取数据 -> 本地脚本 -> 工件 -> 报告。
主要能力
- 将用户的自由文本策略想法翻译为精确的数学规则,并在编写代码前向用户展示形式化解释(除非请求本身已足够精确)。
- 通过 Alpaca CLI 获取历史行情数据,支持 bars、quotes、trades、calendar、corporate actions,并保存原始 CLI 输出、按选定市场时段过滤、计算数据指纹。
- 在本地工作区内运行模拟,生成交易记录、权益曲线、基准对比等工件。
- 生成结构化运行文件夹与工件契约,包括 notes.md、strategy_spec.json、config.json、run.py、summary.json、report.md、trades.csv、round_trips.csv、equity.csv、benchmark_equity.csv、data_fingerprint.json、warnings.json、fee_source.json 等。
- 复用工作区内指纹匹配的既有数据与既有回测引擎或共享工具。
- 在对话中先给出“Teaching Five”:总回报对比基准、最大回撤、交易笔数、胜率、夏普比率对比基准,再补充年化回报、利润因子、已付费用、首笔与末笔交易、假设、数据指纹摘要、工件路径与主要注意事项。
- 可选的纸面前瞻验证包:纸面配置、策略运行时、风险限额、订单适配器与对账计划。
使用方式
前置条件:Alpaca CLI。可用 alpaca version 检查是否安装;通过 Go 安装使用 go install github.com/alpacahq/cli/cmd/alpaca@latest;macOS 或 Linux 配合 Homebrew 使用 brew install alpacahq/tap/cli。需确保二进制目录在 PATH 中,Go 安装通常为 ~/go/bin。CLI 命令应在本地工作区运行,以便访问 Alpaca 配置文件、环境变量、网络与已保存工件。
连接性与认证检查:回测前运行 alpaca doctor 验证 CLI 与凭据。认证失败时停止运行并展示可用登录帮助命令 alpaca profile login --help;交互式纸面设置用 alpaca profile login;API 密钥设置用 alpaca profile login --api-key;自动化场景推荐使用环境变量:
export ALPACA_API_KEY=PK... export ALPACA_SECRET_KEY=... export ALPACA_QUIET=1
不得打印密钥、提交到文件、写入报告或以暴露于 shell 历史的方式传递。可解析输出使用 --quiet,例如:
alpaca account get --quiet alpaca data bars --symbol SPY --start 2024-01-01 --end 2024-12-31 --timeframe 1Day --quiet
CLI 由 API 规范生成并可能演进,应优先使用当前 --help、--schema 与 alpaca doctor 输出,而非过时示例。
必需工作流:收集必需输入(开始日期、结束日期、策略概念或策略文件);收集或推断其余项(资产类别、标的或组合、时间框架、初始现金、头寸规模、数据源、复权模式、执行假设、基准);处理订单模拟、指标、分红、拆股、费用、滑点、价差、市场时段、日历与验证;将想法翻译为精确规则;除非请求已精确,先向用户展示形式化解释;检查工作区可复用数据、以往运行与既有工具;创建自包含运行文件夹;写入 notes.md、strategy_spec.json、config.json 与可读的运行专用脚本;通过 Alpaca CLI 获取历史数据并保存原始输出、过滤市场时段、计算数据指纹;运行本地模拟;写入工件;返回 Teaching Five、首末交易、假设、注意事项、数据指纹与工件路径。
运行文件夹命名示例:
runs/YYYY-MM-DD_symbol_strategy_timeframe/
适用场景
- 用户希望由 AI 智能体运行特定历史回测,并保留可审计的假设与工件。
- 需要将模糊策略想法形式化、确认后再实现的场景。
- 需要在同一工作区内复用数据并追踪运行血缘(如修改 RSI 阈值、填充模型、滑点、日期范围)的研究。
- 需要生成纸面前瞻验证交接包(仅在用户要求时)。
限制
该技能不承诺策略在实盘中有效。回测为假想历史模拟,不代表实际交易表现;回测结果不保证未来结果,并受行情数据质量、数据源选择、公司行动处理、费用、滑点、流动性、税费、执行假设与实现细节影响。内容仅用于研究与教育目的,不构成投资建议、推荐、要约或买卖证券、期权、加密货币等金融产品的招揽。所有投资均含风险,可能损失价值。
必须避免的行为包括:在信号生成中使用未来数据;未记录 same_bar 模型与警告即使用同 K 线决策与成交;隐藏执行假设;混用已复权 K 线与单独的拆股调整;假装模糊规则已完全指定;运行后丢弃生成代码;未经请求包含盘后时段数据;静默替换指标变体;将 open、close、high、low、VWAP 与报价衍生价格视为可互换的成交代理;在报告称日频夏普时用逐 K 线回报计算夏普;需要样本标准差(N-1)时使用总体标准差;历史回测中提交实盘订单;声称支持未支持的产品(期权需显式合约选择与成交逻辑);绕过 Alpaca CLI 改用直接 HTTP 调用;在无本地认证与文件系统访问的沙箱中运行 Alpaca CLI;实现偏离填充模型规则而未在 notes.md 记录的成交逻辑;在信号触发中互换 close、high、low;静默选择交叉与阈值信号逻辑;在单文件脚本足够时生成多模块引擎。
支持的填充模型包括 next_open(默认)、time_based、same_bar(仅在明确要求时,需记录前视风险),限价与止损单适用 OHLC K 线资格规则,止损与目标同时触及同一 K 线时使用保守的 K 线内冲突策略。
每份报告、notes.md、report.md、notebook、dashboard 或导出结果都应包含免责声明。当回测对 Alpaca 证券交易活动费用建模时,notes.md、summary.json 与 report.md 应链接到 Alpaca 经纪费用表 PDF:
https://files.alpaca.markets/disclosures/library/BrokFeeSched.pdf
并记录 PDF 修订日期、提取时间戳、建模费用类别与有意排除的费用项。
参考链接:
https://alpaca.markets/disclosures https://files.alpaca.markets/disclosures/library/BrokFeeSched.pdf
CLI 数据获取、指标公式、费用模型、指标定义、基准与 JSON 模式详见 reference.md。