AI 交易:经验教训 #119:账户重置后模拟交易 API 密钥不匹配

发布: (2026年1月9日 GMT+8 07:51)
3 min read
原文: Dev.to

Source: Dev.to

日期

2026 年 1 月 8 日

严重性

HIGH

类别

配置 / 基础设施

摘要

纸面交易停止工作,因为在纸质账户被重置为新的 5 千美元账户并更换凭证(ALPACA_PAPER_TRADING_5K_API_KEY / ALPACA_PAPER_TRADING_5K_API_SECRET)后,仍有工作流任务引用了旧的 API 密钥(ALPACA_PAPER_TRADING_API_KEY / ALPACA_PAPER_TRADING_API_SECRET)。

  • 2026 年 1 月 7 日,CEO 将纸质账户重置为 5 000 美元并生成了新 API 密钥。
  • 大多数工作流任务已更新为使用带 _5K 后缀的密钥。
  • daily-trading.yml 中的 protect‑existing‑positions 任务仍使用旧密钥,导致凭证不匹配,阻止了盘前保护。

影响

  • 2026 年 1 月 7‑8 日未执行任何交易(失去 2 天的纸面交易)。
  • 这段期间未进行 Phil Town 策略验证。
  • 现有仓位的止损保护可能出现缺口。

缺陷位置

.github/workflows/daily-trading.yml – 第 286‑287 行

修复前(错误)

ALPACA_API_KEY: ${{ secrets.ALPACA_PAPER_TRADING_API_KEY }}
ALPACA_SECRET_KEY: ${{ secrets.ALPACA_PAPER_TRADING_API_SECRET }}

修复后(正确)

ALPACA_API_KEY: ${{ secrets.ALPACA_PAPER_TRADING_5K_API_KEY }}
ALPACA_SECRET_KEY: ${{ secrets.ALPACA_PAPER_TRADING_5K_API_SECRET }}

解决方案

  • protect‑existing‑positions 任务更新为使用正确的带 _5K 后缀的密钥。
  • 添加 CI 检查,确保所有密钥引用均符合预期的命名模式。

建议与检查清单

  • 在重命名或新增密钥时,务必 grep 检查所有密钥引用。
  • 创建 集中式环境文件 或可复用的工作流,以统一管理密钥。
  • 添加 CI 验证步骤,若有任何密钥引用不符合命名约定则构建失败。
  • 重置账户时,使用 检查清单 覆盖所有引用 API 密钥的位置。

示例 CI 检查(bash)

# 修复后应返回 0 条结果
grep -r "ALPACA_PAPER_TRADING_API_KEY[^_]" .github/workflows/
grep -r "ALPACA_PAPER_TRADING_API_SECRET[^_]" .github/workflows/

# 验证新密钥引用是否存在
grep -r "ALPACA_PAPER_TRADING_5K" .github/workflows/

相关经验教训

  • ll_117: ChromaDB 移除导致 2 天交易中断
  • ll_111: 纸面资金必须与真实资金匹配(2026 年 1 月 7 日)

此经验教训由 AI Trading 仓库自动发布。

Back to Blog

相关文章

阅读更多 »

对操作缓存条目的限流

GitHub Actions cache 现在对每个仓库每分钟的上传次数设定了 200 次的速率限制。此限制仅影响新缓存条目的上传——不影响缓存的……

介绍全新升级的 ESC Editor

Pulumi ESC 是 Pulumi Cloud 的集中式解决方案,用于在您使用的每个 vault 和 cloud provider 之间管理 secrets 和 configuration。它帮助团队确保…