Skip to content

Commit

Permalink
Merge branch 'master' of github.com:tradingstrategy-ai/trade-executor
Browse files Browse the repository at this point in the history
  • Loading branch information
miohtama committed Feb 3, 2025
2 parents ac5d8fe + 0c0918e commit 2dbb905
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 7 deletions.
4 changes: 2 additions & 2 deletions tests/enzyme/test_enzyme_redeem.py
Original file line number Diff line number Diff line change
Expand Up @@ -232,8 +232,8 @@ def test_enzyme_redeem_open_position(
assert len(state.portfolio.open_positions[1].balance_updates) == 1

reserve = state.portfolio.get_default_reserve_position()
assert position.get_value() == pytest.approx(100)
assert position.get_value() == pytest.approx(50)
assert reserve.get_value() == pytest.approx(200)
assert state.portfolio.calculate_total_equity() == pytest.approx(300)
assert state.portfolio.calculate_total_equity() == pytest.approx(250)


8 changes: 4 additions & 4 deletions tests/legacy/test_repair_trade_missing_tx.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ def test_repair_trade_missing_tx(
assert pos.trades[8].is_missing_blockchain_transactions()
assert len(pos.trades) == 4

assert pos.get_value() == pytest.approx(2831.946809553303)
assert portfolio.calculate_total_equity() == pytest.approx(4062.6783229397383)
assert pos.get_value() == pytest.approx(2822.223554)
assert portfolio.calculate_total_equity() == pytest.approx(4049.33755226)

repair_trades = repair_tx_not_generated(state, interactive=False)
assert len(repair_trades) == 7 # 7 repairs across two positions
Expand All @@ -68,5 +68,5 @@ def test_repair_trade_missing_tx(

assert len(pos.trades) == 7 # 4 original + 3 repairs added

assert pos.get_value() == pytest.approx(2831.946809553303)
assert portfolio.calculate_total_equity() == pytest.approx(4062.6783229397383)
assert pos.get_value() == pytest.approx(2822.223554)
assert portfolio.calculate_total_equity() == pytest.approx(4049.33755226)
11 changes: 10 additions & 1 deletion tradeexecutor/state/position.py
Original file line number Diff line number Diff line change
Expand Up @@ -733,7 +733,16 @@ def calculate_value_using_price(

reserve_quantity = sum([t.get_equity_for_reserve() for t in self.trades.values() if t.is_accounted_for_equity()])

return float(token_quantity) * token_price + float(reserve_quantity) * reserve_price
direct_balance_updates = self.get_base_token_balance_update_quantity()

value = float(token_quantity) * token_price + float(reserve_quantity) * reserve_price

if self.is_short():
value -= float(direct_balance_updates) * token_price
else:
value += float(direct_balance_updates) * token_price

return value

def get_equity(self) -> USDollarAmount:
"""Get equity tied to this position.
Expand Down

0 comments on commit 2dbb905

Please sign in to comment.