mcpField
T
trade-prediction-markets

trade-prediction-markets

github.com/robonet-tech其他1305 次安装38 周前更新
代码仓库

关于 trade-prediction-markets

用于在 Polymarket 预测市场交易 YES/NO 代币的技能,面向研究和构建事件交易策略的用户。它涵盖市场发现、历史数据分析、策略生成与回测。

主要功能

  1. 01浏览并筛选预测市场
  2. 02分析 YES/NO 价格历史
  3. 03生成 Python 交易策略
  4. 04回测策略并查看指标
  5. 05检查市场数据可用范围

适用场景

  1. 01寻找加密货币或政治市场机会
  2. 02研究代币价格走势
  3. 03验证策略的历史表现

MCP 相关

该技能通过 MCPSearch 选择 Workbench 工具,访问市场事件、价格数据、策略生成和回测功能。

安装

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

$npx skills add https://github.com/robonet-tech/skills --skill trade-prediction-markets

安装后在 Claude Code 中输入/trade-prediction-markets确认已加载。

详细介绍

交易预测市场

快速入门

此技能可在 Polymarket 预测市场上交易现实世界事件的 YES/NO 代币。

首先加载工具:

Use MCPSearch to select: mcp__workbench__get_all_prediction_events
Use MCPSearch to select: mcp__workbench__get_prediction_market_data
Use MCPSearch to select: mcp__workbench__create_prediction_market_strategy

基本工作流:

1. Browse markets:
   get_all_prediction_events(market_category="crypto_rolling")
   → See BTC/ETH price prediction markets

2. Analyze market data:
   get_prediction_market_data(condition_id="0x123...")
   → Study YES/NO token price history

3. Create strategy:
   create_prediction_market_strategy(
       strategy_name="PolymarketArb_M",
       description="Buy YES when price <40%, sell at 55%"
   )

4. Test strategy:
   run_prediction_market_backtest(
       strategy_name="PolymarketArb_M",
       ...
   )

适用场景:

  • 交易现实世界事件(选举、美联储决策、体育赛事)
  • 希望获得二元结果敞口(YES/NO)
  • 对基于概率的交易感兴趣
  • 探索预测市场机会

可用工具(6 个)

get_all_prediction_events

用途:浏览可用的 Polymarket 预测市场

参数:

  • active_only(可选,布尔值):仅显示活跃事件(默认:true)
  • market_category(可选,字符串):按类别筛选

类别:

  • crypto_rolling:加密货币价格预测(下一个小时 BTC 会高于 $100k 吗?)
  • politics:选举、政策决策
  • economics:GDP、通胀、美联储决策
  • sports:比赛结果、锦标赛
  • entertainment:奖项、票房结果

返回:包含事件名称、类别、市场、条件 ID 和结算状态的事件列表

定价:$0.001

适用场景:发现交易机会、浏览可用市场

get_prediction_market_data

用途:分析特定市场中 YES/NO 代币的价格历史

参数:

  • condition_id(必填):Polymarket 条件 ID
  • start_date(可选):筛选起始日期(YYYY-MM-DD)
  • end_date(可选):筛选结束日期(YYYY-MM-DD)
  • timeframe(可选):K 线时间周期(1m、5m、15m、30m、1h、4h,默认:1m)
  • limit(可选,1-10000):每种代币的最大 K 线数量(默认:1000)

返回:市场元数据、YES 代币价格时间序列、NO 代币价格时间序列

定价:$0.001

适用场景:分析市场价格历史、研究代币行为、验证策略概念

create_prediction_market_strategy

用途:生成包含 YES/NO 交易逻辑的 Polymarket 策略代码

参数:

  • strategy_name(必填):策略名称(遵循格式:Name_RiskLevel)
  • description(必填):YES/NO 逻辑、退出标准和仓位规模的详细要求

返回:完整的 Python PolymarketStrategy 代码

定价:实际大模型成本 + 加价(最高 $4.50)

执行时间:约 30–60 秒

适用场景:构建新的 Polymarket 策略

run_prediction_market_backtest

用途:使用历史数据测试预测市场策略

参数:

  • strategy_name(必填):要测试的 PolymarketStrategy
  • start_date(必填):开始日期(YYYY-MM-DD)
  • end_date(必填):结束日期(YYYY-MM-DD)
  • condition_id(单一市场):特定条件 ID
  • asset(滚动市场):资产代码("BTC"、"ETH")
  • interval(滚动市场):市场周期("15m"、"1h")
  • initial_balance(可选):初始 USDC(默认:10000)
  • timeframe(可选):执行时间周期(默认:1m)

