On a zero-sum game betting market I'm trying to come up with the rules for a betting game. My problem is to figure out under what constraints that game has zero-sum game properties: in other words, I want to make sure that no money is created nor destroyed, but is rather exchanged between participants of the game.

I think I'm starting off with an ill-posed problem, so don't hesitate to point out the modeling errors you may find, or if you have any idea to better translate the problem into maths.

The Rules

People can bet on the outcome of a particular future event for a certain amount of money. We suppose the event has two different outcomes, $k$ and $\neg k$ and from now on, let's call $P_k$ and $P_{\neg k}$ the respective probabilities of this event to end with those outcomes.

Let's call $S_{k}$ and $S_{\neg k}$ the amounts and $N_{k}$ and $N_{\neg k}$ the count of bets on each of our two outcomes. $S$ is the sum of the amounts on either of the outcomes, and $N$ is the sum of the bets in either of the outcomes. In other words, $S=S_{k}+S_{\neg k}$ and $N=N_{k}+N_{\neg k}$.

Now, let's introduce the notion of time: it's a turn-based game and at every step, a player can buy a $x$ new bets on one of the two issues for a certain price. And he can also sell back existing ones. We note the current step $t$, with $t \in \{0,\dots, N-1, N\}$, N being the last step during which the outcome is revealed. So all the previous notations can be enriched with the $t$ parameter:

$N_{k}(t)$ is the number of bets on outcome $k$ at the time $t$.

$S(t)$ is the total amount of money in play at the time $t$.

If the players could only buy new bets and the money could only be redistributed when the outcome is known, it would be pretty simple to ensure the zero-game property. When the outcome is known, we would have to give $S(t)$ divided by the number of bets on each bet on the winning outcome, and nothing to all the bets on the losing outcome. 

But instead, at each step, the players can buy a new bet whose price depends on the ratio of the previous bets: the higher the bets on an issue are, the more expensive they get. And on top of that, players can also sell their current bets and make a profit without even waiting for the issue to be revealed. For now, there's no other assumption on the way the price for buying a new bet is calculated, except that it grows with the $N_{k}(t)/N(t)$ ratio.

The Question

A trivial way to ensure the zero-sum condition would be to make sure that every purchase of a winning bet matches the sale of an opposite one, like in stock exchange markets.

I'm trying to find a way to ensure that without the need to pair opposite bets.

If I assume that my bet price can vary between $0$ and $1000$, and that I give $1000$ to every winning bet, then my gain expectancy should be something like:

$$E=\mbox{S}\left( t \right)-P_{k}\left( t \right)\cdot 1000\cdot N_{k}\left( t \right)-P_{\neg k}\left( t \right)\cdot 1000\cdot N_{\neg k}\left( t \right)$$

If $E=0$ then I have a zero-sum game, right?

Now, if I use the number of bets on each outcomes to approximate the probability of the outcome like this:

$$P_{k\left( t \right)}=\frac{N_{k}\left( t \right)}{N\left( t \right)}$$

I can deduct this expression:

$$\mbox{S}\left( t \right)=\frac{1000}{N\left( t \right)}\left[ N_{k}\left( t \right)^{2}+N_{\neg k}\left( t \right)^{2} \right]$$

And to model the act of buying or selling bets, I can write:

$$S(t+1) = S(t)+M$$

$M$ being the price to sell or buy $x$ bets on a particular outcome. Then if I calculate the price with $M=S(t+1)-S(t)$ at every step, then I should have a zero-sum game, right?

But according to my simulations, I don't. I give more money that what has been put in the game. Any idea why? What am I missing?
I think it would need to operate like The Tote in horse racing. Where the players buy tickets for an outcome (each ticket worth the same value), and the winners are paid out dividends from the pool. The winners would get a percentage of the pool based on the number of tickets they held.
I think it would need to operate like The Tote in horse racing. Where the players buy tickets for an outcome (each ticket worth the same value), and the winners are paid out dividends from the pool. The winners would get a percentage of the pool based on the number of tickets they held.