Hệ thống Quản lý Lệnh (OMS)

Hệ thống Nâng cao Vietnam Tất cả các loại tài sản Cổ phiếu Phái sinh (Hợp đồng tương lai VN30) Chứng quyền có bảo đảm (CW) Trái phiếu & Chứng chỉ quỹ ETF

Mọi điều kiện thị trường

Learn this and Vietnam-market strategies in depth — one-time purchase, lifetime access.
Unlock full hub →

Quick Reference

Strategy Type Hạ tầng thực thi giao dịch
Market Outlook Mọi điều kiện thị trường
Risk Level Hạ tầng - Giảm thiểu rủi ro thực thi lệnh
Time Horizon Xử lý lệnh theo thời gian thực
Best Conditions Thiết yếu cho giao dịch hệ thống và giao dịch thuật toán
Avoid When Không bao giờ - OMS là hạ tầng nền tảng

Payoff Profile

OMS không có biểu đồ lợi nhuận - vai trò của nó là bảo đảm thực thi lệnh chính xác

Vietnam Market Details

Exchanges Sở Giao dịch Chứng khoán TP. Hồ Chí Minh (HOSE/HSX) - Cổ phiếu, ETF, Chứng quyền • Sở Giao dịch Chứng khoán Hà Ná»™i (HNX) - Cổ phiếu, Phái sinh, Trái phiếu • Thị trường UPCoM (do HNX vận hành) - Cổ phiếu công ty đại chúng chưa niêm yết • Tổng công ty Lưu ký và Bù trừ Chứng khoán Việt Nam (VSDC) - Lưu ký, bù trừ, thanh toán • Sở Giao dịch Chứng khoán Việt Nam (VNX) - Công ty mẹ quản lý HOSE và HNX
Order Types Supported Lệnh giá»›i hạn - Khá»›p tại mức giá xác định hoặc tốt hÆ¡n • Lệnh thị trường (HOSE) - Khá»›p ngay tại giá tốt nhất hiện có trên sổ lệnh • Lệnh khá»›p đến giá»›i hạn (HNX) - Khá»›p tại giá tốt nhất, phần dư chuyển thành lệnh LO • Lệnh khá»›p toàn bá»™ hoặc há»§y - Match Or Kill (tương tá»± FOK) • Lệnh khá»›p và há»§y - Match And Kill, khá»›p được bao nhiêu thì há»§y phần còn lại (tương tá»± IOC) • Lệnh giao dịch tại giá khá»›p lệnh mở cá»­a - Chỉ dùng trong phiên định kỳ mở cá»­a • Lệnh giao dịch tại giá khá»›p lệnh đóng cá»­a - Chỉ dùng trong phiên định kỳ đóng cá»­a • Lệnh khá»›p lệnh sau giờ (HNX) - Khá»›p tại giá đóng cá»­a trong phiên 14:45 - 15:00
Trading Sessions Phiên định kỳ mở cá»­a (ATO) trên HOSE: 9:00 - 9:15 (nhận lệnh và khá»›p tại giá mở cá»­a) • Khá»›p lệnh liên tục buổi sáng: 9:15 - 11:30 trên HOSE; HNX và UPCoM khá»›p liên tục từ 9:00 • Nghỉ trưa: 11:30 - 13:00 (thị trường tạm ngừng, không khá»›p lệnh) • Khá»›p lệnh liên tục buổi chiều: 13:00 - 14:30 • Phiên định kỳ đóng cá»­a (ATC): 14:30 - 14:45 • Giao dịch thỏa thuận đến 15:00; HNX có phiên khá»›p lệnh sau giờ (PLO) 14:45 - 15:00 • Phái sinh (HĐTL VN30) trên HNX: ATO 8:45 - 9:00, liên tục 9:00 - 11:30 và 13:00 - 14:30, ATC 14:30 - 14:45
Product Types Tài khoản tiền mặt - Giao dịch cổ phiếu cÆ¡ sở, không dùng đòn bẩy, chu kỳ thanh toán T+2 • Giao dịch ký quỹ (Margin) - CTCK cho vay, tá»· lệ ký quỹ ban đầu tối thiểu 50% theo quy định • Phái sinh (HĐTL VN30) - Cho phép giao dịch T+0, ký quỹ ban đầu khoảng 17% do VSDC quy định, hạch toán lãi/lá»— hằng ngày (mark-to-market)
Regulatory Requirements Số tài khoản giao dịch chứng khoán do CTCK cấp và đăng ký vá»›i VSDC - bắt buá»™c cho mọi lệnh • Mã số giao dịch chứng khoán cá»§a nhà đầu tư nước ngoài do VSDC cấp - bắt buá»™c đối vá»›i NĐT nước ngoài • Tá»· lệ sở hữu nước ngoài (room ngoại) theo từng mã và quy định ngành nghề • Lưu trữ đầy đủ nhật ký lệnh và giao dịch theo quy định pháp luật chứng khoán • Khung pháp lý cho giao dịch tá»± động/thuật toán tại Việt Nam Ä‘ang được UBCKNN hoàn thiện; giao dịch qua API phải tuân thá»§ quy định cá»§a CTCK và UBCKNN
Broker Apis SSI FastConnect API (FC Data và FC Trading) - há»— trợ Python, Node.js, .NET, Java • DNSE API (Entrade X) - tập trung há»— trợ giao dịch thuật toán, tích hợp AmiBroker • BSC API - má»™t trong những CTCK tiên phong mở API cho cá»™ng đồng nhà đầu tư • TCBS API (TCInvest) - API dành cho khách hàng và đối tác • VPS - nền tảng SmartOne; API Ä‘ang được phát triển • VNDIRECT - API Ä‘ang trong quá trình phát triển và mở rá»™ng

