Source code for ccxt_pandas.wrappers.schemas.borrow_rates_schema

"""Borrow rates data schemas for cross and isolated margin."""

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

from ccxt_pandas.wrappers.schemas.base_schemas import BaseExchangeSchema


[docs] class CrossBorrowRatesSchema(BaseExchangeSchema): """Cross borrow rates data schema. Used by methods like fetch_cross_borrow_rates. Returns borrowing interest rates for cross-margin trading, showing the cost of borrowing assets for margin positions. """ # Required fields currency: Series[str] = pa.Field( title="Currency", description="Currency code (e.g., BTC, USDT)" ) rate: Series[float] = pa.Field(ge=0, title="Rate", description="Borrow interest rate") period: Series[int] = pa.Field(ge=0, title="Period", description="Rate period in milliseconds")
# Note: exchange field comes from BaseExchangeSchema (Optional)
[docs] class IsolatedBorrowRatesSchema(BaseExchangeSchema): """Isolated borrow rates data schema. Used by methods like fetch_isolated_borrow_rates. Returns borrowing interest rates for isolated-margin trading pairs, showing separate rates for base and quote currencies. """ # Required fields symbol: Series[str] = pa.Field(title="Symbol", description="Trading pair") base: Series[str] = pa.Field(title="Base", description="Base currency") baseRate: Series[float] = pa.Field( ge=0, title="Base Rate", description="Borrow interest rate for base currency" ) quote: Series[str] = pa.Field(title="Quote", description="Quote currency") quoteRate: Series[float] = pa.Field( ge=0, title="Quote Rate", description="Borrow interest rate for quote currency" ) period: Series[int] = pa.Field(ge=0, title="Period", description="Rate period in milliseconds")
# Note: exchange field comes from BaseExchangeSchema (Optional)