refactor: Simplify open trades summary query calculation
This commit is contained in:
parent
52839b451e
commit
aedd96eef4
@ -478,15 +478,8 @@ def get_open_trades_summary() -> dict:
|
|||||||
query = """
|
query = """
|
||||||
SELECT
|
SELECT
|
||||||
ticker,
|
ticker,
|
||||||
sum(CASE WHEN direction = 'buy' THEN shares
|
sum(shares) as total_shares,
|
||||||
WHEN direction = 'sell' THEN -shares
|
avg(entry_price) as avg_entry_price,
|
||||||
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,
|
|
||||||
min(entry_date) as first_entry,
|
min(entry_date) as first_entry,
|
||||||
max(entry_date) as last_entry,
|
max(entry_date) as last_entry,
|
||||||
count() as num_orders,
|
count() as num_orders,
|
||||||
@ -494,7 +487,6 @@ def get_open_trades_summary() -> dict:
|
|||||||
FROM stock_db.trades
|
FROM stock_db.trades
|
||||||
WHERE exit_price IS NULL
|
WHERE exit_price IS NULL
|
||||||
GROUP BY ticker
|
GROUP BY ticker
|
||||||
HAVING total_shares > 0
|
|
||||||
ORDER BY ticker ASC
|
ORDER BY ticker ASC
|
||||||
"""
|
"""
|
||||||
print(f"Executing summary query: {query}") # Debug
|
print(f"Executing summary query: {query}") # Debug
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user