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

Prediction markets / capped payout future #2230

Closed
barnabee opened this issue Apr 8, 2024 · 1 comment
Closed

Prediction markets / capped payout future #2230

barnabee opened this issue Apr 8, 2024 · 1 comment
Assignees

Comments

@barnabee
Copy link
Member

barnabee commented Apr 8, 2024

This ticket is to write a spec. that would enable users of Vega to create markets like prediction markets, etc. in which the market settles between (e.g.) 100 and 0 depending on whether an outcome occurs or does not occur, respectively. The price of the market would therefore reflect the market view of the probability of the outcome, and the spread and volatility would reflect (among other things) the level of uncertainty.

This would be based on the existing derivatives functionality and would add parameters to:

  1. Allow apecifying a maximum price/quote as well as the implicit minimum of zero. For example, 1 or 100.
    • This is pretty much just validation and would mean that orders could only be submitted for prices 0 ≤ price ≤ MAX, and any settlement price > MAX would beset to = MAX. (Users wishing to filter values above MAX can do so in the oracle framework.)
    • We would need to ensure the test suite fully covers trading and settling at prices of both zero and MAX.
    • This feature should ideally be able to be used with or without full collateralisation, however if there is a significant benefit to "special casing" this than that could be done.
  2. Add a new risk model Fully Collateralised.
    • This would be available to be used only when the max price/quote feature above is used.
    • When set, longs would need to provide position size × average_entry_price in collateral, and shorts would need to provide position_size × (max_price - average_entry_price).
    • Isolated margin and cross margin would be the same with this risk model and would both require the full amount of margin at all times, including being able to cover the full worst-case for open orders.
    • Similarly, there would be no move in a traders' favour in which margin was released, or against them in which more margin was searched. The position would always be fully collateralised.

These should otherwise work like any other product. Price monitoring, LP SLA protocol, etc. would be possible and available. Some, like price monitoring may not need to be enabled where full collateralisation is used. Mark-to-market, etc. would happen using all the same methods that are available now.

It would be preferable architecturally, and to enable maximum experimentaton and customisation for the max. price and fully collateralised risk model to work equally for futures and perpetuals, however the hard requirement is that they would need to at least be available for vash settled futures.

We will need to consider how features that are tied to the selected risk model operate where they are not compatible with fujll collateralisation (which does not include/involve a statistical risk model). They can use a separately speciifed log-normal model, or some other weighting function, or potentially be turned off.

We will need to think about pegged orders, such that they can never create a price outside the range 0–max.

These would use any valid oracle/data source to settle. They would most normally use an oracle with a binary yes/no outcome to settle at zero or the maximum, but one could also forese experimentation with markets that settle somewhere within the range, and it is important that this be allowed. UMA's Optimistic Oracle would be a good candidate for markets of this type.

Comments are invited on additional requirements that would be necessary for workable prediction markets, as well as implementation considerations/constraints, especially given that it is intended for this to be built as a small adddition to the existing system, rather than to require significant refactoring or other work.

@barnabee barnabee changed the title Add spec for protocol support for prediction markets and other similar products Add spec for protocol support for prediction markets and similar products Apr 8, 2024
@barnabee barnabee changed the title Add spec for protocol support for prediction markets and similar products Add spec for protocol support for prediction markets & similar products Apr 8, 2024
@witgaw witgaw self-assigned this Apr 18, 2024
@davidsiska-vega davidsiska-vega changed the title Add spec for protocol support for prediction markets & similar products Prediction markets / capped payout future Apr 22, 2024
@witgaw witgaw mentioned this issue Apr 22, 2024
@witgaw
Copy link
Contributor

witgaw commented May 9, 2024

Closed by Capped futures #2251

@witgaw witgaw closed this as completed May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants