Skip to content

YichengYang-Ethan/oracle3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Oracle3

Autonomous prediction market trading agent across Kalshi, Polymarket, and Solana.

Tests Lint Type Check codecov Python 3.10+ License Discussions Last Commit Docs DOI

Why this exists

Prediction markets price binary contracts at systematically biased levels — a true 50/50 contract typically trades around 0.57 (favorite-longshot bias, $\hat{\lambda} \approx 0.183$). Most trading bots ignore this distortion entirely. Oracle3 operationalizes a peer-reviewed pricing model, calibrated on 291,309 resolved contracts across six venues, to systematically harvest the bias through arbitrage detection and Kelly-sized model trades.

This system deploys the exact $\lambda$ estimates and covariate model from prediction-market-pricing (Yang, 2026) as its real-time pricing engine.

How oracle3 differs from existing prediction-market tools

Oracle3 polymarket-whales prediction-market-maker py-clob-client
Pricing model Wang Transform (calibrated MLE) None Bid-ask MM None
Constraint-based arbitrage 8 strategies None None N/A
Multi-venue Kalshi + Polymarket + Solana Polymarket only Polymarket only Polymarket only
On-chain execution Solana via DFlow + Jito No No N/A (SDK)
Working paper Yang (2026), SSRN No No No
Tests 633 0 0 50+
License Apache 2.0 MIT MIT MIT

Architecture

graph TD
    A[Wang Transform Pricing Engine<br/>MLE coefficients from paper] --> B[Fair Value Estimator<br/>Model Greeks · Kelly Sizing]
    B --> C[Strategy Layer]
    C --> D[8 Constraint-Based Arbitrage]
    C --> E[2 Model-Driven Strategies]
    C --> F[LLM Agent Strategies]
    D --> G[Trading Engine<br/>SpreadExecutor · Risk Manager · Position Tracker]
    E --> G
    F --> G
    G --> H[Kalshi]
    G --> I[Polymarket]
    G --> J[Solana / DFlow]
Loading

Strategies

Constraint-based arbitrage — each exploits a violated probability axiom:

Strategy Invariant
Cross-Market Same event, same price across exchanges
Exclusivity $P(A) + P(B) \leq 1$ for mutually exclusive events
Implication $P(A) \leq P(B)$ when A implies B
Conditional $P(A \mid B) \in [L, U]$ within derived bounds
Event Sum $\sum P(\text{outcome}_i) = 1$ within an event
Structural $P(A) = \beta \cdot P(B) + \alpha$ from calibrated model

Statistical arbitrage: cointegration spread (self-calibrating z-score), lead-lag (cross-correlation).

Model-driven: fair value divergence (Wang-model edge), premium decay (rides predictable premium lifecycle).

Pricing Engine

Deploys the Wang Transform from Yang (2026), calibrated on 291,309 contracts across 6 platforms:

$$p^{\text{mkt}} = \Phi\bigl(\Phi^{-1}(p^*) + \lambda\bigr), \quad \hat{\lambda} = 0.183 ; (p < 10^{-15})$$

  • Hierarchical model: $\lambda_i = 0.259 - 0.072 \ln(1+V) + 0.143 \ln(1+D) - 0.477 |p-0.5|$
  • Model Greeks: $\partial p / \partial \lambda$, Kelly fraction, edge decay rate
  • Online calibrator: hybrid batch MLE + streaming EWMA with category shrinkage
  • Correlation-aware risk: EWMA correlation matrix, effective exposure limits

Yang, Y. (2026). Pricing Prediction Markets: Risk Premiums, Incomplete Markets, and a Decomposition Framework. Working Paper, UIUC. [Replication package]

Quick Start

git clone https://github.com/YichengYang-Ethan/oracle3.git && cd oracle3
poetry install

oracle3 market list --exchange polymarket --limit 10
oracle3 dashboard --exchange solana --initial-capital 10000

See docs for full CLI reference.

Key Technical Choices

  • Event-driven async engine with snapshot persistence and Unix socket control (pause/resume/killswitch)
  • SpreadExecutor with automatic LIFO unwind on partial fills — no naked multi-leg positions
  • Dual-layer risk: local position/drawdown/exposure limits + Solana simulateTransaction pre-flight
  • On-chain audit trail via Solana Memo program; Jito bundle submission for MEV protection
  • 633 tests, ruff, mypy, codespell CI on every push

Star History

Star History Chart

Contributors

Contributors

If oracle3 helps your research or trading, please ⭐ star the repo — it helps others find it.

License

Apache 2.0 — see LICENSE for details.

This software is for research and educational purposes. Trading involves financial risk.