Skip to main content

Fast algorithm inferring relative ability from contest winning probabilities

Project description

A fast numerical algorithm for inferring relative ability from multi-entrant contest winning probabilities. This repo includes code and draft paper accepted for publication into SIAM Journal on Financial Mathematics.

https://www.overleaf.com/read/qwnkrstmdwtn

Usage

To use a default skew-normal performance distribution:

from winning.skew_calibration import skew_dividend_implied_ability
dividends = [2.0, 3.0, 6.0] 
ability  = skew_dividend_implied_ability(dividends=dividends)
prices   = skew_ability_implied_dividends(ability)

Alternatively see winning.lattice_calibration and use functions such as state_price_implied_ability(prices, density) which allow you to specify whatever performance distribution you like.

Practical use

See the paper for why this is useful in lots of places.

Overview

The lattice_calibration module allows the user to infer relative abilities from state prices in a multi-entrant contest. The assumption made is that the performance distribution of one competitor is a translation of the performance distribution of another.

At the racetrack, this would mean looking at the win odds and infering a relative ability of horses. The algorithm is:

  • Fast

  • Scalable (to contests with hundreds of thousands of entrants)

  • General (it works for any performance distribution).

Nomenclature

The algorithm takes state prices as inputs. These are for practical purposes equivalent to winning probabiliites (as the lattice size grows and ties are less common).

  • State prices. The expectation of an investment that has a payoff equal to 1 if there is only one winner, 1/2 if two are tied, 1/3 if three are tied and so forth.

  • Relative ability refers to how much one performance distribution needs to be translated in order to match another.

  • Implied abilities are vectors of relative abilities consistent with a collection of state prices.

  • Dividends are the inverse of state prices.

Special cases

Two natural choices are:

  • Standard normal, as per normal_calibration module.

  • Skew-normal, as per skew_calibration module.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

winning-0.0.3.tar.gz (8.9 kB view hashes)

Uploaded Source

Built Distribution

winning-0.0.3-py3-none-any.whl (10.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page