For quantitative traders

Mid-price is not execution price.
Theoretical edge is not executable edge.
We give you the orderbook-aware numbers.

SimpleFunctions computes executable edge = thesis price - ask price (for YES buyers). Factors in spread, top-3 depth, slippage estimation, and liquidity scoring. Across both Kalshi and Polymarket, normalized to cents.

Quantitative capabilities

Orderbook microstructure

Bid/ask levels (top 5+), spread, depth (top-3 sum), depth ratio (bid/ask imbalance), total depth. Persisted as time series — detect spread widening, depth withdrawal, buyer/seller aggression.

Executable edge

YES buyer: executableEdge = thesisPrice - askPrice. NO buyer: executableEdge = bidPrice - thesisPrice. Recalculated from live orderbook every 15 minutes. Historical edge tracking since first detection.

Liquidity scoring

High (spread ≤ 2¢, depth ≥ 500), Medium (spread ≤ 5¢, depth ≥ 100), Low (everything else). Same scoring across Kalshi and Polymarket for cross-venue comparison.

What-if scenario engine

Override causal tree node probabilities → see how all edges shift. Scale factor clamped [0, 2]. Parent node overrides propagate to child-linked edges. Zero LLM cost — pure computation. Run batch scenarios via API.

Implied returns tracking

For each edge: entry price (when first detected) vs current price. YES/NO direction-aware return calculation. Win rate, average return, portfolio-level P&L.

JSON output everywhere

sf edges --json # all edges with orderbook data

sf book TICKER --json # full orderbook depth

sf liquidity oil --json # topic-wide liquidity

sf context ID --json # full thesis state

sf positions --json # cross-venue positions

sf dashboard --json # full portfolio dump

Every command supports --json. Pipe to your models, backtests, or dashboards.

Get API Key

Or book a 30-min walkthrough →

Open source: github.com/spfunctions/simplefunctions-cli