Drop commented, now deprecated edge case notes 🏄

account_tests
Tyler Goodlet 2023-08-01 15:49:56 -04:00
parent b6a705852d
commit 1e3a4ca36d
1 changed files with 12 additions and 25 deletions

View File

@ -602,33 +602,14 @@ def ledger_to_dfs(
if cumsize == 0: if cumsize == 0:
last_ppu = ppu = 0 last_ppu = ppu = 0
# compute the "break even price" that # compute the BEP: "break even price", a value that
# when the remaining cumsize is liquidated at # determines at what price the remaining cumsize can be
# this price the net-pnl on the current position # liquidated such that the net-PnL on the current
# will result in ZERO pnl from open to close B) # position will result in ZERO gain or loss from open
# to close including all txn costs B)
if ( if (
abs(cumsize) > 0 # non-exit-to-zero position txn abs(cumsize) > 0 # non-exit-to-zero position txn
): ):
ledger_bep = pos_bep = ppu
# TODO: now that this
# recalc-bep-on-enters-based-on-new-ppu was
# factored out of the `is_enter` block above we can
# drop this if condition right?
#
# When we "enter more" dst asset units (aka
# increase position state) AFTER having exited some
# units (aka decreasing the pos size some) the bep
# needs to be RECOMPUTED based on new ppu such that
# liquidation of the cumsize at the bep price
# results in a zero-pnl for the existing position
# (since the last one).
# if (
# not last_is_enter
# and last_cumsize != 0
# ):
ledger_bep: float = ( ledger_bep: float = (
( (
(ppu * cumsize) (ppu * cumsize)
@ -637,6 +618,13 @@ def ledger_to_dfs(
) / cumsize ) / cumsize
) )
# NOTE: when we "enter more" dst asset units (aka
# increase position state) AFTER having exited some
# units (aka decreasing the pos size some) the bep
# needs to be RECOMPUTED based on new ppu such that
# liquidation of the cumsize at the bep price
# results in a zero-pnl for the existing position
# (since the last one).
# for position lifetime BEP we never can have # for position lifetime BEP we never can have
# a valid value once the position is "closed" # a valid value once the position is "closed"
# / full exitted Bo # / full exitted Bo
@ -659,6 +647,5 @@ def ledger_to_dfs(
# keep backrefs to suffice reccurence relation # keep backrefs to suffice reccurence relation
last_ppu: float = ppu last_ppu: float = ppu
last_cumsize: float = cumsize last_cumsize: float = cumsize
# last_is_enter: bool = is_enter # TODO: drop right?
return dfs return dfs