Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add parimutuel docs #87

Merged
merged 8 commits into from
Nov 21, 2023
Merged

Add parimutuel docs #87

merged 8 commits into from
Nov 21, 2023

Conversation

maltekliemann
Copy link
Member

No description provided.

Copy link

vercel bot commented Nov 14, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Nov 17, 2023 3:31pm

Copy link
Member

@Chralt98 Chralt98 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good thanks! Please make sure to explain that Parimutuel markets are supposed to be used in situations, where the odds don't change. Example: close the parimutuel market before the horse race even starts.

docs/learn/parimutuel.md Outdated Show resolved Hide resolved
docs/learn/parimutuel.md Outdated Show resolved Hide resolved
docs/learn/parimutuel.md Outdated Show resolved Hide resolved
docs/learn/parimutuel.md Outdated Show resolved Hide resolved
Comment on lines +17 to +18
Although parimutuels work with scalar markets, Zeitgeist currently only supports
parimutuel for categorical markets.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Although parimutuels work with scalar markets, Zeitgeist currently only supports
parimutuel for categorical markets.
Although parimutuels work with scalar markets, Zeitgeist currently only supports
parimutuel for categorical markets.

AFAIK there will be no support for scalar markets, if we don't find a proper solution. You could try to explain the reason why we avoided scalar markets. But this requires probably too much knowledge for the documentation user. Maybe we should do marketing only for categorical markets using parimutuel, because scalar markets are harder to understand anyways.. So, I would probably reframe or add this "Because of the nature of how scalar markets work on the Zeitgeist protocol, the market participant would be rewarded or slashed based on the last state of the pot before the pot funds are redistributed. Essentially the SHORT and LONG percentage at the end of the market (closing time) is compared to the correct SHORT and LONG percentage determined by the correct scalar outcome value. This misaligns the incentives of the market participants, since a rational trader would always look for the LONG and SHORT percentage at the end of the market period to check if there is still a profit to make. Each trade shifts the LONG / SHORT ratio and therefore it's unclear if a trade is going to be profitable or not, assuming it's not the last trade."

This is too complicated, feel free to make it more simple.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need to explain why we don't implement certain features. I also disagree with some of what you write. I don't think there's any problem with scalar markets in conjunction with parimutuels that you don't also have with categorical markets.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need to explain why we don't implement certain features.

Ok.

I don't think there's any problem with scalar markets in conjunction with parimutuels that you don't also have with categorical markets.

Please think the reward process through with scalar markets. I thought we came to the same conclusion in our process and for that reason we decided to remove scalar markets for Parimutuels. Didn't we?

For categorical markets, if you buy the winning outcome, you can not lose any base asset. For scalar markets you can lose base asset, because there is no clear winner of LONG or SHORT, because the pot is divided by the actual scalar value between range start and range end.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a clear winning strategy for scalar markets if your prediction is correct: If you think that the long correctness is c, and thus the short correctness is (1-c), then buy xc units of LONG and x(1-c) units of SHORT. The payoff is x(cr_l + (1 - c)r_s). You can know show that this greater or equal to x and equality holds if and only if everybody else is also buying at the same ratio.

The approach to do this is to define y = a_s/a_l and then calculate

cr_l + (1-c)r_s = c^2 * (1 + y) + (1 - c)^2 * (1 + 1/y).

You can now define f(c, y) = c^2 * (1 + y) + (1 - c)^2 * (1 + 1/y) and take first and second partial derivatives to see that in the strip (0, 1) \times (0, \infty), we have local minima at c = 1/(y + 1), and f(1/(y + 1), y) = 1, which proves the assertion (takes a bit of calculation to get through this).

TL;DR: Betting on parimutuel scalar markets just works a bit different than with AMM or CDA. You don't bet based on market state because... well, there is no market state.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The doctor himself spoke.

docs/learn/parimutuel.md Outdated Show resolved Hide resolved
docs/learn/parimutuel.md Show resolved Hide resolved
docs/learn/parimutuel.md Outdated Show resolved Hide resolved
docs/learn/parimutuel.md Outdated Show resolved Hide resolved
docs/learn/parimutuel.md Outdated Show resolved Hide resolved
@maltekliemann maltekliemann merged commit a302dde into main Nov 21, 2023
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants