Multi-agent prediction market trading framework. Deploy autonomous agent teams to trade prediction markets.
Project description
V E Q U I L
Multi-agent prediction market trading framework.
Install
pip install vequil
Quick Start
from vequil import Pipeline
pipeline = Pipeline(bankroll=500.0)
result = await pipeline.evaluate(
"Will Liverpool win?",
odds=0.65,
model_prob=0.78,
)
print(result.recommendation) # STRONG — edge=13.0%, kelly=20.0%
print(result.position_size_usdc) # $100.00
CLI
# Scan top Polymarket markets by volume
vequil scan --limit 10
# Evaluate a specific opportunity
vequil evaluate "Will Liverpool win?" --odds 0.65 --model-prob 0.78
# Run a live demo (pulls real Polymarket data)
vequil demo
With Analyst Team (LLM debate)
import os
os.environ["ANTHROPIC_API_KEY"] = "sk-..."
from vequil import Pipeline
pipeline = Pipeline(bankroll=500.0, enable_analysts=True)
result = await pipeline.evaluate("Will Arsenal win?", odds=0.72)
# LLM analysts evaluate in parallel, bull/bear researchers debate
print(result.research.consensus_signal) # "bullish"
print(result.research.bullish_case)
print(result.research.bearish_case)
What is Vequil?
Vequil is a multi-agent prediction market trading framework. Deploy autonomous agent teams to evaluate and trade prediction market opportunities with deterministic signal rules and Kelly-constrained risk management.
No learned models in the execution path. Every decision logged and auditable.
Vequil the framework is what you install. Vequil the firm is how we use it.
Architecture
┌─────────────┐ ┌──────────────┐ ┌──────────────────┐
│ Feed Agent │ │ Sports Agent │ │ Analyst Team │
│ tick stream │ │ match events │ │ LLM analysts │
└──────┬──────┘ └──────┬───────┘ │ bull/bear debate │
▼ │ └────────┬─────────┘
┌──────────────┐ │ soft context only
│Feature Agent │ │ (never overrides Kelly)
│ vol, z-score │ │ │
└──────┬───────┘ │ │
▼ ▼ ▼
┌──────────────────────────────────────────────────┐
│ DETERMINISTIC DECISION │
│ features → closed-form rule → probability shift │
│ NO learned model · NO curve fitting │
└──────────────────────┬───────────────────────────┘
▼
┌──────────────────────────────────────────────────┐
│ Scanner Agent │
│ Polymarket CLOB → match opportunities → score │
└──────────────────────┬───────────────────────────┘
▼
┌──────────────────────────────────────────────────┐
│ Risk Agent │
│ Kelly criterion · position limits · breaker │
└──────────────────────┬───────────────────────────┘
▼
┌──────────────────────────────────────────────────┐
│ Execution Agent │
│ paper / live modes · full order audit trail │
└──────────────────────────────────────────────────┘
Repository Structure
vequil/ pip package (what you install)
├── __init__.py public API
├── pipeline.py Pipeline — the main evaluation API
├── cli.py CLI entry point (vequil scan/evaluate/demo)
├── core/
│ ├── models.py frozen dataclasses — Tick, Signal, Order, etc.
│ ├── kelly.py Kelly criterion with fractional cap
│ └── pricing.py deterministic signal rule
└── agents/
├── analyst_team.py LLM analysts + bull/bear researcher debate
├── feed_agent.py dual exchange WebSocket feed
├── feature_agent.py rolling features: vol, return, jump, z-score
├── sports_agent.py live sports event feed
├── scanner_agent.py Polymarket CLOB matching + edge scoring
├── risk_agent.py position limits, drawdown circuit breaker
└── execution_agent.py paper/live orders, SQLite persistence
trading/ internal orchestration
tests/ 22 tests, all passing
web/static/ vequil.com
Risk Controls
| Control | Description |
|---|---|
| Kelly cap | Fractional Kelly with configurable cap |
| Min edge | Minimum edge threshold to enter |
| Max positions | Concurrent position limit |
| Position cap | Per-position dollar limit |
| Circuit breaker | Halts trading on daily drawdown |
| Live gate | Disabled until validated performance threshold |
Environment Variables
| Variable | Required | Description |
|---|---|---|
ANTHROPIC_API_KEY |
No | Enables LLM analyst team |
API_FOOTBALL_KEY |
No | Live sports event data |
EXECUTION_MODE |
No | paper (default) or live |
BANKROLL_USDC |
No | Starting bankroll (default: 500.0) |
Contributing
We're hiring agent systems engineers, quantitative researchers, and LLM architects. See vequil.com/careers.
Deterministic execution. Kelly-constrained risk. Every trade auditable.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vequil_sdk-0.2.0.tar.gz.
File metadata
- Download URL: vequil_sdk-0.2.0.tar.gz
- Upload date:
- Size: 9.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03055d170e12d9c5d3a19e7bc6a6c2d237d8a49d2f67e5883eb0b5f94eb6b2a7
|
|
| MD5 |
dbf986d219a9bf32219d3dc57f19db4f
|
|
| BLAKE2b-256 |
5ba36cdfadc83be645f07e435f579f12784da400f05c7885d7e59e92a786bd76
|
File details
Details for the file vequil_sdk-0.2.0-py3-none-any.whl.
File metadata
- Download URL: vequil_sdk-0.2.0-py3-none-any.whl
- Upload date:
- Size: 31.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57a3465a7bc1dd91ff369882849e53853b9589aeb7dcfd246f3c85c3f2769c84
|
|
| MD5 |
0db714554e5686c88b99b5f7cf3597fa
|
|
| BLAKE2b-256 |
ce23e2db7f76f70f7f43001bea28862f120888c005a19d65b7b176a23511b412
|