refactor: Simplify open trades summary query calculation

This commit is contained in:
Bobby (aider) 2025-02-13 10:34:46 -08:00
parent 52839b451e
commit aedd96eef4

View File

@ -478,15 +478,8 @@ def get_open_trades_summary() -> dict:
query = """
SELECT
ticker,
sum(CASE WHEN direction = 'buy' THEN shares
WHEN direction = 'sell' THEN -shares
ELSE 0 END) as total_shares,
sum(CASE WHEN direction = 'buy' THEN shares * entry_price
WHEN direction = 'sell' THEN -shares * entry_price
ELSE 0 END) /
abs(sum(CASE WHEN direction = 'buy' THEN shares
WHEN direction = 'sell' THEN -shares
ELSE 0 END)) as avg_entry_price,
sum(shares) as total_shares,
avg(entry_price) as avg_entry_price,
min(entry_date) as first_entry,
max(entry_date) as last_entry,
count() as num_orders,
@ -494,7 +487,6 @@ def get_open_trades_summary() -> dict:
FROM stock_db.trades
WHERE exit_price IS NULL
GROUP BY ticker
HAVING total_shares > 0
ORDER BY ticker ASC
"""
print(f"Executing summary query: {query}") # Debug