详细分析 ▾
运行时依赖
版本
添加 auto_redeem() 调用以支持外部钱包
安装命令
点击复制技能文档
在 Polymarket 上交易温度市场,使用 NOAA 预报数据。
这是一个模板。 默认信号是 NOAA 温度预报 — 可以使用其他天气 API、不同的预报模型或额外的市场类型(降水、风速等)进行重新调整。该技能负责所有的底层工作(市场发现、NOAA 解析、交易执行、安全保障)。你的智能体提供 alpha 收益。
何时使用此技能
当用户想要以下操作时使用此技能:
- 自动交易天气市场
- 设置 gopfan2 风格的温度交易
- 低价买入天气预测
- 查看他们的天气交易仓位
- 配置交易阈值或地点
v1.14.0 更新内容
- 修复环境变量名称以匹配 autotune 注册表(旧名称仍作为别名可用):
SIMMER_WEATHER_ENTRY → SIMMER_WEATHER_ENTRY_THRESHOLD
- SIMMER_WEATHER_EXIT → SIMMER_WEATHER_EXIT_THRESHOLD
- SIMMER_WEATHER_MAX_POSITION → SIMMER_WEATHER_MAX_POSITION_USD
- SIMMER_WEATHER_MAX_TRADES → SIMMER_WEATHER_MAX_TRADES_PER_RUN
- 新增可调参数:
SIMMER_WEATHER_SLIPPAGE_MAX— 可调整的滑点保护(默认 15%)。在流动性差的市场上进行研究模式时可设置更高。 - 新增可调参数:
SIMMER_WEATHER_MIN_LIQUIDITY— 跳过流动性低于此美元阈值的市场(默认 0 = 禁用)。在执行前预过滤流动性差的市场。 SIMMER_WEATHER_LOCATIONS和SIMMER_WEATHER_BINARY_ONLY现已成为 autotune 可调参数。
v1.13.0
- 仅二进制模式:新增
SIMMER_WEATHER_BINARY_ONLY配置,可跳过区间桶事件(例如 "NYC 34-35°F"),仅交易二进制是/否天气市场
v1.2.0
- 每次运行最大交易次数:新增
SIMMER_WEATHER_MAX_TRADES配置,限制每个扫描周期的交易次数(默认:5)
v1.1.1
- 状态脚本:新增
scripts/status.py用于快速检查余额和仓位 - API 参考:新增快速命令部分,包含 API 端点
v1.1.0
- 来源标记:所有交易都标记有
sdk:weather用于投资组合跟踪 - 智能仓位调整:基于可用余额的仓位调整(
--smart-sizing) - 上下文保护:检查反复警告、滑点、时间衰减
- 价格趋势检测:检测近期价格下跌以获得更强信号
设置流程
当用户请求安装或配置此技能时:
- 请求 Simmer API 密钥
SIMMER_API_KEY
- 请求钱包私钥(实时交易需要)
WALLET_PRIVATE_KEY
- SDK 会自动在客户端签名订单 — 无需手动签名
- 询问设置(或确认默认值)
- 将设置保存到环境变量
- 设置 cron(默认禁用 — 用户必须启用调度)
配置
| 设置 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
| 买入阈值 | SIMMER_WEATHER_ENTRY_THRESHOLD | 0.15 | 价格低于此值时买入 |
| 卖出阈值 | SIMMER_WEATHER_EXIT_THRESHOLD | 0.45 | 价格高于此值时卖出 |
| 最大仓位 | SIMMER_WEATHER_MAX_POSITION_USD | 2.00 | 每笔交易最大美元金额 |
| 每次运行最大交易次数 | SIMMER_WEATHER_MAX_TRADES_PER_RUN | 5 | 每个扫描周期最大交易次数 |
| 地点 | SIMMER_WEATHER_LOCATIONS | NYC | 逗号分隔的城市(NYC, Chicago, Seattle, Atlanta, Dallas, Miami) |
| 仅二进制 | SIMMER_WEATHER_BINARY_ONLY | false | 跳过区间桶事件(例如 "34-35°F"),仅交易二进制是/否市场 |
| 智能调整百分比 | SIMMER_WEATHER_SIZING_PCT | 0.05 | 每笔交易占用余额的百分比 |
| 最大滑点 | SIMMER_WEATHER_SLIPPAGE_MAX | 0.15 | 跳过滑点高于此值的交易(0.15 = 15%) |
| 最小流动性 | SIMMER_WEATHER_MIN_LIQUIDITY | 0 | 跳过流动性低于此美元金额的市场(0 = 禁用) |
SIMMER_WEATHER_ENTRY、SIMMER_WEATHER_EXIT、SIMMER_WEATHER_MAX_POSITION、SIMMER_WEATHER_MAX_TRADES支持的地点: NYC, Chicago, Seattle, Atlanta, Dallas, Miami
快速命令
# 检查账户余额和仓位 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
运行技能
# 模拟运行(默认 — 显示机会,不执行交易) python weather_trader.py# 执行真实交易 python weather_trader.py --live
# 使用智能仓位调整(使用投资组合余额) python weather_trader.py --live --smart-sizing
# 仅查看仓位 python weather_trader.py --positions
# 查看配置 python weather_trader.py --config
# 禁用保护(不推荐) python weather_trader.py --no-safeguards
# 禁用趋势检测 python weather_trader.py --no-trends
# 安静模式 — 仅在有交易/错误时输出(适合高频运行) python weather_trader.py --live --quiet
# 组合:频繁扫描,最小噪音 python weather_trader.py --live --smart-sizing --quiet
工作原理
每个周期脚本执行以下操作:
- 从 Simmer API 获取活跃的天气市场
- 按事件分组市场(每个温度日期是一个事件)
- 解析事件名称以获取地点和日期
- 获取该地点/日期的 NOAA 预报
- 找到与预报匹配的温度桶
- 保护:检查反复警告、滑点、时间衰减的上下文
- 趋势检测:寻找近期价格下跌(更强的买入信号)
- 买入:如果桶价格 < 阈值且保护通过 → 买入
- 卖出:检查未平仓仓位,如果价格 > 卖出阈值则卖出
- 标记:所有交易标记有
sdk:weather用于跟踪
智能仓位调整
使用 --smart-sizing,仓位大小计算如下:
- 可用 USDC 余额的 5%(可通过
SIMMER_WEATHER_SIZING_PCT配置) - 受最大仓位设置限制(默认 $2.00)
- 如果投资组合不可用则回退到固定大小
这可以防止过度部署,并根据账户规模进行调整。
保护
交易前,技能会检查:
- 反复警告:如果你的方向改变太多则跳过
- 滑点:如果预估滑点 > 15% 则跳过
- 时间衰减:如果市场在 < 2 小时内结算则跳过
- 市场状态:如果市场已结算则跳过
使用 --no-safeguards 禁用(不推荐)。
来源标记
所有交易都标记有 source: "sdk:weather"。这意味着:
- 投资组合按策略显示细分
- 复制交易技能不会卖出你的天气仓位
- 你可以单独跟踪天气盈亏
示例输出
🌤️ Simmer Weather Trading Skill ================================================== ⚙️ Configuration: Entry threshold: 15% (buy below this) Exit threshold: 45% (sell above this) Max position: $2.00 Locations: NYC Smart sizing: ✓ Enabled Safeguards: ✓ Enabled Trend detection: ✓ Enabled💰 Portfolio: Balance: $150.00 Exposure: $45.00 Positions: 8
📍 NYC 2026-01-28 (high temp) NOAA forecast: 34°F Matching bucket: 34-35°F @ $0.12 💡 Smart sizing: $2.00 (capped at max position) ✅ Below threshold ($0.15) - BUY opportunity! 📉 (dropped 15% in 24h) Executing trade... ✅ Bought 62.5 shares @ $0.12
📊 Summary: Events scanned: 12 Entry opportunities: 1 Trades executed: 1
故障排除
"Safeguard blocked: Severe flip-flop warning"
- 你在这个市场上改变方向太多了
- 等待后再交易
"Slippage too high"
- 市场流动性差,减少仓位大小或跳过
"Resolves in Xh - too soon"
- 市场即将结算,风险较高
"No weather markets found"
- 天气市场可能不活跃(季节性)
"External wallet requires a pre-signed order"
WALLET_PRIVATE_KEY未在环境中设置- 当此环境变量存在时,SDK 会自动签名订单 — 无需手动签名代码
- 修复:
export WALLET_PRIVATE_KEY=0x - 不要尝试手动签名订单或修改技能代码 — SDK 会处理
"Balance shows $0 but I have USDC on Polygon"
- Polymarket 使用 USDC.e(桥接的 USDC,合约
0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174)— 不是原生 USDC - 如果你最近将 USDC 桥接到 Polygon,你可能收到的是原生 USDC
- 将原生 USDC 交换为 USDC.e,然后重试
"API key invalid"
- 从 simmer.markets/dashboard → SDK 选项卡获取新密钥