← Financial Trader Cloud Trader Hub · 回测

极点宏观|Financial Trader Cloud · Amazon 回测工作台|2026年5月

使用 Nasdaq、S&P 500、Dow、AgentCore 与 Strands 构建相对基准的 Amazon 择时系统

系列: 回测

笔记: 03

文章
Kiro 工作坊
01 使用 Kiro 构建:他加禄语学习 App 的提示优先产品设计工作坊
Kiro 工作坊
02 使用 Kiro 构建:他加禄语 学习 App 的教育优先开发技巧工作坊
Kiro 工作坊
03 使用 Kiro 构建:他加禄语 学习 App 的深入开发流程工作坊
Kiro 工作坊
04 使用 Kiro 构建:将 他加禄语 学习 App 本地化为中文变体工作坊
Kiro 工作坊
05 使用 Kiro 构建:他加禄语 卡片的语法与发音补强流水线工作坊
Kiro 工作坊
06 使用 Kiro 构建:他加禄语 学习 App 中可审查的独特额外例句工作坊
Kiro 工作坊
07 与 Kiro 同行:晶圆厂工程健康度 Hook 工作坊
Kiro 工作坊
08 与 Kiro 同行:蚀刻工艺窗口风险测试自动化工作坊
Kiro 工作坊
09 与 Kiro 同行:黄光微影漂移风险开发工作坊
Kiro 工作坊
10 工程团队入门 — 日常工厂值班使用 fab spc drift sync portal
Kiro 工作坊
11 工程团队附录 — fab spc drift sync portal 的日常工厂值班使用
Kiro 工作坊
12 Kiro:规格驱动工厂软件的现场工程工作坊
Kiro 工作坊
13 Kiro:实施 Lab — 从零构建具类型的 Factory Risk Portal
Kiro 工作坊
14 Kiro:工程开发人员的提示、代码和类型标准手册
Kiro 工作坊
15 Kiro:为什么强 React 提示可以防止类型宣告错误启动
Kiro 工作坊
17 与 Kiro 一起构建:建立工厂自动化门户 React UI
Kiro 工作坊
18 与 Kiro 一同构建:打造工厂自动化门户背后的自动化分析引擎
Kiro 工作坊
19 与 Kiro 一起实施:将 AI 工厂自动化辅助程序新增至工厂自动化门户
Kiro 工作坊
21 Kiro:2 小时专业开发人员工作坊指南
Kiro 工作坊
22 Kiro:从零建置 Fab SPC Drift Synchronization Portal
Kiro 工作坊
23 Kiro:提示词库与深度代码说明附录
Kiro 工作坊
30 与 Kiro 一起构建:建立工厂自动化门户 UI
Kiro 工作坊
31 与 Kiro 一起构建:打造工厂自动化门户背后的自动化分析引擎
Kiro 工作坊
32 与 Kiro 一起实施:为工厂自动化门户添加 AI 工厂自动化辅助程序
Kiro 工作坊
33 与 Kiro 一起开发:重建 CME Direct 风格的量化损益排行榜 UI
Kiro 工作坊
34 与 Kiro 一起开发:重建损益排行榜背后的量化分析引擎
Kiro 工作坊
35 与 Kiro 一起构建:适用于量化排行榜的 AWS AI 驱动交易台助理
Kiro 工作坊
36 单页交易平台 SOP
Kiro 工作坊
AgentCore
A1 使用 AgentCore 与 Strands 构建:Gateway MCP 工具织网开发者工作坊
AgentCore
A2 使用 AgentCore 与 Strands 构建:受治理的多 Agent 风险系统开发者工作坊
AgentCore
A3 使用 AgentCore 与 Strands 构建:运行时主权风险代理人开发者工作坊
AgentCore
模拟考场
E1 用 Vibe Coding 打造多语言 AWS 认证模拟题上线系统
模拟考场
E2 利用 Vibe Coding 开发技巧打造 AWS 认证模拟练习室
模拟考场
E3 打造静态 AWS 模拟考场背后的练习引擎
模拟考场
Amazon Q
Q1 Amazon Q:面向 ACM 证书自动续订的 CloudShell 优先开发人员工作坊
Amazon Q
Tagalog 练习室
T1 用提示词优先的产品设计,为 AWS Manila Community Day 构建 Tagalog 学习应用
Tagalog 练习室
T2 用教育优先的开发提示,为 AWS Manila Community Day 构建 Tagalog 学习应用
Tagalog 练习室
T3 面向 AWS Manila Community Day 的 Tagalog 学习应用深度开发流程
Tagalog 练习室
T4 为 AWS Manila Community Day 将 Tagalog 学习应用本地化为中文变体
Tagalog 练习室
T5 为 AWS Manila Community Day 的 Tagalog 卡片构建语法与发音增强流水线
Tagalog 练习室
T6 在 AWS Manila Community Day 的 Tagalog 学习应用中,让额外示例唯一且可审查
Tagalog 练习室
路线图
R1 企业级 Data Analytics Roadmap 一百个深度情境题
路线图
R2 前端开发路线图:真实企业场景
路线图
香港 Community Day
C1 与 AWS Community Day 共度香港周末:从云端议程到维港灯火
香港 Community Day
C2 演讲者的奢华周末:讲述你的 AWS 故事,再让香港登场
香港 Community Day
C3 在香港的七十二小时:AWS Community Day 演讲者的深度行程
香港 Community Day
马尼拉 Community Day
C4 AWS Community Day Manila:一场连接云技术、城市文化与真挚友谊的快乐周末
马尼拉 Community Day
C5 AWS Community Day Manila:云端建设者在菲律宾感受最幸福的精神
马尼拉 Community Day
C6 AWS Community Day Manila:在快乐之城构建、打破、重来,并找到归属
马尼拉 Community Day
C7 菲律宾马尼拉初次到访建议
马尼拉 Community Day
菲律宾 × 香港
C8 菲律宾香港资本市场升级
菲律宾 × 香港
回测
B1 使用 Bedrock AgentCore 和 Strands Agents 构建机构级 Amazon 只做多回测代理
只做多 AMZN 代理:AgentCore、Strands 与可审计的 Backtrader 台账。
B2 使用 Backtrader、AgentCore 和 Strands Agents 构建具备市场状态感知能力的 Amazon 头寸管理
把市场状态当成头寸控制,而不是图表注释。
B3 使用 Nasdaq、S&P 500、Dow、AgentCore 与 Strands 构建相对基准的 Amazon 择时系统
相对 Nasdaq、S&P 500 与道琼斯判断 AMZN 时机。
B4 使用 Bedrock AgentCore、Strands Agents 与 Backtrader 构建受治理的 Amazon 交易历史工厂
把回测做成可审计的交易历史工厂。
B5 使用 Bedrock AgentCore 与 Strands Agents 构建代理式 Amazon 回测运营模型 [Part 1]
先建立运营模型,再争论结果。
B6 为 Amazon 择时与头寸管理构建自定义 Cerebro 代码解读 [第 2 部分]
先讲 Cerebro 引擎,再讲图表。
B7 为 Amazon 策略结果与经验教训构建交易员复盘记录 [Part 3]
把策略排名写成交易员复盘记录。
B8 使用 AgentCore 和 Strands 构建受治理的 FSI Amazon 头寸管理手册 [第 4 部分]
受治理的 FSI Amazon 头寸管理手册。
B9 使用 Amazon Bedrock AgentCore 构建主权风险交易代理,分析收益率差、FX 对冲与债务重新定价
主权风险代理:收益率差、外汇对冲与债务重定价。
B11 构建现代波动率交易与合法泰国恢复规划智能体:内存驱动的 Strands 多智能体风险保护系统
记忆驱动的 Strands 智能体:波动率与泰国恢复规划。
B12 使用 Amazon Bedrock AgentCore Memory 构建做空跨式交易风险治理
做空跨式的交易风险治理。
B13 在 Amazon EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
在 EKS 上跑生产级信用与收益质押智能体。
挑战
01 周末生产力挑战:Fab SPC 漂移同步门户
Fab SPC 漂移审查与建议门户。
02 周末生产力挑战:Quant P&L Commander — AWS 上由 AI 驱动的交易生产力门户
AWS 上由 AI 驱动的交易生产力门户。
03 周末烦人任务挑战:交易台在云端、链上、空中执行摘要
DeskPulse 日常交易执行摘要。
04 周末 Agent 挑战:早上 6 点交易风险审查
无人值守、以证据为基础的早间交易风险简报。
05 周末创意挑战:领导力卡牌游戏
浏览器版创意引导卡牌。
06 全栈挑战:社区日留言板应用程序
浏览器版活动通信空间。
领导力卡牌
01 Leadership Card Game: 云没有自动化的最后一项技能:像领导者一样说话
写给 构建者的一篇现场随笔:语言、勇气,以及 Leadership Card Game
02 领导力回合解剖:Leadership Card Game 究竟如何玩
写给 构建者的引导员实地指南:如何把演练嵌进真实会议
03 Leadership Card Game: 当机会不再属于组织者
写给 构建者的田野随笔:权力转移、多语言领导力练习夜,以及走完入口、资源与叙事的职业弧线
04 周末创意挑战:Leadership Card Game
一篇构建者手记:愿景、架构,以及周末创意挑战教会我的事
05 从周末挑战项目到 $1,386 众筹:改变你在职场现身方式的领导力练习
一个周末做出的作品,变成 600 张卡的在线领导力练习室,并筹到 $1,386。
06 从周末挑战项目到 $1,386 众筹:进入科技产业的第一天路径
一个周末挑战如何变成具备 600 张卡、由 AWS 驱动的多语产品,并筹到 $1,386?
07 从周末挑战项目到 $1,386 众筹:用转移机会建立专业品牌
一个周末挑战把领导想法做成能跑的多语产品,并筹到 $1,386。
08 Leadership Card Game — 众筹活动
筹款目标: HKD 5,000 已筹金额: HKD 1,386 距目标还差: HKD 3,614 进度: 28% 创作者: D.C. Dan · L.L. Diana · L.K. Lva 所在地: 日本、香港、新加坡 投资人权益: 即期价值、私密会员卡牌编辑器云(Private Membership Card…
09 PR/FAQ 01 — Leadership Card Game 面向社区构建者正式推出
「逆向工作法」文档 · 对外新闻稿 + FAQ 产品: Leadership Card Game 受众: 社区经理、志愿组织者、早期职业构建者
10 PR/FAQ 02 — 企业引导员采用 Leadership Card Game 开展现场领导力演练
「逆向工作法」文档 · 对外新闻稿 + FAQ 产品: Leadership Card Game 受众: 学习与发展负责人、人员管理者、敏捷教练、企业引导员
10 PR/FAQ 03 — 多语言 Leadership Card Game 为构建者归属开放全球练习室
「逆向工作法」文档 · 对外新闻稿 + FAQ 产品: Leadership Card Game 受众: 全球 构建者、双语社区、跨境产品团队、开源导师
AWS Builder Center
01 AWS Builder Center、社区精神与 AWS Builder Jacket
霓虹信号、共享创意,以及为构建者打造的外套。
02 走进 AWS Builder Center:一座能学习、贡献,也让人有归属感的全球技术平台
一段精彩旅程,不一定从机场开始。
03 AWS Community Builder 的巨大成功
当构建者公开分享,整个社区就会一起前进。
04 AWS Builder Center 的巨大成功
一座为好奇心打造、充满活力的全球街区。
05 周末走进 AWS Builder Center:从社区灵感到令人难忘的 AWS Builder Jacket
星期五晚上,开始于构建者熟悉的感觉:有一个点子,正卡在问题与可能性之间。

描述: 相对基准的 AMZN 研究将信号质量与指数 beta、宏观市场状态、流动性风险和投资组合敞口对齐。使用 Nasdaq 100、S&P 500 和 Dow Jones 数据构建仅做多的 Backtrader 示例,并由 Amazon Bedrock AgentCore 和 Strands Agents 编排,形成可审计、可重复、达到 FSI 级要求的投资研究工作流,以及可提交评审委员会审阅的择时证据。


免责声明

教育目的: 本文内容仅聚焦于合法的金融规划教育,旨在提升对概念、方法论和分析方法的理解,不推广任何特定证券、策略或市场参与决策。

无个性化建议: 本文不提供任何个性化推荐、招揽或保证;在任何情况下,本教育材料均不明示、暗示或以其他方式表示对未来业绩、结果或收益作出保证。

数据限制: 由于沙箱环境中无法获得实时数据,上传结果依赖确定性的离线数据,因此输出应被理解为说明性示例,而非实时分析。

仅做多范围: 所有研究表述均限定为仅做多,避免期权、put、卖空或看跌策略,确保讨论整体聚焦于传统资产持有和正向方向性敞口概念。


开篇:在市场背景中衡量 AMZN

仅做多的 Amazon 头寸不应只根据其自身价格路径来评判。AMZN 需要与成长型基准、广泛美国股票敞口以及低波动替代方案竞争资金。因此,本文将 Nasdaq 100、S&P 500 和 Dow Jones 背景视为择时证据的一部分,而不是股票图表周围的装饰。


定位

本文采用具备基准意识的投资组合运营者视角。文章关注 AMZN 择时规则是否相对于相关市场状态改善了参与质量,基准过滤器是否减少了薄弱入场,以及委员会能否区分个股特定证据与广泛 beta。


值得解决的客户问题

相对基准研究可以防止一张盈利的 AMZN 图表变成缺乏支撑的能力宣称。投资团队需要知道,与 Nasdaq 100 动量、S&P 500 市场状态和 Dow 风险情绪相比,某条规则是否增加了有用的择时证据。风险团队也需要同样的比较,以理解结果是由更低敞口、更低回撤,还是更好的相对强度所驱动。


此工作流支持的业务结果

该工作流帮助委员会以相对而非孤立的方式讨论 AMZN 择时。它支持基准过滤器测试、日历对齐的数据审查、相对强度解读,并更清晰地说明策略究竟是降低了市场风险、改善了入场质量,还是只是更长时间持有现金。


目录

● 第 1 部分:开篇背景与文章重点

介绍 AMZN 仅做多择时问题、文章重点,以及在讨论任何配置决策之前先生成证据的业务原因。本部分帮助读者理解交易表达方式、市场背景,以及为什么该工作流属于教育而非建议。

● 第 2 部分:Agentic 架构与治理控制

解释 AgentCore 和 Strands 运营模型,包括编排器、数据 agent、策略 agent、风险审查器、治理检查器、工具权限、审计工件和人工审批边界。本部分让架构在代码和策略记录出现之前更易读。

● 第 3 部分:数据、基准与回测框架

涵盖真实或获批的数据输入、基准背景、OHLCV 对齐、数据血缘和可复用回测框架。本部分展示 AMZN、Nasdaq 100、S&P 500 和 Dow Jones 背景如何成为可审查的研究证据。

● 第 4 部分:相对基准策略框架与代码逻辑

解释文章策略族背后的实现框架,包括入场逻辑、退出逻辑、仓位规模、执行分离、风险控制和通俗代码审查。本部分帮助读者在不丢失治理背景的情况下检查策略示例。

● 第 5 部分:交易台账与头寸管理证据

聚焦交易台账、头寸管理证据、换手率、回撤审查,以及为什么每一次模拟入场和退出都必须可追踪。本部分将回测从一张图表转化为可审查的决策序列。

● 第 6 部分:治理、风险审查与机构质询

汇总机构审查指引、模型风险问题、质询工作流、审计轨迹预期、生产就绪性、参数敏感性、失效模式和委员会证据标准。本部分通过在策略记录之前集中治理内容来提升可读性。

● 第 7 部分:策略目录与阅读方法

呈现策略目录和阅读策略记录的方法。本部分在治理概念与单个策略示例之间提供简短的导航桥梁。

● 第 8 部分:策略记录 11-15:相对强度、市场状态、Dow、Keltner 与 ADX

将策略 11-15 归为一个易读部分,使读者可以审阅文章的五条策略记录,而无需把每条策略都变成单独的顶层目录项。重点是研究目的、代码逻辑、风险控制和交易台账解读。

● 第 9 部分:执行委员会摘要与收束表达

将技术研究转化为高管和委员会语言。本部分总结测试了什么、仍有哪些不确定性、为什么该工作流不能取代人的问责,以及如何负责任地讨论结果。

● 第 10 部分:来源、数据说明与最终披露

将来源、数据说明、限制和最终披露语言放在一起。本部分澄清数据假设、时间窗口、AWS 设计参考和文章的教育边界。


第 1 部分:开篇背景与文章重点

相关摘要: 介绍 AMZN 仅做多择时问题、文章重点,以及在讨论任何配置决策之前先生成证据的业务原因。本部分帮助读者理解交易表达方式、市场背景,以及为什么该工作流属于教育而非建议。

开篇与市场背景

相关摘要: 确立 AMZN 择时问题,解释为什么回测属于机构审查的一部分,并将本文定位为证据生成而非预测。本节把一项盈利的仅做多头寸与风险纪律、基准意识、披露语言和可提交委员会的沟通方式联系起来。

一篇有力的文章应从交易问题开始,而不是从软件开始。仅做多的 Amazon 头寸可能盈利,但仍可能存在择时薄弱、退出纪律不清和敞口过大的问题。因此,本节将回测定位为一种治理工具,帮助交易台在讨论配置之前解释决策。

此前交付说明中的有用内容在此被吸收:用证据说话,明确假设,避免确定性表述。受众应听到该工作流测试了什么、由哪些数据支撑、哪些方面可能失效,以及哪些仍属于人的决策。这比在结尾附上一段重复的实践说明更有力。

市场背景很重要,因为 AMZN 会受到成长偏好、广泛股票市场状态、消费者预期、云业务情绪、流动性和估值压力的影响。基准意识有助于交易者避免宣称每一项收益都来自个股特定能力。


系列重点

本文聚焦相对基准信号、市场过滤器和风险受控的参与方式。它是四篇技术系列文章的一部分。结构已达到发布就绪状态,并避免暴露草稿指令。它保留表达指导意图,同时将信息转化为面向金融服务受众的成熟章节。


业务问题:择时是治理问题

Amazon 头寸在长期维度上可能盈利,但仍可能管理不善。因此,机构不仅需要业绩语言,也需要流程语言。研究团队应展示买入了什么、何时买入、为什么买入、何时卖出、为什么卖出,以及该决策相对于主要股票基准的表现。agentic 工作流让这些证据更容易生成,也更容易接受质询。


第 2 部分:Agentic 架构与治理控制

相关摘要: 解释 AgentCore 和 Strands 运营模型,包括编排器、数据 agent、策略 agent、风险审查器、治理检查器、工具权限、审计工件和人工审批边界。本部分让架构在代码和策略记录出现之前更易读。

Agentic 研究架构

相关摘要: 解释 Bedrock AgentCore、Strands Agents、数据工具、策略生成、Backtrader 执行和结果汇总如何形成受控工作流。本节强调工具权限、职责分离、审计工件,以及任何现实投资组合决策之前的人工审批。

agentic 架构将职责分离。编排器接收请求,数据工具验证 OHLCV 输入,策略生成器准备规则逻辑,Backtrader 工具执行模拟,风险审查器汇总回撤和交易行为,治理检查器验证政策边界。

被吸收的交付规则在这里体现为架构纪律:每个 agent 动作都应生成证据。一次有用的运行会留下数据引用、代码版本、参数、时间戳、交易台账、指标、图表路径和异常记录。这些工件使输出能够被投资、技术和风险团队审查。

AgentCore 和 Strands Agents 可以加速研究循环,但权限边界至关重要。系统可以运行获批工具并准备备忘录;它不应决定适当性、批准资本配置,或将历史回测转化为业绩承诺。


使用 Bedrock AgentCore 与 Strands Agents 的 Agentic 架构

该架构将判断与自动化分离。Quant Orchestrator 接收研究请求并协调专业工具。Strategy Generator 编写或检索 Backtrader 策略类。Market Data Tool 检索 AMZN、^NDX、^GSPC 和 ^DJI 的日度 OHLCV 数据。Risk Summary Agent 计算收益、回撤、敞口、交易次数、胜率、利润因子和相对基准行为。Governance Agent 检查政策边界:仅做多普通股、无衍生品、无缺乏支撑的业绩承诺。

这种设计适合机构研究,因为它创建了可追踪性。模型不会暗中决定投资组合。相反,agent 调用获批工具,记录输入和输出,并返回可由人工委员会质询的备忘录。代码示例使用 Backtrader,因为它提供事件驱动的研究引擎、技术指标、分析器、订单处理和交易统计。


Agent 运行时草图


第 3 部分:数据、基准与回测框架

相关摘要: 涵盖真实或获批的数据输入、基准背景、OHLCV 对齐、数据血缘和可复用回测框架。本部分展示 AMZN、Nasdaq 100、S&P 500 和 Dow Jones 背景如何成为可审查的研究证据。

真实市场数据与基准

相关摘要: 将 AMZN 定义为研究资产,并将 Nasdaq 100、S&P 500 和 Dow Jones Industrial Average 定义为基准背景。本节解释调整后的 OHLCV 数据、日历对齐、数据血缘、公司行动处理,以及为什么不应使用虚构市场价格。

数据血缘是一项交易控制。调整后价格、公司行动、缺失值、假日历、供应商变更和基准对齐,都可能改变择时规则表面上的行为。本节将数据工程视为投资治理的一部分,而不是后台任务。

AMZN 是可交易资产。Nasdaq 100、S&P 500 和 Dow Jones Industrial Average 分别为成长市场状态、广泛股票风险和蓝筹风险情绪提供不同视角。工作流应记录为什么使用每个基准,以及每个基准可能在何处误导读者。

本文避免使用虚构价格和缺乏支撑的业绩声明。如果无法检索数据,应说明限制。如果使用生产数据,数据集快照和调整政策应与回测工件一起保留。


真实数据设置

示例使用 Amazon 普通股作为可交易资产,并使用三个基准指数作为背景:Nasdaq 100 用于成长和科技市场状态,S&P 500 用于广泛美国股票市场状态,Dow Jones Industrial Average 用于蓝筹风险情绪。可执行框架在你的环境中运行时,会通过 yfinance 下载真实日度数据。本文不虚构市场价格或编造业绩数字。


第 4 部分:相对基准策略框架与代码逻辑

相关摘要: 解释文章策略族背后的实现框架,包括入场逻辑、退出逻辑、仓位规模、执行分离、风险控制和通俗代码审查。本部分帮助读者在不丢失治理背景的情况下检查策略示例。

相对基准策略实现与代码逻辑

相关摘要: 介绍本文使用的策略示例,并解释每条规则如何创建入场和退出条件。本节将信号逻辑与执行逻辑分离,并将代码转化为通俗的头寸管理控制。

策略实现应读起来像一张控制地图。入场逻辑解释为什么开启多头头寸。退出逻辑解释为什么关闭头寸。仓位规模逻辑解释承担多少敞口。风险逻辑解释流程何时覆盖信号。这使非开发人员也能理解代码审查。

信号逻辑和执行逻辑应保持分离。信号可以识别有利条件,但执行引擎必须检查现有头寸状态、可用现金、佣金、风险止损和目标退出。分离可以提升可审计性,并减少隐藏行为。

本文将代码讲解纳入主要策略讨论,而不是作为分离的注释。每条策略都应根据其台账、回撤、换手率、基准行为和运营可行性来评判,而不能只看标题式收益。

本文特别聚焦相对基准信号、Nasdaq 确认、S&P 市场状态过滤器、Dow 风险检查和相对强度解读。因此,代码审查应评估该策略族是否支持这一业务目标,以及其交易记录是否足够可解释,能够满足机构审查。


第 5 部分:交易台账与头寸管理证据

相关摘要: 聚焦交易台账、头寸管理证据、换手率、回撤审查,以及为什么每一次模拟入场和退出都必须可追踪。本部分将回测从一张图表转化为可审查的决策序列。

相对强度记录与头寸管理

相关摘要: 解释交易台账如何通过记录入场、退出、价格、规模、已实现盈亏、信号原因、回撤行为、换手率和风险调整审查来支持头寸管理决策。

交易台账是交易台的记忆系统。它记录入场日期、退出日期、价格、规模、总盈亏、入场原因和退出原因。没有台账,策略只是一个故事。有了台账,委员会可以检查模拟决策的实际序列。

回撤审查必须先于收益庆祝。某条策略的总收益可能看起来很有吸引力,但在真实压力下可能难以持有。台账和回撤路径帮助审查者判断该规则是否符合授权范围和风险承受能力。

此前实践说明中的信息被吸收到审查流程中:在得出任何结论之前,先解释数据来源、日期范围、策略规则、基准背景、风险指标和台账。本文将其保留在头寸管理章节中,因为它会改变证据的阅读方式。


二十年交易历史结构

| 列 | 含义 | |---|---| | entry_date | 模拟 AMZN 多头头寸开启的交易日期 | | exit_date | 模拟 AMZN 多头头寸关闭的交易日期 | | entry_price | Backtrader 模拟入场价格 | | exit_price | Backtrader 模拟退出价格 | | size | 模拟头寸中的 AMZN 股数 | | gross_pnl | 税费和额外实施成本之前的总盈亏 | | entry_reason | 触发入场的信号标签 | | exit_reason | 触发退出的信号、目标或风险控制标签 |

交易历史很重要,因为它可以避免模糊叙事。委员会可以检查利润是来自许多可重复交易还是某个异常时期,退出是否降低了熊市状态中的损失,基准过滤器是否有帮助,以及换手率是否能承受现实实施成本。


第 6 部分:治理、风险审查与机构质询

相关摘要: 汇总机构审查指引、模型风险问题、质询工作流、审计轨迹预期、生产就绪性、参数敏感性、失效模式和委员会证据标准。本部分通过在策略记录之前集中治理内容来提升可读性。

说明性模式;针对生产环境调整 IAM、网络、审批和日志记录。

from bedrock_agentcore import BedrockAgentCoreApp
from strands import Agent, tool

app = BedrockAgentCoreApp()

ALLOWED = {
    "breakout_55": "Breakout55Strategy",
    "ema_cross": "EMACrossStrategy",
    "multi_factor": "MultiFactorEnsembleStrategy",
}

@tool
def validate_policy(strategy_key: str, side: str, derivatives: bool) -> dict:
    if side.lower() != "long_only":
        return {"ok": False, "reason": "Only long-only equity research is allowed."}
    if derivatives:
        return {"ok": False, "reason": "Derivative instruments are outside this workflow."}
    if strategy_key not in ALLOWED:
        return {"ok": False, "reason": "Strategy is not approved in the registry."}
    return {"ok": True, "reason": "Policy accepted."}

@tool
def run_registered_backtest(strategy_key: str) -> dict:
    return {"status": "submitted", "strategy": ALLOWED[strategy_key], "artifact_prefix": f"s3://research/amzn/{strategy_key}/"}

agent = Agent(tools=[validate_policy, run_registered_backtest])

@app.entrypoint
def invoke(payload):
    return agent(payload.get("request", "Run approved AMZN long-only backtest."))

if __name__ == "__main__":
    app.run()

基准选择纪律

相对基准研究始于基准选择。Nasdaq 100、S&P 500 和 Dow Jones Industrial Average 回答的是不同问题。本文解释为什么使用每个指数、它确认了什么,以及它可能在何处误导读者。


相对强度与绝对收益

一只股票可以上涨,但仍落后于其机会集合。相对强度关注 AMZN 相对于科技和广泛股票替代方案是否值得占据资金位置。这将讨论从简单盈利转向有纪律的资本配置。


S&P 市场状态过滤器审查

S&P 500 市场状态过滤器是一种广泛风险视角。它可以帮助避开疲弱市场环境,但也可能排除快速复苏。本文描述这一权衡,使基准过滤器被视为假设,而不是无需质疑的真理。


Dow 风险情绪背景

Dow 确认并不完全匹配高成长单一股票,但它可以显示更广泛的风险偏好。交易者应解释该输入是一个背景变量,并应与其他市场状态定义进行测试比较。


基准日历对齐

相对比较需要日历对齐。如果 AMZN 和基准序列没有对齐,信号可能发生偏移或扭曲。本文将这一数据工程要点纳入正文,因为基准研究依赖干净的时间对齐。


委员会对相对结果的解读

委员会应询问相对基准逻辑究竟是降低了回撤、改善了入场择时,还是只是降低了敞口。较低收益配合较低回撤,在某个授权范围内可能可以接受,在另一个授权范围内可能不可接受。本文让这一授权问题保持可见。


机构审查视角 1:证据包设计

完整的证据包应包括研究问题、数据来源、调整政策、符号列表、代码版本、参数集、交易台账、回撤画像、指标摘要、异常日志和披露语言。这使回测能够被投资、风险、技术和合规团队共同审查。


机构审查视角 2:人工质询工作流

当工作流能够促成质询时,它才是成功的。审查者应询问数据是否干净、规则是否具有经济逻辑、基准是否合适、参数是否稳定、成本是否现实,以及结论是否限定在证据所支持的范围内。


机构审查视角 3:仅做多政策边界

本文将政策边界保持为仅做多。该边界使工作流聚焦于择时、仓位规模、退出和证据质量,而不是复杂工具构建。它也为治理 agent 提供了一条清晰规则,用于拒绝缺乏支撑的请求。


机构审查视角 4:图表与台账解读

图表有用,但台账才是审计轨迹。权益曲线可能掩盖集中度,单一收益数字可能掩盖换手率。因此,本文将图表、台账和指标视为互补证据,而不是可互换的证明。


机构审查视角 5:生产就绪性清单

notebook 不等于生产。生产就绪性需要受控数据访问、版本化代码、参数记录、可重复运行、异常处理、工件存储、审批工作流和监控。Agentic 工具应支持这些控制,而不是绕过它们。


机构审查视角 6:失效模式披露

专业文章应及早说明失效模式。趋势规则可能遭遇震荡反复,动量可能衰竭,波动率过滤器可能滞后,基准过滤器可能排除快速复苏。说明这些风险可以提高可信度,并帮助委员会准备有用问题。


第 7 部分:策略目录与阅读方法

相关摘要: 呈现策略目录和阅读策略记录的方法。本部分在治理概念与单个策略示例之间提供简短的导航桥梁。

阅读记录前的策略审查方法

在阅读策略记录之前,对每条规则使用相同的证据顺序:确认数据,识别入场条件,识别退出条件,检查仓位规模假设,审查回撤,比较基准行为,并记录得到的经验。本句将重复的交付说明转化为文章内部使用的方法。


本文策略目录

● Strategy 11: RelativeStrengthNDXStrategy — AMZN 相对于 Nasdaq 100 的相对强度。

● Strategy 12: MarketRegimeSPXStrategy — S&P 500 市场状态过滤器结合 AMZN 动量。

● Strategy 13: DowRiskFilterStrategy — Dow Jones 趋势过滤器结合 AMZN 入场信号。

● Strategy 14: KeltnerChannelStrategy — Keltner 通道趋势入场。

● Strategy 15: ADXTrendStrategy — ADX 确认的趋势参与。


第 8 部分:策略记录 11-15:相对强度、市场状态、Dow、Keltner 与 ADX

相关摘要: 将策略 11-15 归为一个易读部分,使读者可以审阅文章的五条策略记录,而无需把每条策略都变成单独的顶层目录项。重点是研究目的、代码逻辑、风险控制和交易台账解读。

Strategy 11: RelativeStrengthNDXStrategy

RelativeStrengthNDXStrategy
RelativeStrengthNDXStrategy

研究目的。 AMZN 相对于 Nasdaq 100 的相对强度。该策略被编写为仅做多 AMZN 择时示例。它可以进入多头头寸、关闭多头头寸,或保持现金状态。它不创建空头敞口,也不使用期权、put、掉期、期货、保证金或其他衍生工具。

头寸管理审查。 对于 RelativeStrengthNDXStrategy,交易台应评估在考虑成本、回撤和基准背景后,AMZN 相对于 Nasdaq 100 的相对强度是否增加了有用的择时证据。审查应检查该规则交易频率如何、退出是否易于理解、持有期是否符合授权范围,以及该信号是否提供了超越在每个市场状态中简单持有 AMZN 的洞见。

Backtrader 代码。 将此类添加到可复用框架下方,然后在受控研究环境中运行 run_backtest(RelativeStrengthNDXStrategy, "RelativeStrengthNDXStrategy")。

class RelativeStrengthNDXStrategy(TradeLoggerMixin, bt.Strategy):
    params = dict(rs_period=90, risk_per_trade=0.08)
    def __init__(self):
        TradeLoggerMixin.__init__(self)
        self.rs = self.data0.close / self.data1.close
        self.rs_ma = bt.ind.SMA(self.rs, period=self.p.rs_period)
    def next(self):
        self.risk_exit_check()
        if not self.position and self.rs[0] > self.rs_ma[0] and self.rs[-1] <= self.rs_ma[-1]:
            self.buy_long("amzn_relative_strength_vs_ndx")
        elif self.position and self.rs[0] < self.rs_ma[0]:
            self.close_long("relative_strength_fade")

针对 RelativeStrengthNDXStrategy 的 agent 审查应汇总该特定策略运行的信号路径、台账完整性、风险控制活动和仅做多政策状态。


Strategy 12: MarketRegimeSPXStrategy

MarketRegimeSPXStrategy
MarketRegimeSPXStrategy

研究目的。 S&P 500 市场状态过滤器结合 AMZN 动量。该策略被编写为仅做多 AMZN 择时示例。它可以进入多头头寸、关闭多头头寸,或保持现金状态。它不创建空头敞口,也不使用期权、put、掉期、期货、保证金或其他衍生工具。

头寸管理审查。 对于 MarketRegimeSPXStrategy,交易台应评估在考虑成本、回撤和基准背景后,S&P 500 市场状态过滤器结合 AMZN 动量是否增加了有用的择时证据。审查应检查该规则交易频率如何、退出是否易于理解、持有期是否符合授权范围,以及该信号是否提供了超越在每个市场状态中简单持有 AMZN 的洞见。

Backtrader 代码。 将此类添加到可复用框架下方,然后在受控研究环境中运行 run_backtest(MarketRegimeSPXStrategy, "MarketRegimeSPXStrategy")。

class MarketRegimeSPXStrategy(TradeLoggerMixin, bt.Strategy):
    params = dict(spx_period=200, amzn_period=50, risk_per_trade=0.08)
    def __init__(self):
        TradeLoggerMixin.__init__(self)
        self.spx_ma = bt.ind.SMA(self.data2.close, period=self.p.spx_period)
        self.amzn_ma = bt.ind.SMA(self.data0.close, period=self.p.amzn_period)
    def next(self):
        self.risk_exit_check()
        regime_ok = self.data2.close[0] > self.spx_ma[0]
        if not self.position and regime_ok and self.data0.close[0] > self.amzn_ma[0]:
            self.buy_long("spx_regime_amzn_momentum")
        elif self.position and (not regime_ok or self.data0.close[0] < self.amzn_ma[0]):
            self.close_long("regime_or_momentum_exit")

针对 MarketRegimeSPXStrategy 的 agent 审查应汇总该特定策略运行的信号路径、台账完整性、风险控制活动和仅做多政策状态。


Strategy 13: DowRiskFilterStrategy

DowRiskFilterStrategy
DowRiskFilterStrategy

研究目的。 Dow Jones 趋势过滤器结合 AMZN 入场信号。该策略被编写为仅做多 AMZN 择时示例。它可以进入多头头寸、关闭多头头寸,或保持现金状态。它不创建空头敞口,也不使用期权、put、掉期、期货、保证金或其他衍生工具。

头寸管理审查。 对于 DowRiskFilterStrategy,交易台应评估在考虑成本、回撤和基准背景后,Dow Jones 趋势过滤器结合 AMZN 入场信号是否增加了有用的择时证据。审查应检查该规则交易频率如何、退出是否易于理解、持有期是否符合授权范围,以及该信号是否提供了超越在每个市场状态中简单持有 AMZN 的洞见。

Backtrader 代码。 将此类添加到可复用框架下方,然后在受控研究环境中运行 run_backtest(DowRiskFilterStrategy, "DowRiskFilterStrategy")。

class DowRiskFilterStrategy(TradeLoggerMixin, bt.Strategy):
    params = dict(dow_period=150, amzn_fast=20, amzn_slow=80, risk_per_trade=0.07)
    def __init__(self):
        TradeLoggerMixin.__init__(self)
        self.dow_ma = bt.ind.EMA(self.data3.close, period=self.p.dow_period)
        self.fast = bt.ind.EMA(self.data0.close, period=self.p.amzn_fast)
        self.slow = bt.ind.EMA(self.data0.close, period=self.p.amzn_slow)
        self.cross = bt.ind.CrossOver(self.fast, self.slow)
    def next(self):
        self.risk_exit_check()
        if not self.position and self.data3.close[0] > self.dow_ma[0] and self.cross[0] > 0:
            self.buy_long("dow_risk_filter_amzn_cross")
        elif self.position and self.cross[0] < 0:
            self.close_long("amzn_cross_exit")

针对 DowRiskFilterStrategy 的 agent 审查应汇总该特定策略运行的信号路径、台账完整性、风险控制活动和仅做多政策状态。


Strategy 14: KeltnerChannelStrategy

KeltnerChannelStrategy
KeltnerChannelStrategy

研究目的。 Keltner 通道趋势入场。该策略被编写为仅做多 AMZN 择时示例。它可以进入多头头寸、关闭多头头寸,或保持现金状态。它不创建空头敞口,也不使用期权、put、掉期、期货、保证金或其他衍生工具。

头寸管理审查。 对于 KeltnerChannelStrategy,交易台应评估在考虑成本、回撤和基准背景后,Keltner 通道趋势入场是否增加了有用的择时证据。审查应检查该规则交易频率如何、退出是否易于理解、持有期是否符合授权范围,以及该信号是否提供了超越在每个市场状态中简单持有 AMZN 的洞见。

Backtrader 代码。 将此类添加到可复用框架下方,然后在受控研究环境中运行 run_backtest(KeltnerChannelStrategy, "KeltnerChannelStrategy")。

class KeltnerChannelStrategy(TradeLoggerMixin, bt.Strategy):
    params = dict(ema_period=20, atr_period=10, mult=1.8, risk_per_trade=0.08)
    def __init__(self):
        TradeLoggerMixin.__init__(self)
        self.ema = bt.ind.EMA(self.data0.close, period=self.p.ema_period)
        self.atr = bt.ind.ATR(self.data0, period=self.p.atr_period)
        self.upper = self.ema + self.p.mult * self.atr
    def next(self):
        self.risk_exit_check()
        if not self.position and self.data0.close[0] > self.upper[0]:
            self.buy_long("keltner_upper_break")
        elif self.position and self.data0.close[0] < self.ema[0]:
            self.close_long("keltner_ema_exit")

针对 KeltnerChannelStrategy 的 agent 审查应汇总该特定策略运行的信号路径、台账完整性、风险控制活动和仅做多政策状态。


Strategy 15: ADXTrendStrategy

ADXTrendStrategy
ADXTrendStrategy

研究目的。 ADX 确认的趋势参与。该策略被编写为仅做多 AMZN 择时示例。它可以进入多头头寸、关闭多头头寸,或保持现金状态。它不创建空头敞口,也不使用期权、put、掉期、期货、保证金或其他衍生工具。

头寸管理审查。 对于 ADXTrendStrategy,交易台应评估在考虑成本、回撤和基准背景后,ADX 确认的趋势参与是否增加了有用的择时证据。审查应检查该规则交易频率如何、退出是否易于理解、持有期是否符合授权范围,以及该信号是否提供了超越在每个市场状态中简单持有 AMZN 的洞见。

Backtrader 代码。 将此类添加到可复用框架下方,然后在受控研究环境中运行 run_backtest(ADXTrendStrategy, "ADXTrendStrategy")。

class ADXTrendStrategy(TradeLoggerMixin, bt.Strategy):
    params = dict(adx_period=14, adx_min=25, ma_period=50, risk_per_trade=0.08)
    def __init__(self):
        TradeLoggerMixin.__init__(self)
        self.adx = bt.ind.ADX(self.data0, period=self.p.adx_period)
        self.plus_di = bt.ind.PlusDI(self.data0, period=self.p.adx_period)
        self.minus_di = bt.ind.MinusDI(self.data0, period=self.p.adx_period)
        self.ma = bt.ind.SMA(self.data0.close, period=self.p.ma_period)
    def next(self):
        self.risk_exit_check()
        if not self.position and self.adx[0] > self.p.adx_min and self.plus_di[0] > self.minus_di[0] and self.data0.close[0] > self.ma[0]:
            self.buy_long("adx_positive_trend")
        elif self.position and self.plus_di[0] < self.minus_di[0]:
            self.close_long("adx_direction_exit")

针对 ADXTrendStrategy 的 agent 审查应汇总该特定策略运行的信号路径、台账完整性、风险控制活动和仅做多政策状态。


第 9 部分:执行委员会摘要与收束表达

相关摘要: 将技术研究转化为高管和委员会语言。本部分总结测试了什么、仍有哪些不确定性、为什么该工作流不能取代人的问责,以及如何负责任地讨论结果。

高管收束与治理审查

相关摘要: 将技术工作流转化为委员会语言。本节解释 agent 如何在不取代问责的情况下加速研究,证据应如何接受质询,以及专业人员如何继续对适当性、风险承受能力、数据质量、实施就绪性和最终资本决策负责。

收束部分将相对基准输出转化为决策语言。委员会需要知道 AMZN 择时是否改善了相对参与、降低了广泛市场回撤,还是只是在困难时期降低了敞口。

agent 不会取代专业人员。Agentic 工具可以对齐指数数据并汇总相对行为,但基准选择、机会成本、适当性和最终资本决策仍由人负责。

有纪律的收束应避免宣传性语言。核心信息是:将 AMZN 与其市场背景进行比较,在宣称能力之前检查相对强度,并将问责保留在投资团队。


高管表达收束

最终信息与基准直接相关:一条盈利的 AMZN 规则仍需要在 Nasdaq、S&P 和 Dow 背景下证明其价值。AgentCore 和 Strands Agents 可以组织比较,Backtrader 可以回放交易,但委员会必须判断相对证据是否足够有用。


供委员会使用的执行摘要

这篇相对基准文章应帮助审查者询问 AMZN 策略行为究竟是个股特定、由成长指数支撑、依赖广泛市场,还是经过防御性过滤。最有力的输出不是单一赢家,而是一张更清晰的地图,展示每条规则在 Nasdaq、S&P 和 Dow 背景下的行为。

最终决策仍由人作出。Agentic 工具可以对齐基准并汇总相对证据,但审查者仍需要判断基准选择、日历处理和机会成本权衡是否符合授权范围。


第 10 部分:来源、数据说明与最终披露

相关摘要: 将来源、数据说明、限制和最终披露语言放在一起。本部分澄清数据假设、时间窗口、AWS 设计参考和文章的教育边界。

来源与数据说明

● 真实数据工作流:可执行示例使用 yfinance 下载 AMZN、^NDX、^GSPC 和 ^DJI 的日度 OHLCV 数据。

● 时间范围:2006-06-19 至 2026-06-19,受市场假日和数据提供商可用性约束。

● AWS 设计模式:Bedrock AgentCore runtime 用于 agent 编排,Strands Agents 用于工具协调,AWS 治理型数据模式用于血缘、访问和工件存储。

● 仅用于教育:不构成个性化建议,不构成招揽,也不构成业绩保证。


最终治理数据说明

● 真实数据工作流:可执行示例应使用 AMZN、Nasdaq 100、S&P 500 和 Dow Jones Industrial Average 的获批日度 OHLCV 数据。

● 时间范围:示例设计使用二十年研究窗口,并应在每次运行中记录准确的开始和结束日期。

● AWS 设计模式:Bedrock AgentCore runtime 可以托管 agent 编排,而 Strands Agents 可以协调工具使用和结果审查。

● 仅用于教育:不构成个性化建议,不构成招揽,也不构成业绩保证。