"""Schemas for paper trades.""" from __future__ import annotations from datetime import datetime from pydantic import BaseModel, Field class PaperTradeCreate(BaseModel): symbol: str = Field(..., min_length=1, max_length=10) direction: str = Field(..., pattern=r"^(long|short)$") entry_price: float = Field(..., gt=0) shares: float = Field(..., gt=0) stop_loss: float = Field(..., gt=0) target: float = Field(..., gt=0) class PaperTradeClose(BaseModel): close_price: float | None = Field(default=None, gt=0) class PaperTradeResponse(BaseModel): id: int symbol: str direction: str entry_price: float shares: float stop_loss: float target: float status: str opened_at: datetime close_price: float | None = None closed_at: datetime | None = None current_price: float | None = None