Type/to search

Chiến lược giao dịch lưới định lượng tự thích nghi chủ động

Common strategy
Created: 2024-02-02 18:08:22
Last modified: 3 years ago
1
Follow
1802
Followers

img

Tổng quan

Chiến lược này xây dựng một lưới giao dịch điều chỉnh linh hoạt, mang lại lợi nhuận ổn định trong các thị trường biến động. Chiến lược sẽ tự động tính toán khoảng cách lưới và giá giới hạn trên/dưới dựa trên số lượng lưới đã thiết lập. Khi giá vượt qua mỗi đường lưới, nó sẽ mở vị thế mua hoặc bán theo từng đợt. Khi giá quay lại chạm vào đường lưới ban đầu, nó sẽ đóng vị thế và chốt lời dần dần. Chiến lược hỗ trợ cả điều chỉnh tham số lưới thủ công và tự động, có thể thích ứng với sự thay đổi của môi trường thị trường.

Nguyên lý chiến lược

  1. Dựa trên các tham số đầu vào, tính toán ranh giới lưới và mảng giá các đường lưới.

  2. Khi giá thấp hơn một đường lưới nào đó và đường lưới đó chưa có lệnh chờ tương ứng, thì đặt lệnh mua tại mức giá của đường lưới đó; khi giá cao hơn đường lưới trước đó (trừ đường đầu tiên) và đường lưới trước đó có lệnh giữ vị thế tương ứng, thì đóng lệnh mua tương ứng với đường lưới trước đó.

  3. Nếu bật tính năng tự động điều chỉnh tham số lưới, chiến lược sẽ định kỳ tính toán lại giá giới hạn trên/dưới của lưới, khoảng cách lưới và mảng lưới dựa trên một số lượng nhất định dữ liệu nến gần đây.

Phân tích ưu điểm

  1. Đạt được mục tiêu thu lợi nhuận trong thị trường biến động. Ở cả thị trường tăng và giảm, có thể mở vị thế và chốt lời từng phần tại các mức giá khác nhau, từ đó tổng thể thu được lợi nhuận.

  2. Có thể chọn điều chỉnh tham số lưới thủ công hoặc tự động. Điều chỉnh thủ công cần can thiệp thủ công nhưng kiểm soát tốt hơn; điều chỉnh tự động giảm khối lượng công việc thao tác, giúp chiến lược thích ứng với sự thay đổi của môi trường thị trường.

  3. Bằng cách giới hạn số lượng lưới tối đa, có thể kiểm soát rủi ro một chiều. Khi giá vượt qua tất cả các đường lưới, rủi ro hướng đó được kiểm soát.

  4. Có thể điều chỉnh khoảng cách lưới để kiểm soát biên độ lợi nhuận/lỗ của mỗi lệnh. Giảm khoảng cách lưới sẽ làm giảm lợi nhuận/lỗ mỗi lệnh.

Phân tích rủi ro

  1. Trong trường hợp thị trường biến động mạnh, có rủi ro bị arbitrage (chênh lệch giá). Nếu giá dao động nhanh qua lại giữa nhiều lưới, có thể đối mặt rủi ro arbitrage.

  2. Cần thiết lập hợp lý số vốn ban đầu. Nếu vốn ban đầu không đủ, không thể hỗ trợ đủ số lượng đường lưới.

  3. Số lượng lưới quá lớn hoặc quá nhỏ đều không có lợi cho lợi nhuận của chiến lược. Quá ít lưới không tận dụng được biến động; quá nhiều thì lợi nhuận/lỗ mỗi lệnh quá nhỏ. Cần kiểm tra để xác định tham số tối ưu.

  4. Tự động điều chỉnh tham số lưới có rủi ro bị thao túng. Việc tính toán tham số lưới phụ thuộc vào một số lượng nến nhất định, có thể bị ảnh hưởng bởi các thao tác ngắn hạn.

Hướng tối ưu hóa

  1. Thêm logic cắt lỗ. Ví dụ như thiết lập cắt lỗ thả nổi hoặc cắt lỗ theo dõi, để kiểm soát thêm rủi ro thua lỗ một chiều.

  2. Thêm thuật toán tối ưu hóa tham số lưới. Có thể kiểm tra cài đặt tham số cho các giai đoạn thị trường khác nhau, sau đó dùng phương pháp học máy để huấn luyện mô hình, từ đó tự động tối ưu tham số.

  3. Kết hợp thêm các chỉ báo để đánh giá xu hướng thị trường. Ví dụ như MACD, KD để xác định xu hướng tăng hay giảm hiện tại, từ đó điều chỉnh số lượng lưới hoặc tham số.

  4. Tối ưu kiểm soát drawdown. Ví dụ như đặt tỷ lệ drawdown tối đa, khi chạm ngưỡng thì đóng chiến lược để tránh thua lỗ thêm.

Tổng kết

Chiến lược này tận dụng triệt để đặc điểm của thị trường biến động, thông qua giao dịch lưới động đạt được mục tiêu thu lợi nhuận ổn định. Chiến lược vừa cân nhắc tính linh hoạt của việc thiết lập tham số, vừa giảm bớt cường độ công việc thao tác. Có thể nói trong thị trường biến động, chiến lược này là lựa chọn lý tưởng để kiếm lợi nhuận. Trong tương lai, thông qua tối ưu hóa thêm, có thể mở rộng phạm vi ứng dụng của chiến lược, kiểm soát drawdown tốt hơn, từ đó tạo ra lợi nhuận ổn định và bền vững hơn.

Source
Pine
/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("(IK) Grid Script", overlay=true, pyramiding=14, close_entries_rule="ANY", default_qty_type=strategy.cash, initial_capital=100.0, currency="USD", commission_type=strategy.commission.percent, commission_value=0.1)
i_autoBounds    = input(group="Grid Bounds", title="Use Auto Bounds?", defval=true, type=input.bool)                             // calculate upper and lower bound of the grid automatically? This will theorhetically be less profitable, but will certainly require less attention
i_boundSrc      = input(group="Grid Bounds", title="(Auto) Bound Source", defval="Hi & Low", options=["Hi & Low", "Average"])     // should bounds of the auto grid be calculated from recent High & Low, or from a Simple Moving Average
Strategy parameters
Strategy parameters
Grid Bounds
Use Auto Bounds?
(Auto) Bound Source
(Auto) Bound Lookback
(Auto) Bound Deviation
(Manual) Upper Boundry
(Manual) Lower Boundry
Grid Lines
Grid Line Quantity
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)