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.
Currently, for a redeeming relation
A <-> B:Amust be one market with size 1Bcan be any number of markets with an integer sizeAInstead, both
AandBshould be able to be any decimal number of any number of markets, e.g.0.25A + -0.4B <-> 1C + 3.5DOn the frontend, this would look like this:
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.