阅读时间 … 分钟

适用于 E*Trade 交易策略的 AI 原生运行环境

在 Cursor、Claude Code 或任何 AI IDE 中编写策略。从 GitHub 部署至托管云端运行环境,享有原生 MCP 控制、日志和区域选择功能。

由 TradingHost 工程团队撰写

第 01 部分 · 一览

一览

经纪商
E*TRADE Securities LLC
经纪商类型
受美国监管的全功能券商(自 2020 年 10 月起为 Morgan Stanley 子公司)
资产类别
美股、美股期权、美国期货、债券、ETF、共同基金
资产覆盖范围
美股(NYSE、NASDAQ、ARCA、BATS、IEX 上市股票)、美国上市期权(OCC 清算的股票和指数期权,单腿及多腿组合)、通过 Power E*TRADE Pro 交易的美国期货、债券(国债、企业债、地方政府债)、ETF、共同基金。不支持直接进行加密货币交易。
运行环境模式
容器化策略运行环境
部署源
GitHub
编程语言
任何可在容器中运行的语言
常用集成
支持 OAuth 1.0a 的 E*TRADE REST API、pyetrade(社区 Python 库)、带 HMAC-SHA1 签名的原生 HTTP 客户端、自定义连接器
AI 工作流集成
适用于 Cursor、Claude Code、GitHub Copilot 及 CLI 智能体的 MCP 控制面板
TradingHost 角色
运行环境、部署、日志、健康检查、区域选择、MCP 控制
E*TRADE 职责
券商账户、API 接入、行情数据、执行场所、托管、清算、税务申报、保证金管理
监管机构
E*TRADE Securities LLC:SEC 和 FINRA 注册经纪商-交易商 (CRD 8163)。SIPC 成员。
美国零售客户
是。提供用于开发的 sandbox 环境。
隶属关系
TradingHost 保持独立,与 E*TRADE Securities LLC 或其自 2020 年 10 月起的母公司 Morgan Stanley 无任何隶属关系。

第 02 部分 · E*Trade 提供的服务

E*Trade 提供的服务

E*TRADE 提供了用于美股、期权、账户状态和行情数据的 REST API,并使用 OAuth 1.0a 请求签名进行身份验证。期货交易通过 Power E*TRADE Pro(桌面端)进行路由,而不通过 REST API。由于大多数现代券商都使用 OAuth 2.0 承载令牌(bearer token),而 OAuth 1.0a 的签名逻辑更为复杂,因此这是最核心的开发细节。

市场与策略模式

  • 通过 REST API 执行的美股系统化策略
  • 需满足审批权限等级的美股多腿期权订单
  • 退休账户及应税账户的投资组合再平衡
  • Power E*TRADE Pro 期货(独立的桌面端平台)
  • 在实盘部署前通过 sandbox 验证的策略
  • 每次 REST 调用均需进行 OAuth 1.0a 请求签名

API 接口

产品接口
E*TRADE REST API 适用于美股、美股期权、账户状态、行情数据、交易记录和订单历史。期货和外汇通过独立的桌面端平台 Power E*TRADE Pro 处理;REST API 目前不对零售用户开放期货下单接口。sandbox 端点与生产环境的接口结构完全一致。
连接方式
通过 HTTPS REST 请求 api.etrade.com(生产环境)或 apisb.etrade.com(sandbox 环境)。所有请求均需按照 OAuth 1.0a 进行 HMAC-SHA1 签名;access token 有效期较短,需要自动化的重新授权流程。
身份验证
采用带请求签名的 OAuth 1.0a。consumer key 和 consumer secret 通过 E*TRADE 开发者网站颁发;用户通过 three-legged OAuth 流程对应用进行 E*TRADE 账户授权。每个请求都必须使用 HMAC-SHA1 进行签名;该认证流程明显比新一代券商所使用的 OAuth 2.0 承载令牌(bearer-token)模式更为繁琐。

具体细节请参考 E*Trade

具体端点、速率限制、期权审批要求以及行情数据权限请参阅 E*Trade 的开发者文档。

第 03 部分 · 使用 AI 构建

使用 AI 构建您的 E*Trade 策略

选择一种集成方式,Fork 一个起步模板,然后在 AI IDE 中编写您的策略。Cursor、Claude Code、GitHub Copilot 以及基于 CLI 的 AI Agent 均可配合相同的原生 GitHub 部署循环。

  • 原生 E*Trade REST

    直接向 api.etrade.com(生产环境)或 apisb.etrade.com(sandbox 环境)发起 HTTPS REST 请求。使用 HMAC-SHA1 进行 OAuth 1.0a 请求签名。

  • pyetrade

    社区 Python 封装库,负责处理 OAuth 1.0a 签名流程,并将 REST 端点封装为 Python 方法。

  • 框架适配器

    NautilusTrader 提供社区 E*Trade 适配器;其支持范围和成熟度因版本而异。

  • 自定义连接器

    自行开发实现。OAuth 1.0a 签名逻辑是最需要准确实现的部分;REST 端点本身则相对简单直接。

