Files
zhutoutoutousan 605faf5310 Prepare source-only public release for develop.
Add cluster audit pipeline, united EA updates, brochure generators, and publication hygiene (gitignore, MT5 path desensitization, pre-upload scan). Remove tracked reports, models, and binary artifacts from the repo.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 15:03:43 +02:00
..
2026-02-13 08:03:25 +01:00
2026-02-13 08:03:25 +01:00
2026-02-13 08:03:25 +01:00
2026-02-13 08:03:25 +01:00
2026-02-13 08:03:25 +01:00
2026-02-13 08:03:25 +01:00

Polymarket Automatic Backtesting and Trading Framework

A comprehensive Python framework for backtesting and live trading on Polymarket prediction markets.

Features

  • API Integration: Full integration with Polymarket Gamma API, CLOB API, and Data API
  • Backtesting Engine: Historical data backtesting with realistic order execution
  • Live Trading: Real-time order placement and position management
  • Strategy Framework: Easy-to-use base class for developing prediction market strategies
  • Performance Analytics: Comprehensive metrics and visualization
  • Market Data: Real-time and historical market data fetching
  • Position Management: Automatic position tracking and risk management

Installation

pip install -r requirements.txt

Required packages:

  • requests - API communication
  • pandas - Data manipulation
  • numpy - Numerical operations
  • python-dotenv - Environment variable management
  • websocket-client - Real-time data streaming (optional)

Quick Start

1. Setup API Credentials

Create a .env file:

POLYMARKET_PRIVATE_KEY=your_private_key_here
POLYMARKET_CHAIN_ID=137  # Polygon mainnet
POLYMARKET_SIGNATURE_TYPE=0  # 0=EOA, 1=POLY_PROXY, 2=GNOSIS_SAFE
POLYMARKET_FUNDER_ADDRESS=your_wallet_address

2. Run a Backtest

from polymarket import BacktestEngine
from strategies import SimpleProbabilityStrategy

strategy = SimpleProbabilityStrategy()
engine = BacktestEngine(strategy, start_date="2024-01-01", end_date="2024-12-31")
results = engine.run()
engine.generate_report()

3. Live Trading

from polymarket import LiveTradingEngine
from strategies import SimpleProbabilityStrategy

strategy = SimpleProbabilityStrategy()
engine = LiveTradingEngine(strategy)
engine.start()

Architecture

polymarket/
├── api/              # API client wrappers
│   ├── gamma_client.py      # Market discovery & metadata
│   ├── clob_client.py        # Order placement & orderbook
│   └── data_client.py        # Positions & history
├── strategies/       # Trading strategies
│   ├── base_strategy.py      # Base class for all strategies
│   └── examples/             # Example strategies
├── backtesting/     # Backtesting engine
│   ├── engine.py            # Main backtesting engine
│   └── data_loader.py       # Historical data loading
├── trading/         # Live trading
│   ├── engine.py            # Live trading engine
│   └── position_manager.py  # Position tracking
├── analytics/       # Performance analysis
│   ├── metrics.py           # Performance metrics
│   └── visualization.py     # Charts and reports
└── utils/          # Utilities
    ├── config.py           # Configuration management
    └── logger.py           # Logging utilities

Documentation

Getting Started

Core Documentation

Framework Details

API Documentation References

This framework is built based on Polymarket's official API documentation:

Disclaimer

This framework is for educational and research purposes. Trading prediction markets involves financial risk. Always test strategies thoroughly in backtesting before live trading.