Frequently Asked Questions

Tôi có cần một OMS riêng không nếu chỉ sử dụng nền tảng của công ty chứng khoán?

Với giao dịch cơ bản, nền tảng của công ty chứng khoán (SSI iBoard, VPS SmartOne, DNSE Entrade X, TCBS TCInvest, VNDIRECT, v.v.) đã đóng vai trò như một OMS - nó xử lý lệnh, theo dõi vị thế và lưu trữ hồ sơ giao dịch. Một OMS riêng trở nên hữu ích khi bạn cần: tự động hóa (chiến lược tự đặt lệnh), giao dịch qua nhiều công ty chứng khoán, thuật toán khớp lệnh nâng cao, hoặc các tầng kiểm soát rủi ro tùy chỉnh. Hãy bắt đầu với công cụ của công ty chứng khoán, và bổ sung OMS tùy chỉnh khi nhu cầu của bạn tăng lên.

Điều gì xảy ra nếu tôi đặt lệnh với thông tin sai?

Nếu được phát hiện trước khi gửi (nhờ lớp kiểm tra của OMS), lệnh sẽ bị từ chối kèm thông báo lỗi. Nếu lệnh đã được gửi lên sàn với thông tin sai: sai mã chứng khoán nghĩa là bạn mua/bán nhầm cổ phiếu, sai khối lượng dẫn đến trạng thái thừa/thiếu vị thế, sai giá có thể khiến lệnh không khớp (giá giới hạn đặt quá xa) hoặc khớp ở mức bất lợi (với lệnh thị trường). Luôn kiểm tra kỹ trước khi xác nhận. Hãy dùng lớp kiểm tra của OMS để tự động phát hiện lỗi. Lưu ý khối lượng phải là bội số của lô chẵn 100 cổ phiếu trên HOSE và HNX.

Tại sao lệnh của tôi bị từ chối?

Các lý do từ chối phổ biến: không đủ sức mua hoặc ký quỹ (cần thêm tiền), giá nằm ngoài biên độ dao động (±7% trên HOSE, ±10% trên HNX, ±15% trên UPCoM), khối lượng không hợp lệ (không phải bội số của lô chẵn 100), thị trường đã đóng cửa (đặt lệnh ngoài giờ giao dịch), hoặc mã chứng khoán bị tạm ngừng/hạn chế giao dịch. Hãy đọc thông báo từ chối để biết lý do cụ thể, xử lý vấn đề và thử lại.

Làm thế nào để biết lệnh của tôi đã khớp?

Kiểm tra trạng thái lệnh trên nền tảng của công ty chứng khoán hoặc trong OMS. Trạng thái 'Đã khớp' (khớp toàn bộ) nghĩa là lệnh đã thực hiện đầy đủ. 'Khớp một phần' nghĩa là chỉ một phần khối lượng được khớp. Bạn cũng sẽ thấy giá khớp và thời gian khớp. Vị thế sẽ được cập nhật để phản ánh khối lượng nắm giữ mới. Các công ty chứng khoán tốt còn gửi thông báo (đẩy trên ứng dụng, SMS) khi có lệnh khớp. Đừng dựa vào trí nhớ - hãy luôn kiểm tra trạng thái.

Sự khác biệt giữa sửa lệnh và hủy lệnh là gì?

