fix (frozen=True, slots=True)

This commit is contained in:
2026-09-05 13:56:04 +08:00
parent 58e1e3e291
commit 2059f87fe5
8 changed files with 23 additions and 23 deletions

View File

@@ -11,7 +11,7 @@ def _number(value: Any, kind: type = float) -> Any:
return kind()
@dataclass(slots=True)
@dataclass(frozen=True, slots=True)
class OrderItem:
"""由 QMT 委托明细解析得到的标准订单记录。"""
id: str
@@ -64,7 +64,7 @@ class OrderItem:
)
@dataclass(slots=True)
@dataclass(frozen=True, slots=True)
class PositionItem:
stock_code: str = ""
stock_name: str = ""
@@ -122,7 +122,7 @@ class PositionItem:
)
@dataclass(slots=True)
@dataclass(frozen=True, slots=True)
class Assets:
total: float = 0.0
available: float = 0.0
@@ -136,7 +136,7 @@ class Assets:
)
@dataclass(slots=True)
@dataclass(frozen=True, slots=True)
class Portfolio:
assets: Assets
positions: dict[str, PositionItem]
@@ -152,7 +152,7 @@ def _trade_datetime(data: dict[str, Any]) -> datetime | None:
return None
@dataclass(slots=True)
@dataclass(frozen=True, slots=True)
class Tick:
last_price: float = 0.0
last_close: float = 0.0
@@ -169,7 +169,7 @@ class Tick:
)
@dataclass(slots=True)
@dataclass(frozen=True, slots=True)
class HistoryDataRequest:
length: int = 10
period: str = ""
@@ -178,7 +178,7 @@ class HistoryDataRequest:
skip_paused: bool = True
@dataclass(slots=True)
@dataclass(frozen=True, slots=True)
class MarketDataRequest:
fields: list[str] = field(default_factory=list)
stocks: list[str] = field(default_factory=list)
@@ -189,7 +189,7 @@ class MarketDataRequest:
count: int = 0
@dataclass(slots=True)
@dataclass(frozen=True, slots=True)
class FinancialDataRequest:
tabname: str = ""; colname: str = ""; market: str = ""; code: str = ""
report_type: str = ""; barpos: int = 0
@@ -197,22 +197,22 @@ class FinancialDataRequest:
start_date: str = ""; end_date: str = ""
@dataclass(slots=True)
@dataclass(frozen=True, slots=True)
class FactorDataRequest:
field_list: list[str] = field(default_factory=list); stock_list: list[str] = field(default_factory=list)
stock_code: str = ""; start_date: str = ""; end_date: str = ""
@dataclass(slots=True)
@dataclass(frozen=True, slots=True)
class BSMPriceRequest:
option_type: str; object_prices: Any; strike_price: float; risk_free: float; sigma: float; days: int; dividend: float
@dataclass(slots=True)
@dataclass(frozen=True, slots=True)
class BSMIVRequest:
option_type: str; object_prices: float; strike_price: float; option_price: float; risk_free: float; days: int; dividend: float
@dataclass(slots=True)
@dataclass(frozen=True, slots=True)
class LocalDataRequest:
stock_code: str; start_time: str = ""; end_time: str = ""; period: str = ""; divid_type: str = ""; count: int = 0