Futures Betting : General Rules

version 0.2
source written and signed by netrin

General Rule Summary

The Futures Betting game is similar to parimutuel betting, except that payout profits are weighted according to their temporal risk (how early or late the bet was made). Like standard parimutuel betting, all winning bets will divide the loosing Wagers. However, bets made after the OpeningTime will be progressively penalized until ClosingTime after which bets are never profitable.

Suppose for example, the OpeningTime is 00:00 and ClosingTime is 24:00 the same day. Bets made before 00:00 will not be penalized, while bets at or after ClosingTime will be penalized 100%. Within these 24 hours, bets are penalized 50% when made around 7 hours after OpeningTime. Bets made precisely at noon will be penalized 75% (one minus the square of the risk or 1-0.5^2).

Bets are sent to a single EventAddress. The fourth, fifth, and sixth decimal represent the BetPosition. So for example a bet of 5.12345678 is a Wager of 5.12345678 on position 456. A bet of 1.0000175 is a Wager of 1.0000175 on position 17. A bet of 0.000009 is a very small Wager on position 9.

The house will round to the fourth decimal up or down to the house's advantage and will claim unused 0.0005 Payout TransactionFees.

Example Game

Now suppose we are betting on the closing price of an exchange where the OpeningTime is 00:00 and ClosingTime is 10:00 and ExpiringTime is 12:00. And we have the following bets:

A=1.000019, B=1.000018, C=1.000017, D=1.000016, E=1.000015, F=1.000014 at or before 00:00
G=2.000019, H=2.000018, I=2.000017, J=2.000016, K=2.000015 at 02:00
L=3.000018, M=3.000017, N=3.000016, O=3.000015 at 04:00
P=4.000018, Q=4.000017, R=4.000016 at 06:00
S=5.000018, T=5.000017 at 08:00
U=6.000017 at 10:00

RiskCoefficients:

1.00 at 00:00 (0% penalty) at or before OpeningTime
0.64 at 02:00 (36% penalty), 0.36 at 04:00 (64% penalty),
0.16 at 06:00 (84% penalty), 0.04 at 08:00 (96% penalty), and
0.00 at 10:00 (100% penalty) at or after 10:00 ClosingTime.

Suppose at the ExpiringTime of 12:00, the closing price is $17.6 as predicted by the winning betters (C, I, M, Q, T, and U).

WinningsPool = 35.000251

RiskWeightedWagers:

C = (1.000017*1.00) = 1.0000
I = (2.000017*0.64) = 1.2800
M = (3.000017*0.36) = 1.0800
Q = (4.000017*0.16) = 0.6400
T = (5.000017*0.04) = 0.2000
U = (6.000017*0.00) = 0.0000

RiskWeightedRate = 35.000251/4.2 = 8.3333

WinningPayouts:

C = 1.000017-0.0005+8.3333*1.0000 =  9.3328 (833% gain)
I = 2.000017-0.0005+8.3333*1.2800 = 12.6661 (533% gain)
M = 3.000017-0.0005+8.3333*1.0800 = 11.9994 (300% gain)
Q = 4.000017-0.0005+8.3333*0.6400 =  9.3328 (133% gain)
T = 5.000017-0.0005+8.3333*0.2000 =  6.6661 ( 33% gain)
U = 6.000017-0.0005+8.3333*0.0000 =  5.9995 (.01% loss)

- From this contrived example, we can imagine it pays handsomely to set a winning Wager early, while the house profited 0.000653.

General Rules and Definitions

GeneralRules this document represents the general rules. For a specific event, the EventRules must be consulted.

EventRules the event rules include additional rules and definitions specific to an event. In specific cases where EventRules and GeneralRules differ, the EventRules takes precedence over GeneralRules.

EventAddress is the single location where all bets are waged on the outcome of an event and from where all payouts are sent after the event expires.

BetPosition is denoted by the fourth, fifth, and sixth decimal of the Wager and represents the range from the whole number up to but not including the next sequential whole number. For example a bet of 1.000032 represents ( 32 <= position < 33 ).

Wager is the total amount sent to the EventAddress from a single address at a single time. The Wager includes the full total amount sent including the BetPosition.

OpeningTime is the time before which betting is considered to have 100% risk, and thus no late penalties.

ClosingTime is the time after which betting is considered to have 0% risk and thus late penalties at or above the cost of betting. Bets made after ClosingTime will not be automatically returned.

PositionLeadTime is the amount of time before the ClosingTime that a BetPosition is verified in the block chain.

ExpirationTime is the time equal to or after the ClosingTime at which point the winning position will be determined, all bets will be calculated, and winnings promptly distributed.

RiskCoefficient is the amount of temporal risk a player accepts when claiming an early position (RiskCoefficient=(PositionLeadTime/(ClosingTime-OpeningTime))^2). The RiskCoefficient is never less than 0 nor greater than 1 (0%-100% risk). LatePenalty is the opposite of the RiskCoefficient (LatePenalty=1-RiskCoefficient).

WinningsPool is the total of the loosing wagers to be divided amongst the winning wagers (WinningsPool=(total EventAddress wagers)-(winning wagers)).

RiskWeightedWager the product of a Wager and its RiskCoefficient (RiskWeightedWager=Wager*RiskCoefficient).

RiskWeightedRate is the total winnings (WinningsPool) divided by the sum of each winning RiskWeightedWager (RiskWeightedRate=WinningsPool/sum(RiskWeightedWager)).

TransactionFee - all WinningPayouts will be sent assuming a transaction fee (currently 0.0005) and the house will claim any unnecessary transaction fees.

WinningPayout is the amount that a single winning bet can expect to be returned. The payout includes the original winning Wager minus TransactionFee plus weighted share of the WinningsPool (WinningPayout=Wager-TransactionFee+RiskWeightedWager*RiskWeightedRate).

Rounding - Each term defined above will be rounded to the fourth decimal place, up or down to the advantage of the house (which at the time of writing is a tiny fraction of a penny). Players can reduce rounding costs (and TransactionFees) by always using the same sending address to which winning Payouts will be received.