polymarket-trading

📁 niller2005/polyflup 📅 Jan 23, 2026
43
总安装量
43
周安装量
#4891
全站排名
安装命令
npx skills add https://github.com/niller2005/polyflup --skill polymarket-trading

Agent 安装分布

claude-code 24
opencode 19
gemini-cli 19
antigravity 16
codex 16
cursor 14

Skill 文档

Terminology & Concepts

  • Exit Plan: Automated limit sell at $0.99 placed as soon as position opens.
  • Hedged Reversal: Holding both UP and DOWN positions simultaneously when trend flips.
  • Midpoint Stop Loss: Market sell triggered by midpoint price dropping to/below $0.30.
  • Scale-In: Adding capital to winning positions via Market Orders (FAK).
  • Underdog: Side trading below $0.50. Requires >40% confidence for entry.
  • Tick Size: Minimum price increment allowed for a market (e.g., 0.01 or 0.001).

Strategy Nuances

Confidence Calculation Methods (v0.5.0+)

The bot supports two confidence calculation methods for A/B testing:

Additive Method (Default):

  • Directional voting system with weighted signal aggregation
  • Confidence = (winning_total – (losing_total × 0.2)) × lead_lag_bonus
  • Trend agreement bonus (1.1x) when Binance and Polymarket momentum align

Bayesian Method (Alternative):

  • Statistically principled probability theory using log-odds
  • Starts with market prior from Polymarket orderbook
  • Accumulates evidence via log-likelihood ratios:
    evidence = (score - 0.5) × 2  # Scale to -1 to +1
    log_LR = evidence × 3.0 × quality  # Quality factor (0.7-1.5x)
    log_odds += log_LR × weight
    confidence = 1 / (1 + exp(-log_odds))
    
  • Naturally handles conflicting signals (they cancel out)
  • Market prior anchors calculation to Polymarket reality

A/B Testing:

  • Both methods calculated simultaneously on every trade
  • Results stored in database for comparison
  • Toggle via BAYESIAN_CONFIDENCE environment variable (default: NO)
  • Compare win rates after 100+ trades:
    SELECT
        AVG(CASE WHEN bias='UP' THEN edge ELSE -edge END) as avg_edge,
        COUNT(*) as total,
        SUM(CASE WHEN result='WIN' THEN 1 ELSE 0 END) as wins,
        CAST(wins AS REAL) / COUNT(*) as win_rate
    FROM trades
    WHERE settled = 1
    GROUP BY method;
    

Exit Plan Optimization

  • Smart Exit Pricing:
    • High confidence trades (≥85%): Use $0.999 exit price for maximum profit
    • Standard trades: Use $0.99 exit price (configurable via EXIT_PRICE_TARGET)
    • Only apply 0.999 for winning positions (UP side with price ≥ entry OR DOWN side with price ≤ entry)
  • Immediate Placement: Exit plans placed immediately after position fill (no age requirement)
  • Real-Time Size Validation: Exit order size validated every 1-second cycle
  • Repair Logic:
    • Automatic repair if exit order size mismatches database size
    • Uses 0.05 share threshold to prevent infinite repair loops from exchange rounding
    • Cancels incorrect order and places new one with correct size
  • Adoption Logic: Discovers and adopts existing SELL orders on exchange to prevent duplicates

Scale-In Strategy (Dynamic)

  • Default SCALE_IN_TIME_LEFT: 450s (7.5 minutes)
  • Dynamic early entry timing based on confidence (edge) and midpoint price:
    • 12m left: edge >= 90% and price >= $0.80
    • 9m left: edge >= 80% and price >= $0.70
    • 7m left: edge >= 70% and price >= $0.65
  • Uses Market Orders (FAK) to ensure immediate fills
  • Multiplier: 1.5x (adds 150% more capital, creating 2.5x total position)

Signal Bonuses

  • Trend Agreement Bonus: 1.1x multiplier if Binance and Polymarket trends align
  • Lead/Lag Bonus: 1.2x bonus or 0.8x penalty based on cross-exchange consistency

Technical Requirements

  • Precision: Use strict 0.0001 threshold for balance syncing
  • Minimum Size: Polymarket enforces a 5.0 share minimum for limit orders
  • Rounding: Use truncate_float(value, 2) for all order sizes to match exchange precision

Fees & Rebates (15-Minute Crypto Markets)

  • Taker Fees: Applied ONLY to 15-minute crypto markets.
  • Fee Deduction:
    • BUY: Fee is taken in Tokens from the proceeds.
    • SELL: Fee is taken in USDC from the proceeds.
  • Effective Rates:
    • Buying: Peaks at ~1.6% at $0.50 price.
    • Selling: Peaks at ~3.7% at $0.30 price. Selling is generally more expensive because USDC is taken directly.
  • Fee Precision: Rounded to 4 decimal places (min 0.0001 USDC). Small trades at extremes might be fee-free.
  • Maker Rebates: Distributed daily in USDC to makers who provide liquidity that gets filled.
  • Strategy Implications:
    • Prefer Maker orders (Limit orders that add liquidity) to avoid fees and potentially earn rebates.
    • Selling at low prices as a taker is particularly costly.

Common Code Patterns

Market Data

from src.trading.orders import get_midpoint, get_spread, check_liquidity
# Get accurate midpoint price
price = get_midpoint(token_id)
# Check if liquidity is good
if check_liquidity(token_id, size=100, warn_threshold=0.05):
    # Safe to trade

Order Placement

from src.trading.orders import place_batch_orders, place_market_order
# Batch Orders
results = place_batch_orders(orders)
# Market Sell
result = place_market_order(token_id, amount=10.0, side="SELL", order_type="FAK")

Standard Emoji Guide

Position Monitoring

  • 👀 Monitoring positions
  • 📈 UP side position (winning if PnL positive)
  • 📉 DOWN side position (winning if PnL positive)
  • 📦 Position size display
  • 🧮 PnL percentage display

Position Status

  • ⏰ Exit plan active (limit sell order placed)
  • ⏳ Exit plan pending (waiting for conditions)
  • ⏭️ Exit skipped (position below MIN_SIZE threshold)
  • 📊 Scaled in position indicator

Order Lifecycle

  • 🚀 Trade execution / Entry
  • 🎯 Limit order placement
  • ✅ Success / Order filled
  • 🧹 Order cancellation
  • ❌ Error/Failure

Risk Management

  • 🛑 Stop loss triggered
  • 🔄 Reversal / Trend flip
  • ⚠️ Warning / Validation issue
  • 🔧 Position repair/sync

System

  • 💰 Money/Balance/Settlement
  • 🌍 Geographic restriction
  • 🧟 Ghost trade detection