用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/SZWzz/AStockPursue --skill paper-trading-diagnose命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | paper-trading-diagnose |
| description | 模拟盘问题诊断 — 排查策略无信号、不交易、异常亏损、数据源问题、风控频繁触发等常见故障,定位根因并给出修复建议。 |
| category | flow |
用户报告问题
↓
1. 检查运行状态 → running? stopped? error?
↓
2. 查看持仓 (positions) → 有预期持仓吗?
↓
3. 查看成交 (trades) → 最近有交易吗?exit_reason 是什么?
↓
4. 查看信号日志 (signal log) → 策略产生了信号吗?
↓
5. 查看权益曲线 (equity) → 亏损模式是什么?
↓
6. 查看数据源 (data_source) → 实际用的 loader 对吗?
↓
定位根因 → 给出修复建议
症状:signal log 为空,没有新交易
排查步骤:
generate() 方法是否返回了非零权重?是否因为市场条件不满足全部返回 0?GET /runs/{run_id}/bars?limit=5 看最近几根 bar 的 OHLCV,确认数据是否正常(没有全 0 或 NaN)data_source 字段——如果 loader 不可用,可能返回空数据interval 设置:如果是日线(1D),每天只有一个 bar,非交易日不会产生信号修复建议:
generate() 中添加日志/print 确认数据到达codes 是否包含正确的标的代码格式(如 000001.SZ 而非 000001)症状:signal log 有记录,但 positions 一直为空
排查步骤:
max_daily_loss_pct 是否过小导致日内熔断?max_position_pct:信号权重 × 初始资金 ÷ 当前价格 < 最小交易单位?trades 中 exit_reason:如果全是 stop_loss 或 trailing_stop,可能是止损太紧修复建议:
max_position_pct 下限症状:equity 曲线持续下降,回撤超过预期
排查步骤:
trades 中的每笔 pnl:是连续小亏(手续费侵蚀)还是单笔大亏(止损未触发)?use_intraday_stop:如果为 false,止损只在收盘价检测,可能错过 bar 内的大幅波动exit_reason:stop_loss / trailing_stop / take_profit 触发频率是否异常?修复建议:
use_intraday_stop: true症状:bar 数据为空、数据延迟、价格异常
排查步骤:
data_source:运行详情 header 显示的 loader 名称config.json → source 指定)和模拟盘可能不同(fallback 链)tushare 需要 token,可能 fallback 到 akshare(免费但数据质量低)修复建议:
症状:trades 中大量 exit_reason = "stop_loss",胜率低
排查步骤:
stop_loss_pct 设置:A 股日波动 2-3%,止损设 2% 以下容易频繁触发trailing_stop_pct:追迹止损太紧会过早止盈max_daily_loss_pct:触发后当日不再开新仓修复建议:
症状:status 变为 error
排查步骤:
GET /runs/{run_id} 的 status 和可能的 reason 字段generate() 抛异常)、数据源不可用连续失败修复建议:
诊断完成后,以以下格式输出:
## 诊断结果
**问题类型**:A-F 之一
**严重程度**:严重 / 一般 / 提示
**根因**:一句话描述
**证据**:
- 列出具体数据(如 trades 最近 3 笔、positions 状态、signal log)
**修复建议**:
1. 具体操作 1
2. 具体操作 2
基于 SOC 职业分类