Normalize live position market values

This commit is contained in:
Thigazhezhilan J 2026-04-07 09:36:59 +05:30
parent 49950d4028
commit 652e5504c3
2 changed files with 8 additions and 1 deletions

View File

@ -362,5 +362,10 @@ def normalize_holding(item: dict | None) -> dict:
def normalize_position(item: dict | None) -> dict: def normalize_position(item: dict | None) -> dict:
entry = normalize_holding(item) entry = normalize_holding(item)
quantity = abs(_first_float(entry.get("effective_quantity"), entry.get("quantity"), default=0.0))
entry["settled_quantity"] = quantity
entry["effective_quantity"] = quantity
entry["quantity"] = quantity
entry["holding_value"] = quantity * _first_float(entry.get("last_price"), default=0.0)
entry["product"] = _first_text(entry.get("product"), entry.get("product_type"), default="CNC").upper() entry["product"] = _first_text(entry.get("product"), entry.get("product_type"), default="CNC").upper()
return entry return entry

View File

@ -306,7 +306,8 @@ def position_last_price(item: dict | None) -> float:
def normalize_position(item: dict | None) -> dict: def normalize_position(item: dict | None) -> dict:
entry = dict(item or {}) entry = dict(item or {})
quantity = position_quantity(entry) signed_quantity = position_quantity(entry)
quantity = abs(signed_quantity)
average_price = position_average_price(entry) average_price = position_average_price(entry)
last_price = position_last_price(entry) last_price = position_last_price(entry)
pnl = _first_float(entry.get("pnl"), default=quantity * (last_price - average_price)) pnl = _first_float(entry.get("pnl"), default=quantity * (last_price - average_price))
@ -314,6 +315,7 @@ def normalize_position(item: dict | None) -> dict:
entry["t1_quantity"] = 0.0 entry["t1_quantity"] = 0.0
entry["effective_quantity"] = quantity entry["effective_quantity"] = quantity
entry["quantity"] = quantity entry["quantity"] = quantity
entry["net_quantity"] = signed_quantity
entry["average_price"] = average_price entry["average_price"] = average_price
entry["last_price"] = last_price entry["last_price"] = last_price
entry["close_price"] = last_price entry["close_price"] = last_price