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: 不要亏钱。
- 规则 #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