Skip to main content

parse_spot_margin_position_from_balance

Function parse_spot_margin_position_from_balance 

Source
pub fn parse_spot_margin_position_from_balance(
    balance: &OKXBalanceDetail,
    account_id: AccountId,
    instrument_id: InstrumentId,
    size_precision: u8,
    ts_init: UnixNanos,
) -> Result<Option<PositionStatusReport>>
Expand description

Parses spot margin position from OKX balance detail.

Spot margin positions appear in /api/v5/account/balance as balance sheet items rather than in /api/v5/account/positions. This function converts balance details with non-zero liability (liab) or spot in use amount (spotInUseAmt) into position reports.

§Position Determination

  • liab > 0 and spotInUseAmt < 0 → Short position (borrowed and sold)
  • liab > 0 and spotInUseAmt > 0 → Long position (borrowed to buy)
  • liab == 0 → No margin position (regular spot balance)

§Errors

Returns an error if numeric fields cannot be parsed.