mcpField
M
mantis-strategy

mantis-strategy

github.com/senpi-ai其他14055 次安装今天更新
代码仓库

关于 mantis-strategy

MANTIS 是一套交易策略,用于发现 BTC 显著波动后尚未跟进的相关山寨币,并按信心度发出入场信号。它还设置领涨资产反转退出、时间边界和风险控制。

主要功能

  1. 01检测 BTC 波动后滞后的资产
  2. 02按跟随率和信心度筛选信号
  3. 03按信心等级确定入场规模
  4. 04在领涨资产反转或超时后退出
  5. 05执行持仓与亏损限制

适用场景

  1. 01寻找可能跟随 BTC 补涨的山寨币
  2. 02依据历史滞后与跟随数据建立交易
  3. 03在领涨资产走势反转时平仓

MCP 相关

Producer 通过 `SenpiClient.mcp_call()` 调用 Senpi 市场和账户工具,并可在领涨资产反转时调用 `close_position`。Runtime 使用 `create_position` 和 DSL 退出工具。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/senpi-ai/senpi-skills --skill mantis-strategy

安装后在 Claude Code 中输入/mantis-strategy确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
runtime.yaml
config/
mantis-config.example.json
references/
cross-asset-flow-guide.md
skill-attribution.md
scripts/
mantis_config.py
mantis_state.py
mantis-producer.py

详细介绍

🦎 MANTIS v6.0.0 — Slipstream

螳螂兼具耐心与速度。静待,然后出击。

v6.0.0 (2026-05-12) — 仅迁移底层基础设施

策略主张没有变化。v5.0 的入场过滤条件、按信心等级调整仓位、动态 hard_timeout 和反向领头资产否决逻辑均原样保留。底层基础设施有六项切换:

  1. MCP 传输:从 mcporter 子进程(冷启动需 2.5-5s)切换为进程内 HTTPS SenpiClient.mcp_call()(约 280ms)。
  2. 信号发送:扫描器过去会直接调用 create_position;现在生产端通过 push_signal() 向运行时 /signals 发送信号。运行时通过 LLM 门控的 mantis_entry 操作,使用 FEE_OPTIMIZED_LIMIT 开仓,并从信号数据中传入 leverage 和 marginUsd,以按等级调整仓位。
  3. 反向领头资产否决逻辑现已生效。 v5.0 会输出 VETO_CLOSE stdout JSON,但没有运行时操作消费该 JSON,因此实际上什么也没发生。v6.0 将其接入生产端权威操作——当领头资产从入场值反向变动超过 1% 时,触发 cfg.mcp_call("close_position", ...)。运行时无法表达“如果另一种资产的 4h 变动反向达到 X%,就平掉此仓位”;这一策略主张由生产端负责。
  4. 调度器:从 openclaw cron(60s)切换为 producer_daemon(interval_seconds=60)。采用长驻进程;scanner_lock 支持过期 PID 自动恢复。
  5. 风险门控:Python MAX_DAILY_ENTRIES 和 asset-cooldowns.json 替换为声明式 risk.guard_rails 块。已删除 state/asset-cooldowns.json(运行时的 per_asset_cooldown_minutes: 240 为权威配置)。
  6. 退出手续费:DSL 平仓从 MARKET(吃单,0.045%)切换为 FEE_OPTIMIZED_LIMIT(优先挂单,0.015%,ALO 超时 60s,超时后回退为吃单)。

保留的状态文件(由生产端负责,不泄漏到运行时):

  • state/position-metadata.json — 每种资产的 leader_pct_at_entry(否决检查必需)
  • state/entry-log.jsonl — 仅用于可观测性(不再用于每日上限计数)

Mantis 的功能

Mantis 每 60 秒监控一次 market_get_cross_asset_flows。当领头资产(目前为 BTC)出现显著的 4h 变动时,该工具会找出与之相关、历史上通常跟随该领头资产但尚未响应的替代币。Mantis 根据严格标准筛选这些滞后资产,选出信心最高的一种,并发出信号,以领头资产变动的方向买入该滞后资产——仓位大小由信心决定,硬性超时则根据该替代币的典型滞后分布进行校准。

策略主张

纯统计优势,时间边界明确:

  • 优势:85% 以上时间跟随领头资产且时间波动较低的替代币,在领头资产变动后很可能会补涨或补跌
  • 时机:替代币历史 avg_lag_minutes 决定交易窗口
  • 退出:要么在 avg_lag × 1.5 分钟内完成追赶,要么就不会发生
  • 否决:如果持仓期间领头资产反转,整个策略主张即告失效,Mantis 会立即平仓(由生产端调用 close_position)

入场标准(必须全部通过——沿用 v5.0)

过滤条件阈值确保事项
follow_rate≥ 0.85替代币历史上有 85% 以上的变动会跟随领头资产
confidence≥ 0.75由相关性、跟随率、滞后时间和 SM 一致性综合得出
gap_pct≥ 1.5%(绝对值)追赶机会有实际意义
sm_starting_to_rotatetrue聪明钱正在确认追赶走势
lag_stddev_minutes≤ 90时机足够可预测,适合交易
资产尚未开仓不对同一种资产加倍开仓
资产不在 per_asset_cooldown_minutes 范围内由运行时强制执行(240min)