Sửa lệnh thay đổi các tham số của lệnh (giá, khối lượng) trong khi vẫn giữ lệnh ở trạng thái chờ. Hữu ích khi thị trường biến động và bạn muốn điều chỉnh mức giá giới hạn. Hủy lệnh loại bỏ hoàn toàn lệnh - lệnh sẽ không được thực hiện. Dùng hủy lệnh khi bạn không còn muốn giao dịch nữa. Một quy tắc rất quan trọng tại Việt Nam: trong các phiên khớp lệnh định kỳ xác định giá mở cửa (ATO) và đóng cửa (ATC), bạn KHÔNG được phép sửa hoặc hủy lệnh. Ngoài ra, bạn chỉ có thể sửa/hủy các lệnh đang chờ, không thể sửa lệnh đã khớp.

Làm thế nào để triển khai lệnh điều kiện cho mục tiêu dài hạn và cắt lỗ?

Khác với một số thị trường, sàn giao dịch Việt Nam không hỗ trợ lệnh điều kiện hiệu lực dài hạn ở cấp độ sàn; thay vào đó, các công ty chứng khoán (SSI, VPS, TCBS, v.v.) cung cấp lệnh điều kiện ở phía hệ thống của họ, bao gồm lệnh theo thời gian, lệnh xu hướng (trailing), và lệnh chốt lãi/cắt lỗ. Bạn đặt lệnh điều kiện với mức giá kích hoạt và chi tiết lệnh; khi giá thị trường chạm ngưỡng kích hoạt, hệ thống của công ty chứng khoán sẽ tự động đẩy lệnh thật lên sàn. Để mô phỏng OCO: đặt một cặp lệnh - một lệnh chốt lãi (bán khi giá tăng đến X) và một lệnh cắt lỗ (bán khi giá giảm về Y). Lưu ý hiệu lực của lệnh điều kiện thường giới hạn theo số ngày hoặc đến cuối tháng (không phải một năm), và cơ chế liên kết hủy tự động OCO phụ thuộc vào từng công ty chứng khoán - nếu không có, hãy nhớ hủy thủ công lệnh còn lại khi một lệnh đã khớp.

Tôi nên xử lý việc khớp lệnh trong giai đoạn biến động mạnh như thế nào?

Biến động mạnh đồng nghĩa với dao động giá lớn và khả năng trượt giá cao. Một số chiến lược: Dùng lệnh giới hạn (LO) thay vì lệnh thị trường (MP trên HOSE; MTL/MOK/MAK trên HNX) để kiểm soát giá, nhưng chấp nhận khả năng không khớp. Dùng quy mô vị thế nhỏ hơn (tác động lên thị trường bị khuếch đại). Tránh đặt lệnh ngay sau tin tức lớn - chờ đợt biến động ban đầu lắng xuống. Đặt ngưỡng cắt lỗ rộng hơn để tránh bị quét bởi nhiễu giá. Cân nhắc dùng TWAP để dàn trải việc khớp lệnh. Quan trọng nhất, hãy chuẩn bị tinh thần cho mức giá khớp xấu hơn bình thường.

Cách tốt nhất để đối chiếu vị thế trên nhiều công ty chứng khoán là gì?

Quy trình hàng ngày: Xuất vị thế từ mỗi công ty chứng khoán (qua API hoặc tải thủ công). Nhập vào một bảng tính hoặc cơ sở dữ liệu trung tâm. Tổng hợp theo mã chứng khoán để có vị thế ròng trên tất cả các công ty. So sánh với hồ sơ trong OMS của bạn. Điều tra các chênh lệch. Để tự động hóa: dùng API của từng công ty chứng khoán để lấy vị thế, tổng hợp bằng mã lập trình, so sánh với OMS, và tạo báo cáo ngoại lệ. Tại Việt Nam, cũng nên đối chiếu với số liệu trên tiểu khoản lưu ký tại VSDC (Tổng công ty Lưu ký và Bù trừ Chứng khoán Việt Nam), vì đây là nguồn dữ liệu chính thức về sở hữu chứng khoán.

Tôi xử lý các sự kiện doanh nghiệp (chia tách, cổ phiếu thưởng) trong OMS như thế nào?

Các sự kiện doanh nghiệp làm thay đổi khối lượng vị thế và/hoặc giá vốn. Chia tách: khối lượng tăng theo tỷ lệ, giá vốn mỗi cổ phiếu giảm tương ứng. Cổ phiếu thưởng: cổ phiếu được cộng thêm với giá vốn bằng không, giá vốn bình quân giảm. Cổ tức tiền mặt: không thay đổi vị thế nhưng ảnh hưởng đến lãi/lỗ. Quyền mua cổ phiếu: phát sinh quyền mua theo tỷ lệ. Việc điều chỉnh diễn ra vào ngày giao dịch không hưởng quyền. OMS của bạn nên tự động điều chỉnh dựa trên lịch sự kiện doanh nghiệp, hoặc cảnh báo để bạn điều chỉnh thủ công. Luôn đối chiếu với hồ sơ của công ty chứng khoán và VSDC sau mỗi sự kiện - đó là nguồn dữ liệu chuẩn.

Sự khác biệt giữa lệnh cắt lỗ thị trường và lệnh cắt lỗ giới hạn là gì, và khi nào nên dùng từng loại?

Lệnh cắt lỗ thị trường kích hoạt một lệnh thị trường khi giá chạm ngưỡng dừng - bạn chắc chắn thoát vị thế, nhưng ở bất kỳ mức giá nào có sẵn (có thể trượt giá trong thị trường biến động nhanh). Lệnh cắt lỗ giới hạn kích hoạt một lệnh giới hạn - bạn kiểm soát mức trượt giá tối đa, nhưng có thể không thoát được nếu giá biến động quá nhanh. Dùng lệnh cắt lỗ thị trường khi việc thoát vị thế là tối quan trọng (bảo vệ trước khoản lỗ lớn) và bạn chấp nhận trượt giá. Dùng lệnh cắt lỗ giới hạn khi bạn sẵn sàng chấp nhận rủi ro không khớp để tránh mức giá xấu. Lưu ý các lệnh điều kiện này do công ty chứng khoán cung cấp, và loại lệnh thị trường khả dụng khác nhau giữa các sàn (MP trên HOSE; MTL/MOK/MAK trên HNX). Với cổ phiếu biến động mạnh hoặc các ngưỡng cắt lỗ quan trọng, lệnh cắt lỗ thị trường thường an toàn hơn.

Làm thế nào để triển khai định tuyến lệnh thông minh trên nhiều công ty chứng khoán Việt Nam?

Định tuyến lệnh thông minh (SOR) lựa chọn điểm khớp lệnh tối ưu dựa trên giá, thanh khoản và chi phí. Cách triển khai: Duy trì kết nối tới API của nhiều công ty chứng khoán. Trước khi gửi lệnh, truy vấn sổ lệnh/giá khớp gần nhất từ luồng dữ liệu của từng công ty. So sánh giá mua/bán tốt nhất giữa các nguồn. Cân nhắc: chênh lệch phí giao dịch, sàn niêm yết của mã (HOSE, HNX hay UPCoM), và xác suất khớp lệnh. Định tuyến tới nơi tốt nhất. Với các lệnh khớp một phần, cân nhắc tiếp tục trên cùng một kênh hoặc định tuyến lại phần còn lại. Hãy xây dựng một lớp trừu tượng để lõi OMS không phải thay đổi khi thêm/bớt công ty chứng khoán. Lưu ý rằng tại Việt Nam, hạ tầng đặt máy chủ cạnh sàn (co-location) còn hạn chế và phần lớn công ty chứng khoán kết nối tới hệ thống giao dịch (hệ thống KRX) qua đường truyền thuê riêng, nên dư địa cho SOR độ trễ thấp vẫn đang trong giai đoạn phát triển. Theo dõi chất lượng khớp lệnh để hiệu chỉnh các quyết định định tuyến.

Kiến trúc để xử lý 10.000 lệnh mỗi phút là gì?

Kiến trúc thông lượng cao: Mở rộng theo chiều ngang - nhiều phiên bản cổng đặt lệnh phía sau bộ cân bằng tải. Xử lý trong bộ nhớ - kiểm tra hợp lệ và rà soát rủi ro thực hiện trong bộ nhớ (Redis/Aerospike), không qua cơ sở dữ liệu. Xử lý bất đồng bộ - ghi log vào hàng đợi (Kafka), lưu trữ bền vững một cách bất đồng bộ. Gộp kết nối - duy trì kết nối thường trực tới các công ty chứng khoán. Gộp lệnh khi có thể - kết hợp nhiều lệnh trong một lần gọi API nếu công ty chứng khoán hỗ trợ. Đo lường và tối ưu - phân tích hiệu năng từng thành phần, loại bỏ điểm nghẽn. Ngăn xếp công nghệ điển hình: Rust/C++ cho các luồng nhạy cảm với độ trễ, Kafka cho luồng sự kiện, Redis cho trạng thái thời gian thực, TimescaleDB cho dữ liệu lịch sử. Lưu ý thực tế tại Việt Nam: thông lượng của nhà đầu tư cá nhân thường bị giới hạn bởi hạn mức gọi API của công ty chứng khoán (ví dụ SSI FastConnect), nên cần thiết kế phù hợp với các giới hạn này.

