Nửa “thực thi” của vấn đề — và vì sao bạn không còn phải tự viết code nữa.
Bạn đã biết mình muốn mua gì và khi nào nên thoát. Vấn đề là điều kiện vào lệnh lại xuất hiện lúc 3 giờ sáng, hoặc giữa một cuộc họp, hoặc đúng ngày bạn rời khỏi màn hình. Giao dịch thuật toán giải quyết đúng phần đó của vấn đề — và chỉ phần đó.
Giao dịch thuật toán là để một chương trình đặt lệnh và quản lý vị thế theo các quy tắc bạn đã định trước: điều kiện kích hoạt, lệnh được gửi đi, không cần ai ngồi canh. Nó trả lời câu hỏi về thực thi — quy tắc này có được thực hiện chính xác và ổn định không? — chứ không phải câu hỏi quy tắc đó có tốt hay không.
| Giao dịch định lượng | Giao dịch thuật toán | |
|---|---|---|
| Trọng tâm | Quyết định được đưa ra thế nào — tìm quy tắc từ dữ liệu và thống kê | Quyết định được thực thi thế nào — biến quy tắc thành lệnh |
| Câu hỏi cốt lõi | Quy tắc này có lợi thế không? | Quy tắc này có thực thi chính xác và tin cậy được không? |
| Hỏng khi | Lợi thế vốn không tồn tại, hoặc đã mất | Mất kết nối, lệnh khớp một phần, nguồn dữ liệu sai |
Trên thực tế chúng gần như trùng nhau hoàn toàn: một chiến lược định lượng rồi cũng cần thứ gì đó chạy nó, còn các quy tắc mà thuật toán thực thi thường được tìm ra bằng phân tích định lượng. Cách hiểu hữu ích là: giao dịch thuật toán chính là phần được thực thi của giao dịch định lượng. Nếu bạn chưa đọc giao dịch định lượng là gì, hãy bắt đầu từ đó — nửa quyết định đến trước.
Một lưu ý về từ ngữ, vì nó gây ra nhầm lẫn không đáng có: “algorithmic trading”, “algo trading”, “automated trading”, và — ở các thị trường nói tiếng Trung — 程式交易 với 程序化交易 đều chỉ cùng một thứ. Đó không phải bốn phương pháp khác nhau phải học riêng.
Thứ thật sự cần tách bạch là hàng trong bảng phía trên: một quy tắc có lợi thế hay không và nó có được thực thi đáng tin cậy hay không là hai vấn đề độc lập. Làm đúng cái này mà sai cái kia thì đều dẫn tới thua lỗ, nhưng chỗ phải sửa lại hoàn toàn khác nhau.
Các nền tảng như MultiCharts, TradeStation và TradingView cho phép người dùng dựng chiến lược tự động bằng trình dựng đồ họa hoặc các ngôn ngữ script đơn giản — PowerLanguage, EasyLanguage, Pine — không phải thuê máy chủ, không phải triển khai gì cả. (Cách thực thi có khác nhau: MultiCharts và TradeStation tự đặt lệnh, còn chiến lược trên TradingView cần một broker đã kết nối hoặc một webhook trung chuyển thì mới giao dịch thật.) Dù theo cách nào, tiền đề đó cũng không đứng vững ở phía nhà đầu tư cá nhân.
Nhưng trường hợp đáng nói hơn là khi bạn biết viết code. Tự dựng hạ tầng thực thi vẫn đồng nghĩa với mua bản quyền và nạp dữ liệu, một thư viện đặt lệnh cho từng sàn giao dịch, một engine backtest, khâu triển khai, và giám sát đủ bền để sống sót qua một websocket rớt lúc 4 giờ sáng. Đó là vài tháng kỹ thuật, rồi bảo trì vĩnh viễn.
Cụ thể: riêng broker attribution — phần đánh dấu một lệnh là đến từ tích hợp của bạn — mỗi sàn giao dịch lại làm một kiểu. Trong số các sàn mà Blave duy trì, có nơi là một header của request, có nơi là một trường trong body, ở Binance là tiền tố của client-order-id, còn ở KuCoin là chữ ký đối tác ký riêng cho từng request. Đó mới là một hệ thống con nhỏ trong rất nhiều thứ, và nó không bao giờ ngừng cần được để mắt.
Nếu bạn thật sự có lợi thế, thời gian của bạn nên dành để tìm lợi thế tiếp theo, thay vì đi sửa một kết nối API bị rớt.
Bạn mô tả chiến lược bằng hội thoại, rồi agent nghiên cứu, viết code, backtest, đưa lên chạy thật, sau đó tự chạy và tự giám sát. Có hai cách chạy: bản máy tính nối với Claude Code hoặc Codex của chính bạn và chạy trên chính máy tính của bạn; nếu cần chạy tiếp khi tắt máy tính, chuyển sang máy chủ đám mây riêng của bạn và thao tác từ web, Telegram hoặc SSH.
Bạn không cần đổi nền tảng để dùng phần nghiên cứu. Blave Agent có thể xuất chiến lược sang đúng nền tảng bạn đang giao dịch:
| Nền tảng | Xuất ra dạng |
|---|---|
| XQ (嘉實 全球贏家) | Script giao dịch XS |
| MultiCharts | PowerLanguage |
| TradingView | Pine Script v6 |
Quy trình này cố ý được giữ hẹp. Bản Python phải có một backtest còn hiệu lực trước đã — agent sẽ không dịch logic chưa được kiểm chứng. Sau đó bản xuất sẽ chuyển thể từ một template đã biết là chạy tốt, thay vì viết ngôn ngữ đích từ đầu, và chạy một lượt lint tĩnh trước khi đưa file cho bạn.
Backtest đã tính phí và trượt giá chưa? Tự động hóa thường làm tăng tần suất giao dịch, và tần suất là chỗ chi phí cộng dồn. Một backtest thật trên Blave Agent đã trả 22% vốn ban đầu cho phí trong bốn năm.
Tín hiệu có dùng dữ liệu mà nó thật sự có được vào lúc đó không? Nếu quy tắc đọc giá đóng cửa của một cây nến rồi khớp ngay tại chính cây nến đó, backtest đang dùng thông tin mà hệ thống chạy thật sẽ không có. Đây là kiểu thổi phồng kết quả âm thầm phổ biến nhất.
Bạn đã xử lý các điểm gián đoạn dữ liệu chưa? Chuyển tháng hợp đồng tương lai, cổ tức và chia tách tạo ra những bước nhảy không phải là biến động giá. Chiến lược nào coi chúng là biến động giá thì sẽ giao dịch theo chúng.
Chuyện gì xảy ra khi lệnh thất bại? Lệnh bị từ chối, khớp một phần, mất kết nối khi đang giữ vị thế. Một chiến lược tự động không có câu trả lời cho những tình huống này rồi sẽ có lúc nắm một vị thế mà nó không biết là mình đang nắm.
Bạn ngồi yên được qua drawdown tệ nhất trong báo cáo chứ? Hãy chọn khối lượng theo mức drawdown bạn chịu được, không phải theo mức lợi nhuận bạn muốn. Cái bạn không chịu nổi chính là cái bạn sẽ tắt đúng ở đáy.
Mọi chiến lược chính thức của Blave Agent đều miễn phí và đi kèm backtest thật. Hãy triển khai một chiến lược, xem nó thực thi ra sao, rồi sửa thành phiên bản của riêng bạn khi bạn đã hiểu cách nó hành xử.