E*Trade 产品的库与框架支持情况

OAuth 1.0a 签名流程是最具特征的对接细节;对于 Python 项目,pyetrade 可以处理该流程。由于 REST API 中不包含期货接口,因此矩阵中的期货单元格均为“no”。

库或框架美股美股期权期货沙盒环境
Native REST + OAuth 1.0a支持支持文档未说明支持支持
pyetrade支持支持文档未说明支持支持
NautilusTrader部分支持部分支持文档未说明支持部分支持
Custom connector支持支持文档未说明支持支持

✓ 表示根据库或接口文档确认支持。“no” 表示该接口未开放该资产类别;“check adapter” 表示支持情况因版本而异。

TradingHost 不强求使用特定库。它直接运行您的项目。

使用 AI 编写

OAuth 1.0a 签名流程是 E*Trade 对接中最值得做成模板复用的部分。一旦搞定了签名辅助函数,REST 端点本身就非常简单,AI IDE 可以快速搭建好脚手架。TradingHost 的 MCP 控制面板则为可观测性和运行环境管理实现了闭环。

Section 04 · 在 TradingHost 上运行

在 TradingHost 上运行您的代码

E*Trade 提供经纪商账户、API 接入和执行场所。TradingHost 则提供生产环境,用于运行您连接至 E*Trade 的策略。

您无需在笔记本电脑、台式机、通用 VPS 或手动配置的服务器上运行策略代码,只需从 GitHub 部署到 TradingHost 托管的容器运行环境中即可。

您

  • 您的代码库包含您的代码。
  • 您的部署定义了其运行方式。
  • 您的策略连接至 E*Trade。

TradingHost

  • 保障运行环境持续在线。
  • 呈现日志与健康检查。
  • 提供区域选择。
  • 提供受控的部署面板。

部署流程

  1. 步骤 01

    连接 GitHub

    授权 TradingHost 访问您的 GitHub 账户。

  2. 步骤 02

    关联代码库或从模板开始

    将 TradingHost 指向您现有的 E*Trade 策略仓库,或者 fork 一个 pyetrade 起步项目,以获取已内置 OAuth 1.0a 签名辅助函数的可用基线。

  3. 步骤 03

    部署到 TradingHost 容器中

    选择一个区域(对于美股和期权撮合引擎,US-East 是自然之选),提供您的 E*Trade consumer key、consumer secret 和 access tokens 作为环境变量,然后进行部署。TradingHost 会在托管的 Kubernetes 基础设施上运行您的策略。

  4. 步骤 04

    监控日志与健康状况

    通过 TradingHost 控制台实时查看日志、健康状况和运行状态。您也可以在任何 AI IDE 中通过 MCP 访问相同的控制面板。交易执行始终保持在策略代码路径上,而不通过 MCP。

  5. 步骤 05

    更新与重新部署

    将更改推送至您的 GitHub 主分支,TradingHost 将自动重新部署。

Section 05 · 运维说明

E*Trade 运维说明

在容器化云端运行环境中实际运行 E*Trade 策略时需要注意的坑。OAuth 1.0a 签名流程是核心的开发痛点。以下所有陈述均引用或改写自 E*Trade 的官方开发者文档。

  1. 01 · OAuth 1.0a

    每次 REST 调用均需进行请求签名

    E*TRADE 的 REST API 使用 OAuth 1.0a 进行身份验证,这要求对每个请求都进行 HMAC-SHA1 签名。这明显比新一代券商所使用的 OAuth 2.0 承载令牌(bearer token)更为繁琐。pyetrade 及类似的社区库会在内部处理签名;自定义连接器则需要从一开始就编写签名辅助函数。此外,令牌轮换也需要通过 three-legged OAuth 重新授权流程,而无法通过简单的刷新令牌(refresh-token)进行交换。

  2. 02 · Sandbox

    apisb.etrade.com 镜像了 api.etrade.com 的端点结构

    E*TRADE 的 sandbox 使用主机名 apisb.etrade.com,其端点路径与生产环境的 api.etrade.com 完全一致。每个环境的 consumer credentials 和 access tokens 都是独立的。将策略从 sandbox 升级到实盘只需更换主机名和凭据,策略代码无需更改。

  3. 03 · 应用审批

    生产环境应用访问权限需经审批

    E*TRADE 免费发放 sandbox 的 consumer credentials;而生产环境凭据则需要通过开发者网站进行单独的应用审核。在部署实盘前,请预留对接准备时间;仅限 sandbox 的部署可以无限期运行。

  4. 04 · 通过 Power E*TRADE Pro 交易期货

    REST API 未向零售用户开放期货下单功能

    E*TRADE 的期货交易通过 Power E*TRADE Pro 进行,这是一个独立的桌面平台。E*TRADE REST API 未向零售用户开放期货下单功能。需要交易期货的策略需要使用其他券商(如 IBKR、TradeStation、Tradier),或者需要通过独立主机上的 Power E*TRADE Pro 桌面端进行桥接。

  5. 05 · 期权审批

    期权审批按账户进行且分级

    在 E*TRADE 进行期权交易需要分级审批。审批等级决定了订单端点接受哪些策略;超出审批等级的订单将在券商端被拒绝。请根据您已获批的等级设计策略,或在部署前向 E*TRADE 申请升级。

