Skip to content

General ETF relations #244

@crthpl

Description

@crthpl

Currently, for a redeeming relation A <-> B:

  • A must be one market with size 1
  • B can be any number of markets with an integer size
  • On the frontend, you can only redeem from the page for A

Instead, both A and B should be able to be any decimal number of any number of markets, e.g. 0.25A + -0.4B <-> 1C + 3.5D
On the frontend, this would look like this:

  • each market involved has a Create/Redeem button ("Create" meaning "Your position will increase in this market") for every ETF relation it is involved in
  • the number you enter is the amount of times you execute the "equation"
  • no negative numbers allowed (switch from create to redeem)
  • a preview of the change in position of each market involved

If you are on the page for D, and enter Create and 2, your positions will change as follows:
-0.5A, +0.8B, +2C, +7D

(Of course, we probably won't ever have an ETF like this in a bootcamp. We'd actually use this change for stuff like an average market being able to be divided into its constituents, or A+B <-> -C+-D .)

The invariant of min/max settlements agreeing on both sides should be preserved.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions