AWS Builder 文章

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

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

AMZN 回测文章系列

English 繁体中文 简体中文

描述: 相对基准的 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()

主文应用细节 1:基准选择纪律

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


主文应用细节 2:相对强度与绝对收益

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


主文应用细节 3:S&P 市场状态过滤器审查

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


主文应用细节 4:Dow 风险情绪背景

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


主文应用细节 5:基准日历对齐

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


主文应用细节 6:委员会对相对结果的解读

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


机构审查视角 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

研究目的。 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

研究目的。 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

研究目的。 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

研究目的。 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

研究目的。 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-192026-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 可以协调工具使用和结果审查。
  • 仅用于教育:不构成个性化建议,不构成招揽,也不构成业绩保证。