Feature engineering là bước biến dữ liệu thị trường thô thành những biến đầu vào mà mô hình có thể học được. Trong giao dịch định lượng, đây thường là phần quyết định chất lượng nghiên cứu nhiều hơn việc chọn một thuật toán “thông minh”. Một mô hình phức tạp không thể cứu được bộ đặc trưng chứa dữ liệu tương lai, sai mốc thời gian hoặc không có ý nghĩa kinh tế.
Bài viết mang tính giáo dục và nghiên cứu, không phải khuyến nghị đầu tư.
1. Bắt đầu từ câu hỏi, không bắt đầu từ chỉ báo
Trước khi tạo hàng trăm biến, hãy viết một giả thuyết có thể kiểm chứng. Ví dụ: “Sau một giai đoạn biến động co hẹp, xác suất xuất hiện chuyển động giá lớn trong 12 nến tiếp theo có tăng không?” Câu hỏi này xác định rõ dữ liệu cần dùng, thời điểm ra quyết định và kết quả cần dự báo.
Một đặc trưng tốt nên thỏa ba điều kiện: có thể tính tại đúng thời điểm giao dịch; có lý do kinh tế hoặc hành vi hợp lý; và đủ ổn định khi thay đổi thị trường, khung thời gian hoặc chi phí giao dịch.
2. Năm nhóm đặc trưng cơ bản
| Nhóm | Ví dụ | Câu hỏi nghiên cứu |
|---|---|---|
| Lợi suất | Return 1, 5, 20 kỳ; log-return | Giá đang có động lượng hay hồi quy? |
| Biến động | Độ lệch chuẩn lăn, ATR, biên độ | Rủi ro hiện tại cao hay thấp so với lịch sử? |
| Xu hướng | Khoảng cách tới MA, độ dốc MA | Thị trường có hướng rõ ràng không? |
| Thanh khoản | Volume, spread, số giao dịch | Tín hiệu có khả năng thực thi không? |
| Chế độ thị trường | Phiên giao dịch, ngày trong tuần, tương quan | Tín hiệu hoạt động trong bối cảnh nào? |
Đặc trưng trễ là điểm khởi đầu tự nhiên cho dữ liệu chuỗi thời gian. Tài liệu của scikit-learn minh họa cách tạo các biến trễ và thống kê lăn, đồng thời cảnh báo rằng chia train/test ngẫu nhiên có thể tạo kết quả quá lạc quan.
3. Quy tắc chống nhìn trước tương lai
Nếu quyết định được đưa ra khi nến hiện tại chưa đóng, bạn không được sử dụng giá đóng cửa hoàn chỉnh của nến đó. Tương tự, rolling mean tại thời điểm t chỉ được dùng dữ liệu đã tồn tại trước lúc đặt lệnh. Một cách phòng thủ đơn giản là chủ động dịch đặc trưng một kỳ bằng shift(1).
Cần kiểm tra cả thời gian công bố dữ liệu. Báo cáo vĩ mô, báo cáo tài chính hay dữ liệu on-chain có thể mang dấu thời gian của kỳ quan sát nhưng chỉ được công bố muộn hơn. Ghép dữ liệu theo ngày quan sát thay vì ngày thực sự có sẵn sẽ tạo data leakage.
4. Chuẩn hóa mà không làm rò rỉ dữ liệu
Không nên dùng toàn bộ lịch sử để tính trung bình, độ lệch chuẩn hoặc ngưỡng phân vị rồi mới chia tập dữ liệu. Bộ chuẩn hóa phải được fit trên tập train và chỉ transform tập validation/test. Với nghiên cứu walk-forward, quy trình này được lặp lại ở từng cửa sổ.
Đối với đặc trưng có thang đo thay đổi mạnh, có thể biểu diễn theo z-score lăn, percentile lăn hoặc tỷ lệ so với biến động hiện tại. Mục tiêu là giúp mô hình so sánh được các giai đoạn mà không vô tình sử dụng thông tin của tương lai.
5. Ít đặc trưng nhưng có lý do thường tốt hơn
Thêm nhiều biến tương quan cao làm tăng nguy cơ mô hình học nhiễu. Hãy xây một bộ baseline nhỏ, sau đó chỉ bổ sung từng nhóm đặc trưng và đo mức cải thiện ngoài mẫu. Nếu một biến chỉ giúp một giai đoạn hoặc biến mất sau khi cộng phí, nó chưa đủ mạnh để giữ lại.
Có thể đánh giá theo ba lớp:
- Predictive: cải thiện MAE, log loss, AUC hoặc chỉ số phù hợp với mục tiêu.
- Economic: cải thiện lợi nhuận sau phí, drawdown hoặc turnover.
- Stability: còn hiệu lực ở cửa sổ thời gian, tài sản và chế độ thị trường khác.
6. Ví dụ nghiên cứu tối giản
Giả sử mục tiêu là dự báo dấu của lợi suất 4 giờ tiếp theo. Bộ dữ liệu ban đầu có thể chỉ gồm return 1/4/12 kỳ, volatility 12/48 kỳ, khoảng cách tới đường trung bình 20 kỳ và biến phiên giao dịch. Nhãn phải được tạo từ dữ liệu tương lai, nhưng mọi đặc trưng phải dừng ở thời điểm ra quyết định.
Chia dữ liệu theo thời gian thành train, validation và test; giữ test cuối cùng hoàn toàn bất động. So sánh logistic regression với quy tắc baseline luôn dự báo theo xu hướng gần nhất. Chỉ khi mô hình vượt baseline ngoài mẫu và sau chi phí mới đáng để mở rộng.
7. Checklist trước khi huấn luyện
- Mỗi hàng dữ liệu có đúng một thời điểm ra quyết định rõ ràng.
- Không có biến nào được tính từ giá hoặc dữ liệu công bố sau thời điểm đó.
- Scaler, imputer và feature selector chỉ fit trên tập train.
- Có baseline đơn giản để so sánh.
- Đã đo tương quan, dữ liệu thiếu và độ ổn định theo thời gian.
- Đánh giá cả chất lượng dự báo lẫn kết quả kinh tế sau chi phí.
Kết luận
Feature engineering cho trading không phải cuộc thi tạo càng nhiều chỉ báo càng tốt. Đó là quá trình chuyển một giả thuyết thành dữ liệu đúng thời điểm, có thể tái lập và đủ ổn định để kiểm tra ngoài mẫu. Hãy bắt đầu nhỏ, chống leakage trước, rồi mới tăng độ phức tạp của mô hình.

