Giao thức FIX

Giao thức FIX (***Financial Information eXchange***) là một giao thức truyền thông điện tử được khởi xướng vào năm 1992 để trao đổi thông tin quốc tế theo thời gian thực liên quan đến các giao dịch và thị trường chứng khoán. Với hàng nghìn tỷ đô la được giao dịch hàng năm chỉ riêng trên NASDAQ, các tổ chức dịch vụ tài chính đang sử dụng phương thức tiếp cận thị trường trực tiếp (DMA) để tăng tốc độ tiếp cận thị trường tài chính. Việc quản lý việc cung cấp các ứng dụng giao dịch và duy trì độ trễ ở mức thấp ngày càng đòi hỏi phải hiểu rõ về giao thức FIX.

## Lịch sử
Đặc tả giao thức FIX ban đầu được Robert "Bob" Lamoureux và Chris Morstatt biên soạn vào năm 1992 để cho phép truyền dữ liệu giao dịch cổ phiếu điện tử giữa Fidelity Investments và Salomon Brothers. FIX ban đầu giải quyết thông tin giữa các nhà môi giới đại lý và khách hàng tổ chức của họ. Vào thời điểm đó, thông tin này được truyền đạt bằng lời nói qua điện thoại. Fidelity nhận ra rằng thông tin từ các nhà môi giới đại lý của họ có thể được chuyển đến nhầm nhà giao dịch hoặc đơn giản là bị mất khi các bên cúp máy. Họ muốn các phương thức truyền đạt như vậy được thay thế bằng dữ liệu có thể đọc được bằng máy, sau đó có thể được chia sẻ giữa các nhà giao dịch, phân tích, hành động và lưu trữ. Ví dụ, các nhà môi giới đại lý gọi điện với dấu hiệu quan tâm (IOI) để mua hoặc bán một khối cổ phiếu. Sáng kiến FIX đã tạo ra các thông điệp mới như Chỉ định quan tâm (IOI).

Theo Cộng đồng giao dịch FIX, FIX đã trở thành tiêu chuẩn nhắn tin thực tế cho giao tiếp trước giao dịch và giao dịch trên thị trường chứng khoán toàn cầu và đang mở rộng sang không gian sau giao dịch để hỗ trợ xử lý trực tiếp cũng như tiếp tục mở rộng sang thị trường ngoại hối, thu nhập cố định và các thị trường phái sinh.

### Cộng đồng giao dịch FIX
Cộng đồng giao dịch FIX là một tổ chức tiêu chuẩn phi lợi nhuận do ngành thúc đẩy với sứ mệnh giải quyết các vấn đề kinh doanh và quy định tác động đến giao dịch đa tài sản trên thị trường tài chính toàn cầu thông qua việc tăng cường sử dụng các tiêu chuẩn, bao gồm ngôn ngữ nhắn tin của Giao thức FIX, mang lại hiệu quả hoạt động, tăng cường tính minh bạch và giảm chi phí và rủi ro cho tất cả những người tham gia thị trường.

## Thông số kỹ thuật
Ban đầu, tiêu chuẩn FIX là khối thống nhất, bao gồm ngữ nghĩa lớp ứng dụng, mã hóa tin nhắn và lớp phiên trong một thông số kỹ thuật duy nhất. Nó vẫn là khối thống nhất cho đến phiên bản FIX 4.2. Sau đó, mã hóa tin nhắn và thông số kỹ thuật lớp phiên bắt đầu được chia thành các tài liệu riêng biệt và cuối cùng, FIX đã phát triển thành một họ các tiêu chuẩn kỹ thuật liên quan.

### Mã hóa gói tin
Mã hóa thông điệp (hay mã hóa gói tin) của giao thức FIX được thực hiện ở Lớp trình bày (Presentation Layer) trong mô hình Kết nối hệ thống mở (mô hình OSI), chịu trách nhiệm về định dạng truyền dẫn của thông điệp. Một thông điệp bao gồm tiêu đề (header), nội dung (body) và phần kết thúc (trailer). Các trường của gói tin được phân tách bằng Ký tự bắt đầu tiêu đề (SOH) (ASCII 0x01).

Cho đến phiên bản FIX.4.4, tiêu đề chứa ba trường: 8 (BeginString), 9 (BodyLength) và 35 (MsgType).

Ví dụ một gói tin FIX, gói tin Báo cáo thực thi (Execution Report) (`35=8`), với ký tự sổ dọc (`|`) làm ký tự SOH:

: `8=FIX.4.2 | 9=178 | 35=8 | 49=PHLX | 56=PERS | 52=20071123-05:30:00.000 | 11=ATOMNOCCC9990900 | 20=3 | 150=E | 39=E | 55=MSFT | 167=CS | 54=1 | 38=15 | 40=2 | 44=15 | 58=PHLX EQUITY TESTING | 59=0 | 47=C | 32=0 | 31=0 | 151=15 | 14=0 | 6=0 | 10=128 |`

### FIXML
FIXML là một lược đồ XML cho các thông điệp FIX. Về mặt ngữ nghĩa, nó tương đương với các thông điệp được mã hóa tagvalue nhưng tận dụng công nghệ phân tích cú pháp XML. FIXML thường được sử dụng cho các ứng dụng back-office và thanh toán bù trừ hơn là giao dịch.

### Các phương thức mã hóa FIX khác
Cộng đồng giao dịch FIX cũng đã phát triển các tiêu chuẩn chuẩn ánh xạ giữa FIX và các giao thức tin nhắn khác, bao gồm:

* Google Protocol Buffers
* ASN.1
* JSON

## Tham khảo