Enums & Hằng số
Các enum và hằng số trong Python SDK 3.3.2
Trang này liệt kê các enum và hằng số của SDK (tên trang transport-classes là tên cũ; nội dung là Enums). Tất cả enum import từ ssi_sdk.enums:
from ssi_sdk.enums import OrderSide, OrderType, OrderStatus, Board, AccountType, Timeframefrom_value
Mọi enum kế thừa BaseEnum (trừ Timeframe, là Enum thường) có classmethod from_value(value) để đổi giá trị sang member một cách an toàn: nhận None (trả None), member sẵn có, giá trị gốc, hoặc tên/giá trị không phân biệt hoa thường; không khớp thì trả None, không raise.
from ssi_sdk.enums import OrderStatus
OrderStatus.from_value("ff") # OrderStatus.FILLED
OrderStatus.from_value("unknown") # NoneTimeframe không có from_value; dùng Timeframe("1m") hoặc truyền chuỗi trực tiếp vào method nhận interval.
OrderSide
| Giá trị | Value | Mô tả |
|---|---|---|
BUY | "B" | Mua |
SELL | "S" | Bán |
OrderType
price bắt buộc với LO và PLO, các loại lệnh theo giá thị trường bỏ qua price.
| Giá trị | Value | Mô tả |
|---|---|---|
LO | "LO" | Lệnh giới hạn (Limit Order) |
MTL | "MTL" | Market To Limit (HOSE): lệnh thị trường, phần chưa khớp chuyển thành lệnh giới hạn |
MP | "MP" | Market Price (HNX/UPCOM) |
ATO | "ATO" | Lệnh mở cửa (At The Open), khớp trong phiên mở cửa |
ATC | "ATC" | Lệnh đóng cửa (At The Close), khớp trong phiên đóng cửa |
MOK | "MOK" | Match Or Kill (HNX): khớp toàn bộ ngay hoặc huỷ |
MAK | "MAK" | Match And Kill (HNX): khớp phần có thể khớp ngay, huỷ phần còn lại |
PLO | "PLO" | Lệnh giới hạn sau giờ đóng cửa (post-close limit order), giao dịch trong phiên sau phiên đóng cửa |
OrderStatus
| Giá trị | Value | Mô tả |
|---|---|---|
PENDING | "PD" | Đang chờ |
PENDING_APPROVAL | "WA" | Chờ duyệt |
READY | "RS" | Sẵn sàng |
SENT | "SD" | Đã gửi |
QUEUED | "QU" | Đã xếp hàng |
FILLED | "FF" | Khớp toàn bộ |
PARTIAL_FILLED | "PF" | Khớp một phần |
PARTIAL_CANCELLED | "FFPC" | Khớp một phần + huỷ phần còn lại |
PENDING_MODIFY | "WM" | Chờ sửa |
PENDING_CANCEL | "WC" | Chờ huỷ |
CANCELLED | "CL" | Đã huỷ |
REJECTED | "RJ" | Bị từ chối (bởi server hoặc sàn) |
EXPIRED | "EX" | Hết hạn |
PRE_SESSION | "IAV" | Chờ đến phiên của lệnh |
SOI | "SOI" | Do order engine báo (SDK đặt tên theo mã) |
PAS | "PAS" | Do order engine báo (SDK đặt tên theo mã) |
CPL | "CPL" | Do order engine báo (SDK đặt tên theo mã) |
REQUESTED | "RQ" | Đã nhận yêu cầu (FCO engine) |
ERROR | "ERR" | Lỗi do engine báo |
SOI, PAS, CPL chỉ có mã, chưa có mô tả nghiệp vụ trong SDK; không suy diễn nghĩa của chúng.
Board
| Giá trị | Value | Mô tả |
|---|---|---|
HOSE | "HOSE" | Sàn HOSE |
HNX | "HNX" | Sàn HNX |
UPCOM | "UPCOM" | Sàn UPCOM |
DERIVATIVES | "DERIVATIVES" | Phái sinh. Chỉ dùng cho stream (subscribe_board) và master data |
MarketFlagMessage.board trả mã DER cho phái sinh, không phải DERIVATIVES.
AccountType
| Giá trị | Value | Mô tả |
|---|---|---|
EQUITY | "Cash" | Tài khoản cơ sở |
EQUITY_MARGIN | "Margin" | Tài khoản ký quỹ |
DERIVATIVE | "Derivative" | Tài khoản phái sinh |
Timeframe
Timeframe là Enum thường (không có from_value).
| Giá trị | Value | Mô tả |
|---|---|---|
MINUTE_1 | "1m" | 1 phút |
MINUTE_3 | "3m" | 3 phút |
MINUTE_5 | "5m" | 5 phút |
MINUTE_15 | "15m" | 15 phút |
HOUR_1 | "1h" | 1 giờ |
DAY_1 | "1d" | 1 ngày |
WEEK_1 | "1w" | 1 tuần |
MONTH_1 | "1M" | 1 tháng |
Không phải mọi member đều dùng được ở mọi nơi:
ALLOWED_TIMEFRAMES(cùng module) là tập interval REST chấp nhận:1d,1m,3m,5m,15m,1h.1wvà1Mcó trong enum nhưngget_ohlc_1week_historicalvàget_ohlc_1month_historicalluôn raiseValidationError(mã 400210); các methoddownload_ohlc_*raiseNotImplementedError. Xem Services, mục 3.1.- Trên stream chỉ có tick,
1mvà5m(xem Services, mục 6.7.3).
FCOType
Loại lệnh điều kiện (Flexible Conditional Order).
| Giá trị | Value | Mô tả |
|---|---|---|
GTD | "gtd" | Lệnh có hiệu lực đến ngày (Good Till Date) |
STOP | "stop" | Lệnh dừng thị trường (Stop Market) |
STOP_LIMIT | "stop_limit" | Lệnh dừng giới hạn (Stop Limit) |
TRAILING_STOP | "trailing_stop" | Lệnh xu hướng (Trailing Stop Market) |
TRAILING_STOP_LIMIT | "trailing_stop_limit" | Lệnh xu hướng giới hạn (Trailing Stop Limit) |
OCO | "oco" | Lệnh huỷ lệnh còn lại (One Cancels the Other) |
BULL_BEAR | "bullbear" | Lệnh Bull Bear |
FCOOperator
Toán tử so sánh dùng để kích hoạt lệnh Stop / Stop Limit.
| Giá trị | Value | Mô tả |
|---|---|---|
GREATER | "greater" | Lớn hơn (>) |
GREATER_OR_EQUAL | "greater_or_equal" | Lớn hơn hoặc bằng (>=) |
LESSER | "lesser" | Nhỏ hơn (<) |
LESSER_OR_EQUAL | "lesser_or_equal" | Nhỏ hơn hoặc bằng (<=) |
EQUAL | "equal" | Bằng (=) |
FCOStatus
Trạng thái xử lý của lệnh điều kiện. Lịch sử đổi trạng thái lấy bằng get_fco_status_history (model FCOStatusHistoryItem, xem Models).
| Giá trị | Value | Mô tả |
|---|---|---|
INIT | "INIT" | Mới khởi tạo |
WAIT | "WAIT" | Chờ kích hoạt |
TRI | "TRI" | Đã kích hoạt |
TRIT | "TRIT" | Đã kích hoạt thành công |
TER | "TER" | Đã kết thúc |
FIS | "FIS" | Hoàn tất |
WC | "WC" | Chờ huỷ |
EXP | "EXP" | Hết hạn |
ERR | "ERR" | Lỗi |
Enum của streaming
SDK dùng các enum này để dựng topic và nhận diện message; thường bạn không cần dùng trực tiếp.
| Enum | Các giá trị | Mô tả |
|---|---|---|
StreamingMethod | subscribe, unsubscribe, ping_pong, list_subscription | Method của request (server so sánh không phân biệt hoa thường) |
StreamingChannel | DATA, HEARTBEAT, TRADING | Kênh của stream |
StreamingType | orderEvent, orderMatchEvent, clientPortfolioEvent | data.eventType của trading event |
DataTopic | quote., trade., oddlot., market., indexsummary., room., put. | Tiền tố topic market data |
DataType | quote, trade, oddlot, market, room, put, indexsummary | Loại dữ liệu (không có dấu chấm) |
Các message nhận được: Services, mục 6; model: Models: Streaming Messages.
Enum và hằng số ở nơi khác
ServerErrorCode(mã lỗi ứng dụng của server) vàHTTPStatuscũng nằm trongssi_sdk.enums, xem Exceptions.ConnectionEvent(sự kiện kết nối stream, không export ở top level, import từssi_sdk.transport.reconnect): xem Services, mục 6.9.- Các hằng số giới hạn (ví dụ
MAX_CLIENT_REQUEST_ID_LENGTH= 20,MAX_BATCH_ORDERS= 20) xem Models: Hằng số.