仓位大小 — 信心等级(沿用 v5.0)

仓位大小直接随 confidence 分数调整。生产端计算基于等级的 marginUsd 和 leverage,并将其写入信号 data;LLM 将两者传入运行时的 OPEN_POSITION 负载。

信心保证金占比杠杆
≥ 0.9275%8x
≥ 0.8550%7x
≥ 0.7525%5x

硬性上限:8x 杠杆,可用保证金名义金额的 75%。

方向

跟随领头资产:领头资产 4 小时涨幅为正 → 做多滞后资产,涨幅为负 → 做空。Mantis 绝不会逆着领头资产的方向操作;整个策略的核心是“山寨币将追上领头资产的走势”。

退出逻辑 — 按优先级排列的三层机制

  1. 领头资产反转否决(生产端,v6.0 已正确接入)——每 60s 一次,Mantis 会检查当前领头资产的 4 小时涨跌幅与入场时的涨跌幅。如果领头资产相较入场时反转超过 1.0%,Mantis 会直接调用 close_position,参数为 orderType: FEE_OPTIMIZED_LIMIT + ensureExecutionAsTaker: true,ALO 超时设为 30s。策略依据是领头资产的走势;如果走势失效,交易也就失效——但优先使用 Maker,并保证在超时后回退到 Taker,可为每笔以 Maker 成交的平仓节省 0.030%。否决机制比基于回撤的 DSL 退出略微更依赖时效,因此超时时间为 DSL 退出的一半(30s,而非 60s)。

  2. 动态硬超时(生产端,通过信号数据传递)——avg_lag_minutes × 1.5,限制在 [30, 240] 分钟内,并通过信号 data.hardTimeoutMinutes 传递。如果山寨币在该时间窗口内尚未追上,追涨可能就不会发生——DSL hard_timeout: 240 的上限作为兜底。

  3. DSL 跟踪退出——对窗口期内的盈利仓位使用标准的 Phase 1 / Phase 2 跟踪逻辑:

    • Phase 1 最大亏损:12%
    • Phase 2 跟踪档位:5/30、10/60、15/75、25/85
    • 峰值疲弱时平仓:20 min,最小价值 1.5%
    • 使用 FEE_OPTIMIZED_LIMIT 退出(v6.0 的成果)

风险控制

控制项v6.0 来源数值
最大并发仓位数strategy.slots2
单资产冷却时间risk.guard_rails.per_asset_cooldown_minutes240 min
每日入场上限risk.guard_rails.max_entries_per_day6
最大仓位名义价值生产端上限可用保证金的 75%
每日亏损限额risk.guard_rails.daily_loss_limit_pct10%
最大连续亏损次数risk.guard_rails.max_consecutive_losses3
亏损后冷却时间risk.guard_rails.cooldown_minutes60 min
回撤暂停阈值risk.guard_rails.drawdown_halt_pct20%
每日切换时重置risk.guard_rails.drawdown_reset_on_day_rolloverfalse

使用的 MCP 工具

生产端(进程内通过 SenpiClient.mcp_call 调用):

  • market_get_cross_asset_flows — 主要信号来源
  • strategy_get_clearinghouse_state — 当前仓位 + 账户价值
  • close_position — 领头资产反转否决触发时直接调用

运行时(senpi-trading-runtime 响应信号时调用):

  • create_position(通过 mantis_entry 操作使用 FEE_OPTIMIZED_LIMIT 入场)
  • 通过 FEE_OPTIMIZED_LIMIT 平仓执行 DSL 跟踪退出

Cron 调度频率

生产端守护进程每 60 秒运行一次。跨资产流数据本身每天在 00:00 UTC 由 hyperliquid-cross-asset-flow-cron 作业刷新;Mantis 使用其实时输出。

用户对话 Claude 会话的硬性规则

用户对话 Claude 会话不得调用以下任何工具: create_position、close_position、edit_position、 ratchet_stop_add、ratchet_stop_edit、ratchet_stop_delete、 cancel_order、strategy_close、strategy_close_positions。

这些工具仅供生产端守护进程 → 运行时操作路径(入场)、DSL ratchet 引擎(DSL 退出),以及生产端领头资产反转否决流程(唯一由生产端直接调用 close_position 的位置,且严格限于 position-metadata.json 中已跟踪领头资产发生反转的资产)。用户对话会话只能只读。

操作者安装

全新安装和从 v5.0 迁移的命令请参阅 README.md。

状态

v6.0.0 — helpers-native 迁移。 目前仅使用 BTC 作为领头资产。等这些资产的预计算滞后数据发布后,只需在 mantis_config.py 中修改一行配置,即可将 ETH/SOL/HYPE 添加为领头资产。

许可证

MIT — Copyright 2026 Senpi (https://senpi.ai)。

评论

支持 Markdown