46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
from backend.database.connection import db
|
|
import json
|
|
from datetime import datetime
|
|
import time
|
|
|
|
def analyze_zro_trades():
|
|
print("Querying ZROUSDT trades...")
|
|
# Get all columns
|
|
query = "SELECT * FROM trades WHERE symbol='ZROUSDT' ORDER BY id DESC LIMIT 5"
|
|
trades = db.execute_query(query)
|
|
|
|
if not trades:
|
|
print("No ZROUSDT trades found.")
|
|
return
|
|
|
|
# Print first trade keys to understand schema
|
|
print("Schema keys:", list(trades[0].keys()))
|
|
|
|
for trade in trades:
|
|
print("-" * 50)
|
|
ts = trade.get('created_at')
|
|
dt = datetime.fromtimestamp(ts) if ts else "N/A"
|
|
|
|
print(f"ID: {trade.get('id')}")
|
|
print(f"Time: {dt} ({ts})")
|
|
print(f"Symbol: {trade.get('symbol')}")
|
|
print(f"Side: {trade.get('side')}")
|
|
print(f"Entry: {trade.get('entry_price')}")
|
|
print(f"Exit: {trade.get('exit_price')}")
|
|
print(f"Qty: {trade.get('quantity')}")
|
|
print(f"Leverage: {trade.get('leverage')}") # Guessing key
|
|
print(f"Realized PnL: {trade.get('realized_pnl')}")
|
|
print(f"PnL % (DB): {trade.get('pnl_percent')}")
|
|
|
|
# Calculate approximate ROE if leverage is known
|
|
leverage = trade.get('leverage', 1)
|
|
if leverage is None: leverage = 1
|
|
|
|
pnl_pct = trade.get('pnl_percent')
|
|
if pnl_pct:
|
|
roe = float(pnl_pct) * float(leverage)
|
|
print(f"Calc ROE (est): {roe:.2f}% (assuming leverage {leverage})")
|
|
|
|
if __name__ == "__main__":
|
|
analyze_zro_trades()
|