Source code for ccxt_pandas.wrappers.schemas.funding_rate_history_schema
"""Funding rate history 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 FundingRateHistorySchema(BaseExchangeSchema):
"""Funding rate history data schema.
Used by methods like fetch_funding_rate_history.
Returns historical funding rate data over time.
Requires symbol, fundingRate, and timestamps.
"""
# Required fields
symbol: Series[str] = pa.Field(title="Symbol", description="Trading pair")
fundingRate: Series[float] = pa.Field(
title="Funding Rate", description="Historical funding rate"
)
timestamp: Series[pd.Timestamp] = pa.Field(
title="Timestamp", description="Funding rate timestamp"
)
datetime: Series[pd.Timestamp] = pa.Field(
title="Datetime", description="Funding rate datetime (alias)"
)
# Optional fields
markPrice: Series[float] | None = pa.Field(
ge=0, nullable=True, title="Mark Price", description="Mark price at this time"
)
indexPrice: Series[float] | None = pa.Field(
ge=0, nullable=True, title="Index Price", description="Index price at this time"
)
nextFundingRate: Series[float] | None = pa.Field(
nullable=True, title="Next Funding Rate", description="Next funding rate"
)
nextFundingTimestamp: Series[pd.Timestamp] | None = pa.Field(
nullable=True, title="Next Funding Time", description="Next funding timestamp"
)
nextFundingDatetime: Series[pd.Timestamp] | None = pa.Field(
nullable=True,
title="Next Funding Datetime",
description="Next funding datetime (alias)",
)
# Note: exchange field comes from BaseExchangeSchema (Optional)