策略与PDT不匹配 | AI生成和翻译
我已检查了 GitHub Actions 日志和机器人代码。以下是诊断结果。
该 Action 本身没有问题
每次运行都是 绿色/成功。机器人登录 Tiger,检查市场,并正确管理仓位。没有崩溃,也没有错误。所以“它不起作用”并非 CI 失败——而是 交易行为 的问题。
你的“可用资产”实际发生了什么
追踪 6 月 26 日的会话运行情况:
| 时间 (UTC) | 净值 | 可用资金 | 持仓 |
|---|---|---|---|
| 13:47 首次入场 | 2078.64 | 2012.87 | 仅 NVDA |
| 14:43 之后 | ~2083 | ~1644 | INTC + NVDA |
| 6 月 28 日总结 | 2076.54 | — | INTC 4 股@128.09(-1.89),NVDA 1 股@198.60(-5.89) |
因此,可用资金一次性下跌了约 370 美元——这是机器人于 13:47 以 127.345 美元的价格买入 4 股 INTC(名义价值约 509 美元) 所致。这种下跌是 预期的:将现金投入仓位会减少自由现金。这并不是漏洞或错误。净值(清算价值)基本持平(约 2078),只是两个持仓在科技股疲软行情下处于小幅未实现亏损状态,导致资金略微缩水(LLM 简报本身也提到“科技板块下跌约 5%”)。
真正的缺陷:策略被 PDT 规则结构性束缚
这是值得修复的问题。查看运行记录 28253525557:
INTC (均值回归, 十五分钟): 信号=退出, 持仓=True
PDT 防护: INTC 今天已被买入,延迟退出以避免日内交易(止损单仍有效)
- 你的账户约 2000 美元,远低于 25000 美元的 PDT 门槛,因此每滚动 5 天你有约 3 次日内交易机会(
剩余日内交易次数:2)。 - 但
AAPL/INTC运行的是 15 分钟 K 线的均值回归策略——这是一种 日内 策略,旨在抄底并在同一交易时段卖出。 - PDT 防护机制(
engine.py:84-88,按设计正常工作)阻止了这种当日退出。因此机器人开了一个日内仓位,却 被禁止在日内平仓。当 INTC 的上涨动能消退并发出退出信号时,机器人无法行动——只能持仓,唯一的出路就是止损或隔夜持有。
这就是不匹配之处:快速的日内策略运行在一个法律上无法进行日内交易的账户上。 机器人在机械上“工作”,但由于无法完成完整的买卖循环,交易优势消失了。随着延迟止损的亏损头寸一路下行直至触发止损,净值缓慢流失。
应该怎么做
按影响程度排序,最简洁的修复方案如下:
- 将时间框架匹配到波段持仓周期。 将
AAPL/INTC的均值回归策略从FIFTEEN_MINUTES改为日线 K 线(config.py:27-30)。这样开仓和平仓自然跨越多个交易日,因此 不是 日内交易,PDT 防护机制永远不会触发。这使策略与账户允许的操作保持一致。 - 或者将账户资金补充至 25000 美元以上,以完全消除 PDT 限制(然后 15 分钟策略就能在需要时真正退出)。
- 或者切换到现金账户(没有 PDT 规则,但只能交易已结算现金——T+1 结算反而限制了交易频率)。
我推荐 方案 1——这仅需修改配置,无需成本,还能使现有逻辑协调一致。需要我进行修改吗(将两个均值回归品种移至日线 K 线)?
我未改动任何代码——这仅属于审查。请告知你希望的方向。
