Source code for ccxt_pandas.wrappers.schemas.liquidations_schema

"""Liquidations data schema."""

import pandas as pd
import pandera.pandas as pa
from pandera.typing import Series

from ccxt_pandas.wrappers.schemas.base_schemas import BaseExchangeSchema


[docs] class LiquidationsSchema(BaseExchangeSchema): """Liquidations data schema. Used by methods like fetch_liquidations. Returns liquidation events for derivatives contracts, showing forced closures of positions due to insufficient margin. """ # Required fields symbol: Series[str] = pa.Field(title="Symbol", description="Trading pair") contracts: Series[float] = pa.Field( ge=0, title="Contracts", description="Number of contracts liquidated" ) price: Series[float] = pa.Field(ge=0, title="Price", description="Liquidation price") timestamp: Series[pd.Timestamp] = pa.Field( title="Timestamp", description="Liquidation timestamp" ) datetime: Series[pd.Timestamp] = pa.Field( title="Datetime", description="Liquidation datetime (alias)" ) # Optional fields (not present in all exchanges) side: Series[str] | None = pa.Field( isin=["buy", "sell"], nullable=True, title="Side", description="Liquidation side: 'buy' or 'sell'", ) baseValue: Series[float] | None = pa.Field( ge=0, nullable=True, title="Base Value", description="Liquidation value in base currency", ) quoteValue: Series[float] | None = pa.Field( ge=0, nullable=True, title="Quote Value", description="Liquidation value in quote currency", )
# Note: exchange field comes from BaseExchangeSchema (Optional)