返回:回测指标(盈亏、胜率、仓位历史)

定价:$0.001

执行时间:约 20–60 秒

适用场景:验证预测市场策略

get_data_availability

用途:检查 Polymarket 市场的可用数据范围

参数:

  • data_type:"polymarket" 或 "all"
  • asset(可选):按资产筛选
  • include_resolved(可选):包含已结算市场

返回:包含日期范围的数据可用性信息

定价:$0.001

适用场景:回测前检查(确认数据充足)

get_latest_backtest_results

用途:查看近期预测市场回测结果

参数:

  • strategy_name(可选):按策略筛选
  • limit(可选):结果数量

返回:近期回测记录

定价:免费

适用场景:查看现有回测结果

核心概念

预测市场机制

YES/NO 代币结构:

Event: "Will BTC exceed $100,000 by end of hour?"

YES Token:
- Pays $1.00 if event occurs
- Pays $0.00 if event doesn't occur
- Current price = Market's implied probability
- Example: YES token at $0.65 = 65% implied probability

NO Token:
- Pays $1.00 if event DOESN'T occur
- Pays $0.00 if event occurs
- Current price = 1 - YES price
- Example: NO token at $0.35 = 35% implied probability

Total: YES price + NO price ≈ $1.00 (arbitrage if not)

交易方式:

Scenario: YES token at $0.40

Buy YES token:
- Pay $0.40 now
- If event occurs: Receive $1.00 (profit $0.60 = 150% return)
- If event doesn't occur: Lose $0.40 (-100% return)

Risk/Reward:
- Risking $0.40 to make $0.60
- 1.5:1 reward:risk ratio
- Need >40% win rate to break even
市场类别

加密货币滚动市场(高频):

Type: Continuous prediction markets
Frequency: Every 15m, 1h, 4h, etc.
Question: "Will BTC price increase next [interval]?"

Example:
- 1h BTC rolling market
- New market every hour
- Predict if BTC closes higher than current price

Use case: Short-term price speculation
Trading style: Active, high frequency

政治(事件驱动):

Type: One-time events
Frequency: Varies (elections, policy decisions)
Timeline: Days to months until resolution

Examples:
- "Will candidate X win election?"
- "Will bill Y pass Congress by date Z?"
- "Will Fed cut rates in next meeting?"

Use case: Event speculation
Trading style: Position trading, hold until resolution

经济(数据发布):

Type: Scheduled data releases
Frequency: Monthly, quarterly
Timeline: Fixed resolution dates

Examples:
- "Will CPI exceed 3.5% next month?"
- "Will GDP growth exceed 2% this quarter?"
- "Will unemployment rate decrease?"

Use case: Economic data predictions
Trading style: Position before release, exit at resolution

体育(预定赛事):

Type: Game outcomes, championships
Frequency: Varies by sport
Timeline: Hours to months

Examples:
- "Will Team X win game tonight?"
- "Will Player Y score >25 points?"
- "Will Team Z win championship?"

Use case: Sports betting alternative
Trading style: Event-based positions
策略类型

概率套利(均值回归):

Concept: Buy underpriced probabilities, sell when corrected

Example:
- Event has ~60% true probability
- YES token priced at $0.45 (implies 45%)
- Buy YES (underpriced)
- Sell when price reaches $0.60 (fair value)

Advantages: Mathematical edge if probability estimation accurate
Disadvantages: Requires good probability estimation

趋势跟踪(动量):

Concept: Follow YES/NO token price momentum

Example:
- YES token price rising from $0.30 → $0.45
- Buy YES (momentum continuing)
- Exit when momentum fades

Advantages: Captures strong moves
Disadvantages: Late entries, whipsaws

均值回归(区间交易):

Concept: Fade extreme probability movements

Example:
- YES token spikes to $0.85 (85% implied)
- Seems too high, buy NO token ($0.15)
- Exit when reverts toward mean

Advantages: Profits from overreactions
Disadvantages: Catching falling knives (sometimes market is right)

事件驱动(催化剂交易):

Concept: Trade based on news/catalysts

Example:
- Positive news for candidate X
- Buy YES token before market fully reacts
- Exit after market prices in news

Advantages: Early mover advantage
Disadvantages: Requires fast news reaction
滚动市场

滚动市场的运作方式:

BTC 1h Rolling Market:

Hour 1 (12:00-13:00):
- Market created at 12:00
- Question: "Will BTC close higher at 13:00 than 12:00?"
- YES/NO tokens trade 12:00-13:00
- Resolves at 13:00 based on price change

