Dữ liệu sạch, chính xác, đầy đủ là nền tảng căn bản của hệ thống giao dịch thuật toán. Dữ liệu quá khứ không chính xác sẽ ảnh hưởng đến quá trình đánh giá hiệu quả thuật toán.
Các lỗi dữ liệu thường gặp
-
Lỗi lập trình khi thu thập dữ liệu. Thường gặp trong cả hệ thống thu thập dữ liệu nội bộ và dịch vụ cung cấp dữ liệu của bên thứ ba.
-
Lỗi mất dữ liệu một phần. Thường gặp khi hệ thống thu thập hoặc lưu trữ dữ liệu xảy ra sự cố ngoài ý muốn. Ví dụ nguồn dữ liệu thay đổi cấu trúc dữ liệu dẫn đến chương trình thu thập dữ liệu phát sinh lỗi.
-
Lỗi nguồn dữ liệu gốc. Xảy ra khi nguồn cung cấp dữ liệu cho toàn thị trường gặp vấn đề không thể khắc phục trong ngắn hạn. Ví dụ như lỗi lệnh chờchào mua và chờchào bán hàng chục triệu hợp đồng trên thị trường chứng khoán phái sinh Việt Nam.
-
Lỗi nhập liệu thủ công. Xảy ra trên dữ liệu báo cáo tài chính và các thông tin liên quan chưa được tự động hóa khâu nhập liệu.
-
Trường dữ liệu rỗng. Xuất hiện khi thao tác scan không chính xác hoặc trong các báo cáo tài chính của các mã cổ phiếu trên sàn UPCOM.
-
Sai lệch về thời gian. Xảy ra khi các nguồn dữ liệu cập nhật với độ trễ lớn so với mốc thời gian đầu tiên được ban hành của dữ liệu. Hiện tượng này xảy ra phổ biến nhất trên dữ liệu báo cáo tài chính của các công ty nhỏ thuộc sàn UPCOM.
-
Điều chỉnh dữ liệu quá khứ. Đây là lỗi đặc biệt khó xử lý khi dữ liệu từ quá khứ được điều chỉnh lại vì nhiều lý do khác nhau. Hiện tượng này phổ biến đối với dữ liệu thực hiện quyền.
Tại Việt Nam, lỗi dữ liệu ngoài phạm vi giá và khối lượng xuất hiện với tần suất cao. Nhà giao dịch thuật toán nên cẩn trọng với tất cả nguồn dữ liệu trước khi phát triển thuật toán. Đối với nguồn dữ liệu bị sai lệch nhiều và chưa có khả năng tự động hóa, nhà giao dịch thuật toán nên cân nhắc bỏ qua nguồn dữ liệu này cho đến khi chi phí tiếp cận giảm về mức chấp nhận được.
Hướng dẫn làm sạch dữ liệu
Chuẩn hóa dữ liệu
-
Định nghĩa chuẩn dữ liệu. Mỗi hệ thống khác nhau sẽ có một chuẩn dữ liệu phù hợp khác nhau. Điểm chung là dữ liệu cần được chuẩn hóa theo cùng một tiêu chuẩn thống nhất để đảm bảo khả năng tương thích của dữ liệu, qua đó thuận tiện cho các tác vụ liên quan đến dữ liệu cũng như khả năng mở rộng của hệ thống trong dài hạn. Ví dụ, với hệ thống Python, chuẩn dữ liệu thời gian là float (Unix timestamp).
-
Chuẩn hóa dữ liệu. Dữ liệu đầu vào thường có chuẩn dữ liệu khác với mặc định của hệ thống, do đó, chuẩn hóa dữ liệu trước khi đưa vào cơ sở dữ liệu của hệ thống là bắt buộc.
-
Xác định nguồn dữ liệu cơ sở. Nguồn dữ liệu cơ sở được hiểu là nguồn dữ liệu đáng tin cậy nhất và có thể là nguồn cung cấp dữ liệu cấp một ra toàn thị trường. Xét trên dữ liệu giá và khối lượng của thị trường chứng khoán phái sinh Việt Nam thì HNX là nguồn dữ liệu cơ sở. Nguồn dữ liệu cơ sở thường có tỷ lệ chính xác và ổn định caonhất. Xác định và sử dụng nguồn dữ liệu cơ sở sẽ tăng tỷ lệ ổn định của nguồn dữ liệu đồng thời giảm bớt chi phí trong công đoạn làm sạch dữ liệu.
Kiểm định dữ liệu
Đối chiếu với trên hai nguồn dữ liệu khác để kiểm định và làm sạch. Các kỹ thuật kiểm định cơ bản bao gồm:
-
Xác định dữ liệu thiếu. Thêm phần dữ liệu còn thiếu vào cơ sở dữ liệu hoặc loại bỏ hoàn toàn đoạn dữ liệu này.
-
Xác định dữ liệu trùng. Loại bỏ đoạn dữ liệu trùng. Dữ liệu trùng thường liên quan đến sự kiện công ty niêm yết nhưng được công bố vào nhiều khoảng thời gian khác nhau.
-
Xác định dữ liệu bất thường. Loại bỏ đoạn dữ liệu bất thường. Dữ liệu bất thường có thể được phát hiện bằng phương pháp xác suất thống kê đơn giản. Điển hình của dữ liệu bất thường trên thị trường chứng khoán Việt Nam là giá phái sinh không đổi, vì khối lượng giao dịch vượt quá khả năng xử lý của hệ thống hiện tại dẫn đến hiện tượng giá không đổi trong một khoảng thời gian dài. Một ví dụ khác là xuất hiện nhiều lệnh giao dịch lên đến hàng triệu hợp đồng phái sinh trong khi khối lượng giao dịch hàng ngày trung bình vào khoảng 200.000 hợp đồng.
-
Xác định dữ liệu không hợp lệ. Giá giao dịch vượt quá biên độ trần, sàn hay các nguyên tắc cơ bản khác trong giao dịch là tín hiệu để xem xét và làm sạch dữ liệu. Thông thường một điểm dữ liệu không hợp lệ sẽ giúp nhà giao dịch thuật toán phát hiện không chỉ một điểm dữ liệu mà là một đoạn dữ liệu cần cập nhật.
Ngoài ra, một số lỗi dữ liệu dễ nhận biết bằng cách quan sát thủ công. Ví dụ, khối lượng đóng cửa ở thị trường chứng khoán Việt Nam có khả năng không được cập nhật chính xác bởi bên thứ ba cung cấp dịch vụ.