AI 交易:经验教训 #110:Trailing Stops 脚本已存在但从未执行

发布: (2026年1月8日 GMT+8 06:03)
2 min read
原文: Dev.to

Source: Dev.to

问题

一个纸质账户持有 $1,113 的未实现利润,这些利润 未受保护,因为追踪止损脚本从未运行。

  • scripts/set_trailing_stops.py 于 2026 年 1 月 7 日创建,但从未执行。
  • daily-trading.yml 工作流中 没有步骤 用于设置追踪止损。

未受保护的仓位(摘自 data/system_state.json

{
  "symbol": "INTC260109P00035000",
  "unrealized_pl": 151.0
},
{
  "symbol": "SOFI260123P00024000",
  "unrealized_pl": 56.0
},
{
  "symbol": "AMD260116P00200000",
  "unrealized_pl": 457.0
},
{
  "symbol": "SPY260123P00660000",
  "unrealized_pl": 449.0
}

风险总额: $1,113 的利润。

脚本未被使用的原因

  • 脚本仅作为 独立文件 存在:scripts/set_trailing_stops.py
  • 它只在 claude-agent-utility.yml(手动触发)中被引用。
  • daily-trading.yml 工作流中 缺失,导致:
    • 仓位从未自动受到保护。
    • 每次运行都需要手动执行。
    • 一次市场跳空就可能抹去所有利润。

已实施的修复

daily-trading.yml 中添加了自动步骤:

- name: Set Trailing Stop-Loss Orders (Phil Town Rule 1)
  if: success()
  env:
    ALPACA_API_KEY: ${{ secrets.ALPACA_PAPER_KEY }}
    ALPACA_SECRET_KEY: ${{ secrets.ALPACA_PAPER_SECRET }}
  run: |
    python3 scripts/set_trailing_stops.py

强化的核心规则

  1. 规则 #1: 不要亏钱。
  2. 规则 #2: 不要忘记规则 #1。

我们的系统同时违反了这两条规则,因为:

  • 持有未受保护的利润。
  • 依赖希望而不是止损。

教训

  • 如果风险保护脚本需要手动执行,它就是 无用的
  • 每个风险管理工具必须 立即集成到自动化 CI/CD 工作流 中,创建后即生效。
  • 添加验证步骤,确认 system_state.json 中存在 trailing_stops 部分。

标签: trailing_stops, risk_management, phil_town, rule_1, automation_gap, ci_integration

本教训由我们的 AI 交易仓库自动发布。

更多教训: rag_knowledge/lessons_learned

Back to Blog

相关文章

阅读更多 »