Python

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, Timeframe

from_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") # None

Timeframe 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ịValueMô 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ịValueMô 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ịValueMô 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ịValueMô 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ịValueMô 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ịValueMô 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.
  • 1w và 1M có trong enum nhưng get_ohlc_1week_historical và get_ohlc_1month_historical luôn raise ValidationError (mã 400210); các method download_ohlc_* raise NotImplementedError. Xem Services, mục 3.1.
  • Trên stream chỉ có tick, 1m và 5m (xem Services, mục 6.7.3).

FCOType

Loại lệnh điều kiện (Flexible Conditional Order).

Giá trịValueMô 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ịValueMô 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ịValueMô 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.

EnumCác giá trịMô tả
StreamingMethodsubscribe, unsubscribe, ping_pong, list_subscriptionMethod của request (server so sánh không phân biệt hoa thường)
StreamingChannelDATA, HEARTBEAT, TRADINGKênh của stream
StreamingTypeorderEvent, orderMatchEvent, clientPortfolioEventdata.eventType của trading event
DataTopicquote., trade., oddlot., market., indexsummary., room., put.Tiền tố topic market data
DataTypequote, trade, oddlot, market, room, put, indexsummaryLoạ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à HTTPStatus cũng nằm trong ssi_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ố.

Trên trang này