| name | polymarket-signal-sniper |
| description | 从您自己的信号源中捕捉 Polymarket 的投资机会。使用具备 Trading Agent 级别安全性的工具来监控 RSS 源。 |
| metadata | {"author":"Simmer (@simmer_markets)","version":"1.5.2","displayName":"Polymarket Signal Sniper","difficulty":"intermediate"} |
Polymarket Signal Sniper
这是一个用于捕捉市场信号的自动化工具,它结合了Simmer的交易智能。
注意: 这只是一个模板。默认的信号来源是RSS订阅源,您可以根据需要将其替换为其他数据源(如API、Webhook或自定义数据抓取工具)。该工具会负责所有的市场匹配、风险控制以及交易执行等底层逻辑,而用户需要提供交易策略(即“alpha”部分)。
适用场景
当用户希望:
- 监控RSS订阅源以寻找交易机会
- 在市场反应之前根据突发新闻进行交易
- 自定义信号来源和关键词
- 为交易设置高级的风险保护机制时,可以使用此工具。
设置流程
当用户请求安装或配置此工具时,请按照以下步骤操作:
-
安装Simmer SDK
pip install simmer-sdk
-
获取Simmer API密钥
- 用户可以从
simmer.markets/dashboard的“SDK”选项卡中获取API密钥。
- 将密钥存储在环境变量
SIMMER_API_KEY中。
-
提供钱包私钥(用于实时交易)
- 这是用户在Polymarket钱包中的私钥(该钱包用于存放USDC)。
- 将私钥存储在环境变量
WALLET_PRIVATE_KEY中。
- SDK会使用此密钥在客户端自动签署交易订单,无需手动操作。
- 在使用Simmer平台进行模拟交易($SIM模式)时,此步骤可省略。
快速命令
python scripts/status.py
python scripts/status.py --positions
API参考:
- 基础URL:
https://api.simmer.markets
- 认证方式:
Authorization: Bearer $SIMMER_API_KEY
- 财产信息:
GET /api/sdk/portfolio
- 持仓情况:
GET /api/sdk/positions
快速入门(临时使用)
用户提供RSS订阅源和目标市场信息:
User: "Watch this RSS feed for greenland news: https://news.google.com/rss/search?q=greenland"
User: "Snipe any news about trump from this feed"
使用--feed和--market参数运行工具:
python signal_sniper.py --feed "https://news.google.com/rss/search?q=greenland" --market "greenland-acquisition" --dry-run
持久化配置(可选)
为了实现自动化的定期扫描,请通过环境变量进行配置:
| 配置项 | 环境变量 | 默认值 | 说明 |
|---|
| RSS订阅源 | SIMMER_SNIPER_FEEDS | (无) | 用逗号分隔的RSS地址列表 |
| 目标市场 | SIMMER_SNIPERMARKETS | (自动检测) | 用逗号分隔的市场ID列表;若未设置关键词,则自动从用户输入的关键词中识别市场 |
| 关键词 | SIMMER_SNIPER_KEYWORDS | (无) | 用于匹配的文章关键词 |
| 交易信心值 | SIMMER_SNIPER_CONFIDENCE | 0.7 | 最低交易信心值(0.0-1.0) |
| 每笔交易的最大金额(USD) | SIMMER_SNIPER_MAX_USD | 25 | 每笔交易的最大金额 |
| 每次扫描的最大交易数量 | SIMMER_SNIPER_MAX_TRADES | 5 | 每次扫描的最大交易次数 |
Polymarket的限制:
- 每笔交易至少需要5份资产。
- 低于此数量的交易将被拒绝,并显示错误信息。
工作原理
脚本的工作流程如下:
- 每次扫描时,会轮询配置的RSS订阅源。
- 根据用户设置的关键词过滤文章。
- 将匹配到的文章与目标市场进行匹配(若未设置市场,则自动从关键词中识别目标市场)。
- 对于每个匹配结果,调用SDK的相应接口进行风险检查:
- 检查用户当前的持仓情况
- 判断市场是否出现价格反转(例如最近的方向变化)
- 评估市场的流动性(是否容易发生滑点)
- 判断市场是否即将达成某种状态(如“解决”)
- 根据具体条件判断是否适合进行交易。
- 如果风险检查通过,根据文章的情感倾向决定交易方向。
- 通过SDK执行交易(同时遵守每次扫描的最大交易数量限制)。
- 记录已处理的文章内容,避免重复处理。
运行工具
执行扫描(默认为模拟运行,不进行实际交易):
python signal_sniper.py
执行真实交易:
python signal_sniper.py --live
仅查看信号信息(不执行交易):
python signal_sniper.py --scan-only
查看当前配置:
python signal_sniper.py --config
针对单次运行进行临时配置:
python signal_sniper.py --feed "https://..." --keywords "trump,greenland" --market "abc123"
查看已处理的文章:
python signal_sniper.py --history
解读警告信息
在交易前,请务必查看警告信息。系统会显示以下几种警告:
- MARKET RESOLVED:此时不宜进行交易。
- HIGH URGENCY: Resolves in Xh:判断信号是否及时。
- flip_flop_warning: SEVERE:市场波动剧烈,建议避开。
- flip_flop_warning: CAUTION:需谨慎操作,需要更明确的交易信号。
- Wide spread (X%):市场波动较大,建议减少持仓规模或跳过此次交易。
- Simmer AI signal: X% more bullish/bearish:参考Simmer的预测意见。
分析信号
找到匹配的文章后,请仔细分析:
- 阅读标题和摘要:了解新闻的具体内容。
- 检查市场达成条件:确认该新闻是否真正符合交易条件。
- 例如,标题中的“greenland”并不一定意味着“收购完成”,可能需要进一步确认具体内容。
- 评估信号可信度(0.0-1.0):判断信号与市场达成条件的关联程度以及消息来源的可靠性。
- 仅当满足以下条件时进行交易:
- 信号信心值大于设定阈值(默认0.7)。
- 无严重警告。
- 信号内容与市场达成条件相符。
示例对话
用户:“为Greenland市场设置新闻捕捉功能”
- 提供要监控的RSS订阅源。
- 配置目标市场ID和关键词。
- 设置定时任务以自动执行扫描。
用户:“检查这个RSS源中的交易信号”
- 运行命令:
python signal_sniper.py --feed "URL" --scan-only
- 查看找到的文章和潜在的交易机会。
用户:“从CoinDesk获取比特币相关的交易信号”
- 指定CoinDesk的RSS源和相关的市场。
- 查看匹配结果并决定是否进行交易。
用户:“我们处理了哪些交易信号?”
- 运行命令:
python signal_sniper.py --history
- 查看最近的处理记录和交易结果。
示例交易流程
1. RSS poll finds: "Trump and Denmark reach preliminary Greenland agreement"
2. Keywords match: "greenland", "trump"
3. Call context endpoint for market "greenland-acquisition-2027"
4. Check warnings: none severe ✓
5. Resolution criteria: "Resolves YES if US formally acquires Greenland by 2027"
6. You analyze: "preliminary agreement" ≠ "formally acquires" but bullish signal
7. Confidence: 0.75 (positive indicator, not definitive)
8. Check slippage: 2.5% on $25 ✓
9. Execute: BUY YES $25
10. Report: "🎯 Sniped: Trump/Greenland agreement → BUY YES $25"
故障排除
“未配置RSS订阅源”
- 在提示中提供RSS地址:
watch this RSS: https://...
- 或者将地址设置到环境变量
SIMMER_SNIPER_feedS中。
“未找到匹配文章”
- 确认关键词是否正确;可能是RSS源没有最新文章。
- 可以尝试使用
--scan-only选项查看订阅源的内容。
“因市场波动剧烈而跳过交易”
“滑点过高”
“文章已处理过”
“外部钱包需要预签名订单”
- 确保环境变量
WALLET_PRIVATE_KEY已设置。
- SDK会在该变量存在的情况下自动签署订单,无需手动操作。
- 解决方法:
export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>
- 请勿尝试手动签署订单或修改代码,SDK会自动处理。
“账户余额显示为0美元,但我有Polygon钱包中的资金”
选择合适的RSS订阅源
以下是一些建议:
- Google News RSS:
https://news.google.com/rss/search?q=YOUR_TOPIC
- 专业领域来源:通常比主流新闻来源更可靠,因为它们的新闻往往未被市场迅速反映。
- 官方来源:如政府或公司的公告。
- Twitter列表的RSS订阅:可以使用Nitter或RSS.app等工具获取相关内容。
该工具在以下情况下效果最佳:
- 订阅源与目标市场相关。
- 您有明确的关键词来过滤无关信息。
- 来源在主流媒体之前发布新闻。