commit
2a9e24f600
2 changed files with 12 additions and 4 deletions
|
@ -372,12 +372,12 @@ Assuming both orders are limit orders, they'll be processed as follows:
|
||||||
* If Alice's order is maker, use `$3 / 80` as match price; since Alice's order
|
* If Alice's order is maker, use `$3 / 80` as match price; since Alice's order
|
||||||
is smaller, round in favor of Bob's order, so Alice will get
|
is smaller, round in favor of Bob's order, so Alice will get
|
||||||
`round_down(50 CORE * $3 / 80 CORE) = round_down($1.6) = $1`,
|
`round_down(50 CORE * $3 / 80 CORE) = round_down($1.6) = $1`,
|
||||||
and Bob will get `round_up($1 * 80 CORE / $3) = round_up($26.67) = $27`,
|
and Bob will get `round_up($1 * 80 CORE / $3) = round_up(26.67 CORE) = 27 CORE`,
|
||||||
the effective price would be `$1 / 27 = $0.037`;
|
the effective price would be `$1 / 27 = $0.037`;
|
||||||
* If Bob's order is maker, use `$19 / 500` as match price; since Alice's order
|
* If Bob's order is maker, use `$19 / 500` as match price; since Alice's order
|
||||||
is smaller, round in favor of Bob's order, so Alice will get
|
is smaller, round in favor of Bob's order, so Alice will get
|
||||||
`round_down(50 CORE * $19 / 500 CORE = round_down($1.9) = $1`,
|
`round_down(50 CORE * $19 / 500 CORE = round_down($1.9) = $1`,
|
||||||
and Bob will get `round_up($1 * 500 CORE / $19) = round_up($26.3) = $27`,
|
and Bob will get `round_up($1 * 500 CORE / $19) = round_up(26.3 CORE) = 27 CORE`,
|
||||||
the effective price would also be `$1 / 27 = $0.037`.
|
the effective price would also be `$1 / 27 = $0.037`.
|
||||||
|
|
||||||
# Specifications
|
# Specifications
|
||||||
|
|
12
bsip-0038.md
12
bsip-0038.md
|
@ -53,6 +53,13 @@ position in margin call territory.
|
||||||
|
|
||||||
## The Definition of Target Collateral Ratio
|
## The Definition of Target Collateral Ratio
|
||||||
|
|
||||||
|
For reference purpose, the collateral ratio of any given debt/short position
|
||||||
|
describes the ratio between the available collateral (e.g. core toke BTS) to
|
||||||
|
the debt that is owed (e.g. CNY, etc.) by the original borrower to the
|
||||||
|
blockchain. It is defined to be a dimensionless value as
|
||||||
|
`CR = collateral / (debt / feed_price)` where the price is measured in units of
|
||||||
|
the debt asset / units of the collateral asset (e.g. `CNY / BTS`).
|
||||||
|
|
||||||
"Target collateral ratio" is an optional value which can be set onto a short
|
"Target collateral ratio" is an optional value which can be set onto a short
|
||||||
position, when the position being automatically liquidized (margin called),
|
position, when the position being automatically liquidized (margin called),
|
||||||
sell no more than required collateral until collateral ratio of the position
|
sell no more than required collateral until collateral ratio of the position
|
||||||
|
@ -108,7 +115,8 @@ target but not go too far beyond.
|
||||||
That said, if a short position got matched with a big limit order, after
|
That said, if a short position got matched with a big limit order, after
|
||||||
partially filled, its collateral ratio should be **just** higher than specified
|
partially filled, its collateral ratio should be **just** higher than specified
|
||||||
target collateral ratio. Which means if `max_debt_to_cover` has no
|
target collateral ratio. Which means if `max_debt_to_cover` has no
|
||||||
fraction, need to plus it by one Satoshi; otherwise, need to round it up.
|
fractional component (e.g. 5.00 as opposed to 5.23), need to plus it by one
|
||||||
|
Satoshi; otherwise, need to round it up.
|
||||||
An effectively same approach is to round down then add one Satoshi onto the
|
An effectively same approach is to round down then add one Satoshi onto the
|
||||||
result.
|
result.
|
||||||
|
|
||||||
|
@ -264,7 +272,7 @@ The new option need to be presented and can be used in UI after the hard fork.
|
||||||
When there are call orders to be filled, if `target_collateral_ratio` option
|
When there are call orders to be filled, if `target_collateral_ratio` option
|
||||||
is set, UI need to show exact amount of collateral that another trader is able
|
is set, UI need to show exact amount of collateral that another trader is able
|
||||||
to buy and exact amount of debt that need to pay according to the equation
|
to buy and exact amount of debt that need to pay according to the equation
|
||||||
described above.
|
described above. Note that this calculation will need to use the current `feed_price`.
|
||||||
|
|
||||||
# Discussion
|
# Discussion
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue