Skip to content
Protocolzone Protocolzone

Trading module

Odds and probabilities

Price from a probability you can inspect, not from a number with no parent.

Part of the Ashva module inventory — a multi-tenant tote and fixed-odds betting platform we built and operate. The engineering practice behind it is our platform build and integration service line.

A price is a probability with a margin applied to it. Systems that store only the price lose the ability to answer the two questions that matter when a market goes wrong: what did we think would happen, and what did we charge for being wrong about it.

This module holds the probability set as the primary artefact. Prices are derived, and the derivation is inspectable.

Margin, not mark-up

Book percentage is managed per market, with control over how margin is distributed across the field. Flat mark-up across every runner is the default in many systems and it is the wrong default: it overprices long shots relative to their true chance and leaves the short end exposed.

Movement rules

Markets move on feed updates, scratchings, tote fluctuation and trader action. Movement controls cap the size and frequency of moves and can suspend a market when a move exceeds a threshold rather than repricing through it. Suspension is a cheap outcome. Accepting a stream of bets into a mispriced market is not.

Derived markets stay consistent

Place, top-two and head-to-head markets are derived from the same probability set as the win market. Pricing them independently is how a platform ends up quoting positions that can be arbitraged against each other inside a single market set.

Correlated legs

Same-race-multi pricing treats legs within a race as correlated rather than independent. Multiplying independent probabilities across runners in the same race produces prices that are systematically wrong in the customer’s favour on some combinations and unsellable on others.

Per tenant

Margin, rounding, price ceilings and market availability are set per tenant against a shared probability set. Two brands on the platform can hold different price positions without maintaining two views of what is likely to happen.

What this module does not do

It does not enforce exposure. Limits, acceptance and referral live in the risk module. It also does not decide whether to offer a market: availability by jurisdiction and tenant is configuration, held with the operator and aggregator records.

Module facts

Module group
Trading
Tenancy
Tenant-aware
Bet types
Fixed odds, Starting price, Multi, Same-race multi, Exotics
Codes and verticals
Thoroughbred, Harness, Greyhound, Sports, Esports

Integration surfaces

  • Form, ratings and statistics from the race and runner statistics module
  • Fields, scratchings and market timing from the schedule module
  • Tote pool prices and dividends for comparison and derived pricing
  • Third-party pricing and ratings feeds
  • Market state and price publication to the front end and partner APIs

Capabilities

What odds and probs actually does.

Probability model to rated price

Assessed probabilities per selection convert to prices through an explicit margin and rounding policy, so any displayed price can be traced back to the probability and the margin that produced it.

Overround and market balance

Book percentage managed per market with configurable distribution of margin across the field, rather than a flat mark-up that overprices the outsiders and underprices the favourite.

Price movement controls

Minimum and maximum move sizes, movement frequency limits, and suspend-on-move thresholds, so a feed spike does not push a market through several increments before anyone notices.

Derived and dependent markets

Place, top-two and head-to-head style markets derived from the same probability set as the win market, so they cannot drift into internal arbitrage against each other.

Multi and same-race-multi pricing

Combination pricing that accounts for correlation between legs within one race rather than treating them as independent events.

Per-tenant price policy

Margin, rounding, maximum price and market availability configured per tenant, so brands on the same platform can price to different positions from a shared probability set.

Trader override with audit

Manual price and probability overrides at selection or market level, each recorded with operator, timestamp and prior value.

Other trading modules

Working on this problem yourself?

We will go through how this module handles it, what it deliberately does not do, and where we would make a different call today.