Hour 2 (13:00-14:00):
- New market created at 13:00
- Previous market resolved
- Profits/losses settled
- Process repeats

Strategy rolls from market to market automatically

滚动市场的优势:

  • 持续的交易机会
  • 更多回测数据(许多市场)
  • 可预测的结算时间
  • 适合算法交易

缺点:

  • 频率越高,手续费越多
  • 需要主动监控
  • 结算时间更短(留给你判断正确的时间更少)
Polymarket 策略框架

必需方法:

class MyPolymarketStrategy(PolymarketStrategy):
    def should_buy_yes(self) -> bool:
        """Check if conditions met for YES token purchase"""
        # Return True to buy YES token

    def should_buy_no(self) -> bool:
        """Check if conditions met for NO token purchase"""
        # Return True to buy NO token

    def go_yes(self):
        """Execute YES token purchase with position sizing"""
        # Calculate position size
        # Buy YES token

    def go_no(self):
        """Execute NO token purchase with position sizing"""
        # Calculate position size
        # Buy NO token

可选方法:

    def should_sell_yes(self) -> bool:
        """Exit YES position"""
        # Return True to sell YES tokens

    def should_sell_no(self) -> bool:
        """Exit NO position"""
        # Return True to sell NO tokens

    def on_market_resolution(self):
        """Handle market settlement"""
        # Called when market resolves
        # Settle P&L

最佳实践

市场选择

选择流动性强的市场:

High liquidity: >$50k volume
- Tight spreads
- Easy entry/exit
- Reliable pricing

Low liquidity: <$10k volume
- Wide spreads
- Difficult exits
- Slippage risk

Recommendation: Start with high-volume markets

优先选择结算标准明确的市场:

GOOD: "Will BTC close above $100k at 5pm EST on Jan 1, 2025?"
- Objective resolution source (price data)
- Specific date and time
- No ambiguity

BAD: "Will crypto have a good year in 2025?"
- Subjective ("good" is undefined)
- Ambiguous resolution criteria
- Dispute risk

避免结果模糊的市场:

Check resolution source:
- Data-driven (prices, scores, votes) → Good
- Subjective judgment → Bad
- "Community decides" → High dispute risk

Research past market resolutions:
- Were resolutions fair?
- Any disputed outcomes?
- Market maker credibility
策略开发

定义明确的概率阈值:

Example: Probability arbitrage strategy

Entry logic:
- Buy YES if price <40% (undervalued)
- Buy NO if price <40% (YES >60%, overvalued)

Exit logic:
- Sell YES at 55% (15% profit target)
- Sell NO at 55% (symmetric)
- Stop loss at 25% (37.5% loss, preserve capital)

纳入头寸规模管理:

Fixed percentage:
- 5% of capital per market
- Max 10 simultaneous positions = 50% deployed
- Conservative, predictable

Kelly Criterion:
- Size based on edge and odds
- More aggressive, optimal growth
- Requires accurate probability estimation

设置退出标准:

Profit targets:
- Sell at X% gain (e.g., 15% above entry)

Time-based exits:
- Close position Y hours before resolution
- Avoid last-minute volatility

Stop losses:
- Sell if price drops below Z% (e.g., 60% of entry)
- Preserve capital on wrong predictions
风险管理

头寸限制:

Per market: 5-10% of capital
- Limits single-market exposure
- Diversifies risk

Total exposure: 50-70% of capital
- Leaves cash buffer
- Allows for new opportunities
- Prevents overtrading

市场多元化:

Don't concentrate in one category:
- 3 crypto markets
- 2 politics markets
- 2 sports markets
→ Diversified across event types

Avoid:
- 10 BTC rolling markets
→ All correlated, high concentration risk

流动性监控:

Check before entry:
- Current volume
- Bid/ask spread
- Order book depth

If liquidity drops:
- May be unable to exit
- Accept mark-to-market loss
- Or hold until resolution

常见工作流

工作流 1:探索滚动市场

目标:寻找 BTC 滚动市场交易机会

1. Browse crypto rolling markets:
   get_all_prediction_events(market_category="crypto_rolling")
   → Lists BTC, ETH rolling markets with intervals

2. Check data availability:
   get_data_availability(data_type="polymarket", asset="BTC")
   → Verify sufficient history for backtesting

3. Analyze specific market:
   get_prediction_market_data(
       condition_id="0x123...",
       timeframe="1m",
       limit=5000
   )
   → Study YES/NO token price patterns

