mcpField
O
opportunity-scanner

opportunity-scanner

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

关于 opportunity-scanner

基于 Python 的技能,通过分阶段筛选 Hyperliquid 永续合约市场,结合行情数据和技术评分寻找交易候选。其流程包含小时趋势门槛、硬性排除条件及跨轮扫描跟踪。

主要功能

  1. 01按流动性筛选市场
  2. 02加入聪明资金与新鲜度信号
  3. 03分析 4h、1h 和 15m K 线
  4. 04按四个市场维度评分
  5. 05应用 BTC 宏观调整
  6. 06跟踪多轮扫描的分数变化

适用场景

  1. 01筛选永续合约交易候选
  2. 02检查交易设想是否顺应小时趋势
  3. 03复查多轮扫描中的机会评分变化

安装

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

$npx skills add https://github.com/senpi-ai/senpi-skills --skill opportunity-scanner

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

包含的文件

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

references/
config-schema.md
hourly-trend.md
output-schema.md
scoring.md
source-code-v5.md

详细介绍

Opportunity Scanner v5

Hyperliquid 上有 521 个永续合约。获取所有合约的 K 线并计算技术指标会消耗 500k+ 个令牌。此扫描器会筛查所有合约,但只在真正的机会出现时消耗令牌。

所有计算均在 Python 中完成。几乎不消耗 LLM 令牌。

4 阶段漏斗

阶段 0:BTC 宏观背景

来源:BTC 4h + 1h K 线(2 次 API 调用)。 输出:btc_trend(strong_down/down/neutral/up/strong_up)以及应用于所有最终分数的 macro_modifier。可通过 scanner-config.json 配置。

阶段 1:批量筛查(约 0 个 LLM 令牌)

来源:单次 API 调用 — metaAndAssetCtxs。 筛选条件:24h 成交量 > $500K(可配置)。 输出:约 70 个符合最低流动性要求的资产。

阶段 2:聪明钱 + 新鲜度叠加层(约 0 个 LLM 令牌)

来源:leaderboard_get_markets + leaderboard_get_top(limit=100)。 每个资产两个条目(多头 + 空头)——保留占主导的一方。 新鲜度:avgAtPeak(>85% = 活跃,<50% = 过时)、nearPeakPct。 筛选:按快速评分选出前 15-16 名。强制纳入聪明钱资产中排名前 8 的资产。

阶段 3:深入分析 — 多时间框架(约 0 个 LLM 令牌)

通过 ThreadPoolExecutor 并行获取 K 线(约 20 秒,串行约 60 秒)。

时间框架周期K 线数量用途
4h7 天~42宏观趋势(EMA 5/13 交叉)
1h24h~24小时级趋势结构 + RSI、成交量、支撑/阻力位、形态
15m6h~24入场:RSI、形态、动量、成交量背离

v5:小时级趋势分类——分析 1h 数据中的摆动高点/低点,将趋势分类为 UP/DOWN/NEUTRAL。算法详见 references/hourly-trend.md。

这是所有交易决策的首要门槛。 绝不在 hourlyTrend: "DOWN" 时开多,也不在 hourlyTrend: "UP" 时开空。

各时间框架的错误恢复:如果 15m 获取失败,分析会继续使用 4h+1h 数据。

阶段 4:跨扫描动量

将结果保存到 scan-history.json。计算 scoreDelta(与上次扫描相比的变化)和 scanStreak(连续出现次数)。

4 大支柱评分(各占 25%,总分 0-400)

完整的分值明细见 references/scoring.md。

支柱 1:聪明钱(25%)

PnL 贡献分档、交易者数量(v5:400+ = +30 分)、加速情况、新鲜度。交易者数量可以区分真实信号与噪声——信心等级为 4 且有 130 名交易者时曾导致反复波动,而信心等级为 4 且有 400+ 名交易者时,信号始终都是真实的。

支柱 2:市场结构(25%)

成交量、成交量激增、未平仓量、未平仓量/成交量比率。

支柱 3:技术指标(25%)

4h 趋势一致性、1h 趋势结构(v5)、多时间框架 RSI 收敛、成交量确认、蜡烛图形态、动量。小时级逆势:-30 分(v5)。

支柱 4:资金费率(25%)

中性资金费率最佳(+40)。有利的极端值表现强劲(+35)。不利的极端值会造成负面影响(-20)。

BTC 宏观修正因子

应用于最终分数。BTC 下跌趋势期间会降低山寨币多头的分数,并提高空头的分数(反之亦然)。所有修正因子均可配置。

硬性淘汰条件(v5)

触发以下条件时,机会会被完全跳过,而不仅仅是扣分:

条件原因
小时级逆势1 分钟反弹中的聪明钱信心无法抵消 2 周的下跌趋势。$346 的教训。
RSI 极端(空头 < 20,多头 > 80)反转即将到来
4h 逆势且强度 > 50宏观趋势强烈不利
成交量衰减(两个时间框架上的比率均 < 0.5)缺乏流动性
资金费率严重不利(> 50% 年化)费用拖累会吞噬利润
BTC 宏观逆风 > 30 分全市场风险

架构

┌──────────────────────────────────────────┐
│  Stage 0: BTC macro (2 API calls)        │
├──────────────────────────────────────────┤
│  Stage 1: metaAndAssetCtxs → ~70 assets  │
├──────────────────────────────────────────┤
│  Stage 2: SM + freshness → top 15-16     │
├──────────────────────────────────────────┤
│  Stage 3: parallel candle fetch + v5     │
│  hourly trend classification             │
├──────────────────────────────────────────┤
│  Stage 4: cross-scan momentum            │
├──────────────────────────────────────────┤
│  v5: Hard disqualifier check             │
├──────────────────────────────────────────┤
│  Final: scored JSON → LLM formats report │
│  Total: ~5k LLM tokens                  │
└──────────────────────────────────────────┘

文件

文件用途
scripts/opportunity-scan-v5.pyPython 流水线——获取数据、评分并应用小时级门槛
scripts/opportunity-report.sh封装脚本——运行流水线并输出 LLM 提示词
scanner-config.json用户偏好:风险、杠杆、宏观修正因子
scan-history.json自动维护:用于跨扫描追踪的最近 12 次扫描记录
active-positions.json当前持仓(冲突标记)

配置架构

完整配置及所有选项请参阅 references/config-schema.md。

输出格式

完整的输出 JSON 架构请参阅 references/output-schema.md。

每个机会的关键字段:asset、direction、leverage、finalScore、hourlyTrend、trendAligned、pillarScores、smartMoney、technicals、funding、risks、scoreDelta、scanStreak。

被取消资格的资产会单独报告,并附带 reason 和 wouldHaveScored,以确保透明度。

源代码

请参阅 references/source-code-v5.md,了解 Python 扫描器 v5 的新增内容(小时趋势分类、评分调整、硬性取消资格逻辑)。

Cron 设置

每 10–30 分钟运行一次(可选用时间感知调度):

python3 scripts/opportunity-scan-v5.py | python3 scripts/opportunity-report.sh

从 v4 迁移

可直接替换。所有 v5 功能均有合理的默认值:

  • 默认启用小时趋势门控(设置 hourlyTrendGate: false 可禁用)
  • 逆小时趋势惩罚为 -30 分(可配置)
  • 输出中新增 hourlyTrend 和 trendAligned
  • disqualifiedAssets 会显示被过滤的资产
  • 自动新增 400+ 层级的 SM 交易者数量

评论

支持 Markdown