PainStaking v0.0.2 PainStaking
Calculate stakes in advantage betting situations
Summary
Types
A keyword list with a single pair. The key should be one of the atoms for a supported odds format from Exoddic. The value should be a supported way for expressing the odds for that key
Functions
Determine how much to bet on each of a set of mutually exclusive outcomes in an arbitrage situation
Determine the amount to stake on a single advantage situation based on the estimated edge and the Kelly Criterion
Types
wager_price :: [{:atom, number | String.t}]
A keyword list with a single pair. The key should be one of the atoms for a supported odds format from Exoddic. The value should be a supported way for expressing the odds for that key.
Examples:
- Probability:
[prob: 0.50]
- Moneyline:
[us: "+120"]
- Decimal:
[eu: 2.25]
- Traditional:
[uk: "4/1"]
Functions
Specs
arb_size(number, [wager_price]) :: {boolean, [float], float}
Determine how much to bet on each of a set of mutually exclusive outcomes in an arbitrage situation.
max_outlay
is the maximum available to stake on this set of outcomes.
The smaller the arbitrage, the closer your outlay will be to this number.
mutually_exclusives
is a list of mutually exclusive outcomes and the odds
offered on each.
Returns {whether an arb exists, [stake on each outcome], expected profit}
The payouts may not all be exactly max_outlay
because of rounding to the
nearest cent. This may cause a slight variation in the expected profit.
Specs
kelly_size(number, wager_price, wager_price) :: {boolean, float}
Determine the amount to stake on a single advantage situation based on the estimated edge and the Kelly Criterion
bankroll
is the total amount available for wagering
estimate
is the estimated actual odds on the event occurring
offered
is the odds offered by the counter-party
Returns {whether an edge exists, amount to wager}