4. Identify strategy:
   - YES token often overshoots (>60%)
   - Mean reversion opportunity
   - Buy NO when YES >65%, exit at 55%

5. Create strategy:
   create_prediction_market_strategy(
       strategy_name="BTCRollingMeanRev_M",
       description="Buy NO token when YES >65%, exit at 55%..."
   )

6. Backtest strategy:
   run_prediction_market_backtest(
       strategy_name="BTCRollingMeanRev_M",
       asset="BTC",
       interval="1h",
       start_date="2024-01-01",
       end_date="2024-12-31"
   )

成本:约 $2.50($0.003 数据 + $2.50 策略创建)

工作流 2:事件驱动的政治交易

目标:在选举预测市场中交易

1. Browse politics markets:
   get_all_prediction_events(market_category="politics")
   → Find election markets

2. Analyze candidate X market:
   get_prediction_market_data(condition_id="election_123")
   → Study YES token price leading up to election

3. Identify pattern:
   - YES token very volatile
   - Spikes on good news, drops on bad news
   - Opportunities to buy dips, sell spikes

4. Create strategy:
   create_prediction_market_strategy(
       strategy_name="ElectionDipBuy_M",
       description="Buy YES when price drops >15% in 24h,
                   sell when recovers to pre-drop level..."
   )

5. Backtest (limited data for one-time events):
   - May have insufficient data for thorough backtest
   - Analyze manually or use similar past events

6. Trade carefully:
   - Event markets have less data
   - Higher uncertainty
   - Start with smaller position sizes

成本:约 $2.50

工作流 3:多市场投资组合

目标:构建多元化的预测市场投资组合

1. Identify multiple opportunities:
   - BTC 1h rolling (crypto)
   - Fed decision (economics)
   - Championship game (sports)

2. Create strategies for each:
   - Strategy 1: BTC rolling mean reversion
   - Strategy 2: Fed decision probability arbitrage
   - Strategy 3: Sports underdog value

3. Backtest all strategies:
   run_prediction_market_backtest(...) for each

4. Allocate capital:
   - BTC rolling: 15% (more data, higher confidence)
   - Fed decision: 10% (one-time event, moderate confidence)
   - Sports: 5% (less data, lower confidence)
   Total: 30% deployed, 70% cash

5. Monitor performance:
   - Track each strategy independently
   - Rebalance based on results
   - Stop underperformers

成本:约 $7.50(3 个策略)

故障排除

“未找到预测事件”

问题:get_all_prediction_events 返回空结果

解决方案:

  • 尝试使用 active_only=False 查看已结算的市场
  • 检查其他 market_category
  • 市场可能暂时不可用
“市场数据不足”

问题:历史数据不足,无法回测

解决方案:

  • 预测市场的历史数据比加密货币市场短
  • 使用更短的回测周期(1-3 个月)
  • 专注于滚动市场(数据点更多)
  • 某些事件只发生一次(数据有限)
“策略表现不佳”

问题:回测显示亏损

解决方案:

  • 预测市场效率较高(难以跑赢市场)
  • 检查概率估算是否准确
  • 确认策略逻辑是否合理
  • 考虑手续费和滑点
  • 可能需要更复杂的方法

后续步骤

创建预测市场策略后:

进行全面测试:

  • 使用 test-trading-strategies 进行回测
  • 在多个市场中验证
  • 检查胜率和利润因子

优化策略:

  • 使用 improve-trading-strategies 进行优化
  • 优化阈值和参数
  • 测试改进效果

实盘部署(支持后):

  • 目前仅支持模拟
  • Polymarket 实盘部署即将推出
  • 功能可用后将使用 deploy-live-trading

概要

此技能提供 Polymarket 预测市场交易:

  • 6 个工具:浏览事件、分析数据、创建策略、回测
  • 费用:数据费用为 $0.001,创建策略费用为 $1-$4.50
  • 市场:政治、经济、体育、加密货币滚动市场
  • 状态:仅支持模拟(即将支持实盘部署)

核心原则:预测市场针对现实世界事件交易 YES/NO 代币。要取得成功,需要准确估算概率并严格管理风险。

最佳实践:选择流动性充足且结果判定标准明确的市场,在不同事件类型间分散投资,合理控制仓位(每个市场为 5-10%),并设定止盈目标和止损位。

当前限制:暂不支持实盘部署。可用于回测和策略开发。未来更新将支持实盘交易。

注意:预测市场的定价效率很高。持续跑赢市场并不容易。请从模拟开始,在充分验证优势后再投入资金(待实盘部署可用时)。

评论

支持 Markdown