Section 06 · 适用对象

适用对象

TradingHost E*Trade 运行环境最适合:

  • 在 AI IDE(如 Cursor、Claude Code)中构建策略的开发者
  • 美股系统化策略编写者
  • 多腿期权策略自动化开发者
  • 长周期投资组合再平衡程序
  • 正在转向云端托管自动化的现有 E*Trade 账户持有人

连接 GitHub 并创建您的首个策略是免费的。

Section 08 · 常见问题

常见问题

没有。TradingHost 是独立的,与 E*TRADE Securities LLC 或其自 2020 年 10 月起的主母公司 Morgan Stanley 均无隶属关系。

不是。TradingHost 是交易策略代码的运行环境。E*TRADE Securities LLC 是经纪交易商(FINRA CRD 8163)及 SIPC 成员。您的账户、资产托管、市场接入、结算和税务申报均由 E*Trade 负责。

不会。您的策略代码会根据您自己的逻辑、账户权限和集成方式连接到 E*Trade 并发送订单指令。TradingHost 仅提供运行该代码的运行环境。

不提供。E*Trade API 访问权限由 E*Trade 提供。您需要自行负责您的 E*Trade 账户、应用注册、OAuth 令牌以及遵守 E*Trade 的条款。

无法通过 REST API 进行。E*Trade 的期货交易通过 Power E*TRADE Pro 进行,这是一个独立的桌面平台。如果您的策略需要交易期货,请考虑使用 IBKR、TradeStation 或 Tradier,它们都通过其 REST API 开放了期货交易功能。

可以,但须符合 E*Trade 的期权审批要求。审批等级决定了券商接受哪些策略;TradingHost 无法绕过该审批。

E*Trade 使用带有 HMAC-SHA1 请求签名的 OAuth 1.0a,这比 Alpaca、Tradier、Schwab、TradeStation 和 Tastytrade 使用的 OAuth 2.0 承载令牌(bearer-token)模式更为陈旧。每个请求都必须进行签名,且令牌轮换需要通过 three-legged OAuth 流程。像 pyetrade 这样的社区库可以处理这一过程;自定义连接器则需要从一开始就配备签名辅助工具。

任何可以在容器中运行的语言。E*Trade 的 API 是 HTTPS REST,因此任何支持 HMAC-SHA1 签名的 HTTP 客户端都可以与其通信。pyetrade 是目前维护最活跃的社区 Python 封装库。

在 developer.etrade.com 注册一个 sandbox 应用以获取 consumer credentials。运行一次 three-legged OAuth 流程以获取 access tokens。针对 sandbox 进行开发。准备就绪后,申请生产环境凭据(需单独审批)。连接您的 GitHub 仓库,将其关联到 TradingHost,并在部署时将凭据配置在 TradingHost Secrets 中。

保存在您通过 GitHub 控制的 secrets 工作流中。TradingHost 在运行时通过 GitHub 仓库 secrets、环境 secrets 或您自己认可的密钥管理流程读取它们。TradingHost 不需要托管您的 consumer key、consumer secret 或 access tokens。请参阅平台 secrets。

不需要。策略绝不需要提现或资金划转权限。

可以。TradingHost 支持针对 AI IDE(包括 Cursor、Claude Code、GitHub Copilot 以及基于 CLI 的 AI agent)的基于 MCP 的控制。MCP 是一个控制和可观测性界面,而非交易执行路径。

不会。PDT 规则(FINRA Rule 4210)由 E*Trade 强制执行,而非 TradingHost。资产低于 $25,000 的保证金账户在进行日内交易时会受到 PDT 限制。

不会。您的 1099 表格在年底由 E*Trade 提供,而非 TradingHost。

不享有。SIPC 为您的 E*Trade 证券账户提供最高 $500,000 的保障(包括 $250,000 的现金)。TradingHost 的运行环境不享有 SIPC 保险,因为 TradingHost 不是券商。

TradingHost 在 EU 和 US-East 区域运行。对于美股和期权撮合引擎,US-East 是自然之选。请参见区域页面。

不支持。TradingHost 专注于生产环境的运行与部署。回测应当在您的研究技术栈、框架或 AlgoBuilder 中进行。