Ghi chú cho những ai muốn phát triển giao dịch thuật toán



Là một người có mặt trong bếp của công việc này, tôi muốn nói với các bạn một vài điều. Bởi vì chúng tôi không chỉ xây dựng một hệ thống tạo tín hiệu, mà còn là một cấu trúc có khả năng suy nghĩ. Và trong công việc này, chúng ta tiến bước không phải bằng cách học thuộc lòng, mà bằng cách hiểu biết.

Khi phát triển các hệ thống giao dịch thuật toán, mục tiêu của chúng tôi không chỉ là tạo ra một đoạn mã tự động gửi lệnh; mà còn là chuyển đổi thành một cấu trúc bền vững, có thể kiểm tra và mô tả một cách hệ thống các hành vi thị trường nhất định.

Mã của bạn là công cụ mô tả ý tưởng của bạn.
Nhưng nếu ý tưởng của bạn thiếu sót, thuật toán của bạn sẽ không bao giờ đạt được hiệu suất mà bạn mong đợi.

1️⃣ Thiết kế chiến lược: Logic thuật toán cơ bản

Một điều cần làm rõ trước khi viết một thuật toán:
"Bạn nhìn thấy hành vi nào của thị trường như một cơ hội và bạn xác định điều đó như thế nào?"

Chuỗi suy nghĩ mẫu nên như sau:

Quét thanh khoản + sự phân kỳ dòng đơn hàng → kiểm tra vùng → sự rút lui với động lượng thấp → vào lệnh

Cái gì bên trong cấu trúc này?

-Một bộ kích hoạt cấu trúc (sweep)
-Dữ liệu phê duyệt (CVD divergence / Delta burst)
-Lĩnh vực kỹ thuật (zone / order block)
-Bộ lọc thời gian (sự co hẹp biến động / phiên mở )

Mỗi cấu trúc xác định "khi nào hệ thống cần hoạt động". Những người không phát triển chiến lược chỉ tạo ra tín hiệu ngẫu nhiên.

2️⃣ Sử dụng dữ liệu và Chỉ báo nâng cao

Các chỉ báo cổ điển (RSI, MACD v.v.) hiện nay đã không đủ cho nhiều hệ thống thuật toán. Để có thể mô tả cấu trúc và hành vi thời gian thực của thị trường, bạn cần hướng tới các loại dữ liệu dưới đây:

a) Luồng Đơn Hàng và Các Hợp Đồng Tương Lai

CVD (Khối lượng delta tích lũy)
Phân tích cân bằng người mua-người bán thực sự. Nếu CVD tăng khi giá giảm, có thể có nhu cầu tiềm ẩn.

Delta (Khối lượng Mua/Bán Tích cực Farkı)
Đo lường sự cân bằng giao dịch ngắn hạn và quyết liệt. Sự bùng nổ delta trong vùng cho thấy vùng đã được chấp nhận.

Open Interest (OI)
Cho biết liệu vị trí mới có được mở hay không. OI tăng + giá tăng → xác nhận xu hướng. OI giảm + chuyển động giá → khả năng bị short squeeze / bẫy.

b) Dữ liệu Thanh khoản

-Bản đồ nhiệt (ví dụ: TradingLite / Tensor)
-Khối lượng sổ đặt hàng giao ngay
-Phân tích quét

Có thể phân tích dữ liệu và đọc thị trường. Chỉ sử dụng dữ liệu là không đủ; cần phải xây dựng kịch bản dữ liệu.

3️⃣ Kỹ năng kiểm tra lại và các cơ sở thống kê

Mã không có ý nghĩa gì.
Nếu bạn không biết cách mã hoạt động trên dữ liệu lịch sử, thì kết quả bạn nhận được trên thị trường thực chỉ là một dự đoán.

Các chỉ số mà bạn nhất định phải đo lường khi thực hiện backtest:

Tỷ lệ thắng - Kazanma yüzdesi
Average R - Tỷ lệ Rủi ro:Phần thưởng trung bình
Kỳ vọng - Giá trị mong đợi mỗi giao dịch → (Trung bình Thắng * Tỷ lệ Thắng) - (Trung bình Thua * Tỷ lệ Thua)
Max Drawdown - Thời kỳ giảm giá tồi tệ nhất
Lọc theo thời gian - Lọc theo giờ, ngày, tuần
Phân phối - Biểu đồ phân phối kết quả CurveTrade

Ngoài ra:

Kiểm tra từng chiến lược theo từng giờ. Có thể nó chỉ hoạt động giữa 10:00 và 13:00.

Thực hiện mô phỏng Monte Carlo. Hệ thống có giữ được tích cực ngay cả trong các biến thể ngẫu nhiên không?

Thực hiện kiểm tra ngoài mẫu. Thử nghiệm thuật toán bạn đã phát triển trên các dữ liệu mà nó chưa từng thấy.

Lưu ý: Các hệ thống tối ưu không thắng. Các hệ thống thích ứng và mạnh mẽ mới thắng.

4️⃣ Quy trình thử nghiệm trực tiếp và phát triển hệ thống

Hệ thống thành công trong backtest có thể thất bại trong thực tế. Nguyên nhân chủ yếu thường là như sau:

-Trễ dữ liệu / slippage / sự mở rộng spread
-Sự thay đổi của các điều kiện thanh khoản theo thời gian thực
-Sự can thiệp của người dùng ra ngoài hệ thống (là yếu tố quan trọng nhất)

Do đó trong quá trình kiểm tra trực tiếp:

-Thực hiện thử nghiệm với lệnh thực tế bằng vốn nhỏ.
-Ghi lại nhật ký giao dịch: Ghi lại lý do và kết quả sau mỗi giao dịch.
-Thiết lập hệ thống log: Tín hiệu nào đã được tạo ra vào thời điểm nào, kéo dài bao lâu, giá đã ghi nhận bao nhiêu?

Khi một hệ thống bắt đầu hoạt động trong thực tế, có nghĩa là hệ thống đó thực sự "đang hoạt động".

Kết thúc: Biến ý tưởng thành mã

Việc viết thuật toán không phải là một công việc lập trình, mà là một kỷ luật tư duy. Mã mạnh nhất phản ánh chiến lược có tư duy đơn giản và rõ ràng nhất.

Vậy trước tiên:

Thị trường hành vi nào mang lại cho tôi cơ hội?
Tôi làm thế nào để đo lường hành vi này?
Tôi kích hoạt phép đo này bằng cách nào?
Khi nào tôi coi là không hợp lệ?
Việc biến một cấu trúc mà bạn không biết câu trả lời thành mã chỉ là một sự lãng phí thời gian. Đừng quên rằng thời gian cũng có chi phí của nó. :)

Nếu bạn muốn tiến bước trên con đường này, hãy xác định chiến lược của bạn.
Đọc dữ liệu.
Tính toán thống kê của bạn.
Kiểm tra trong thế giới thực.
Và lặp lại mọi thứ.

#AlgoTrade # AlgoZone
EDEN6.27%
ORDER0.87%
FLOW3.43%
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • Bình luận
  • Chia sẻ
Bình luận
0/400
Không có bình luận
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)