Source code for ccxt_pandas.wrappers.schemas.order_schema
"""Order schema for order submission and validation."""
import pandera.pandas as pa
from ccxt_pandas.wrappers.schemas.base_schemas import BaseExchangeSchema
[docs]
class OrderSchema(BaseExchangeSchema):
"""Order schema for any exchange.
Used for validating order DataFrames before submission via
create_order_from_dataframe and similar methods.
"""
id: str | None = pa.Field(nullable=True, default=None, description="Exchange-assigned order ID")
symbol: str = pa.Field(description="Unified CCXT market symbol")
side: str = pa.Field(isin=["buy", "sell"])
type: str = pa.Field(isin=["limit", "market", "stop_loss", "take_profit", "LIMIT_MAKER"])
amount: float | None = pa.Field(gt=0)
price: float | None = pa.Field(ge=0, nullable=True, default=None)
params: dict | None = pa.Field(nullable=True, default=None)