OMS nên tích hợp với hệ thống quản trị rủi ro để kiểm soát thời gian thực như thế nào?

Kiến trúc tích hợp: Tích hợp trước giao dịch - OMS gọi hệ thống rủi ro trước mỗi lệnh. Hệ thống rủi ro đánh giá hạn mức vị thế, ký quỹ, tác động lên danh mục, và trả về chấp thuận/từ chối kèm lý do. Quá trình này phải đồng bộ và nhanh (dưới 5 mili-giây). Tích hợp thời gian thực - hệ thống rủi ro đăng ký nhận mọi sự kiện khớp lệnh từ OMS, duy trì vị thế song song, giám sát so với hạn mức, và có thể gửi lệnh 'giảm vị thế' hoặc 'dừng khẩn cấp' trở lại OMS. Sau giao dịch - hệ thống rủi ro nhận vị thế cuối ngày, thực hiện đối chiếu, tính toán VaR/Greeks cho rủi ro qua đêm. Dùng hàng đợi tin nhắn (Kafka) để giảm phụ thuộc chặt, nhưng đảm bảo các luồng quan trọng vẫn đồng bộ để kiểm soát thời gian thực.

Cần những gì để tuân thủ quy định của Ủy ban Chứng khoán Nhà nước đối với OMS giao dịch thuật toán?

Bối cảnh pháp lý tại Việt Nam: khác với một số thị trường phát triển, Việt Nam chưa có khung pháp lý hoàn chỉnh dành riêng cho giao dịch thuật toán và giao dịch tần suất cao, và khung này vẫn đang trong quá trình hoàn thiện dưới sự quản lý của Ủy ban Chứng khoán Nhà nước (UBCKNN) thuộc Bộ Tài chính. Các thông lệ tuân thủ và quản trị tốt nên áp dụng: Định danh tài khoản - mọi lệnh gắn với tài khoản giao dịch và tiểu khoản lưu ký tại VSDC; nhà đầu tư nước ngoài cần mã số giao dịch do VSDC cấp. Đường mòn kiểm toán (audit trail) - lưu trữ đầy đủ nhật ký mọi quyết định và lệnh của thuật toán; theo Luật Kế toán và Luật Chứng khoán, hồ sơ chứng từ thường phải lưu trữ khoảng 10 năm. Công tắc dừng khẩn cấp (kill switch) - khả năng dừng ngay lập tức hoạt động giao dịch thuật toán. Xác thực hai yếu tố - cho việc truy cập hệ thống. Giám sát tỷ lệ lệnh trên giao dịch - lượng lệnh quá lớn mà không khớp có thể bị chú ý. Tuân thủ quy định công bố thông tin và báo cáo của UBCKNN, cùng quy định về tỷ lệ sở hữu nước ngoài (room ngoại). Hãy triển khai các yếu tố này trong OMS và duy trì tài liệu đầy đủ để phục vụ các yêu cầu của cơ quan quản lý.

Làm thế nào để triển khai tính bất biến (idempotency) nhằm ngăn lệnh trùng lặp?

Tính bất biến đảm bảo cùng một yêu cầu tạo ra cùng một kết quả bất kể được gửi bao nhiêu lần. Cách triển khai: Phía khách hàng gán một khóa bất biến (idempotency key) duy nhất cho mỗi yêu cầu đặt lệnh. OMS lưu khóa này cùng với bản ghi lệnh. Khi nhận yêu cầu, OMS kiểm tra xem khóa đã tồn tại chưa. Nếu đã tồn tại, trả về trạng thái lệnh hiện có (không tạo lệnh mới). Nếu chưa, xử lý bình thường và lưu khóa. Nơi lưu khóa cần nhanh (Redis) kèm thời gian sống TTL (điển hình 24 giờ). Để phục hồi sau sự cố, đảm bảo khóa được lưu trước khi gửi lệnh. Xử lý các tình huống biên: lệnh đã tạo nhưng chưa gửi (lỗi mạng) - dùng giao dịch (transaction) hoặc cách tiếp cận hai pha. Hãy kiểm thử với các yêu cầu cố tình trùng lặp để xác minh hành vi.

Master Vietnam trading strategies on AlgoKing

Full guided lessons, quizzes, and a complete strategy library for the Vietnam market. One-time purchase. No subscription, ever.

Get Vietnam access →