Chiến lược vượt qua trung bình động đa cấp cho các Quant Master

Tác giả:ChaoZhang, Ngày: 2024-01-12
Tags:

img

Tổng quan

Chiến lược này sử dụng nguyên tắc vượt qua đường trung bình động đa cấp để nắm bắt xu hướng trung hạn và đạt được lợi nhuận ổn định. Nó sử dụng ba bộ trung bình động nhanh, trung bình và chậm với các thông số khác nhau và đưa ra quyết định giao dịch dựa trên các giao dịch giao dịch của họ. So với các chiến lược truyền thống chỉ có hai bộ trung bình động, chiến lược vượt qua trung bình động đa cấp này có thể lọc ra nhiều tín hiệu sai và cải thiện tỷ lệ thắng của chiến lược.

Chiến lược logic

Chiến lược này sử dụng ba bộ trung bình chuyển động: trung bình chuyển động nhanh MAshort, trung bình chuyển động tốc độ trung bình MAmid và trung bình chuyển động chậm MAlong. MAshort có tham số 9, phản ứng nhanh nhất và được sử dụng để nắm bắt tín hiệu ngắn hạn; MAmid có tham số 50, có tốc độ trung bình và được sử dụng để xác nhận xu hướng; MAlong có tham số 100, phản ứng chậm nhất và được sử dụng để xác định hướng xu hướng dài hạn.

Khái niệm giao dịch cụ thể của chiến lược là: khi đường trung bình động tốc độ trung bình MAmid vượt qua trên đường trung bình động chậm MAlong, nó chỉ ra rằng đà tăng của giá cổ phiếu đang hình thành. Tại thời điểm này, chiến lược đi dài; khi đường trung bình động tốc độ nhanh MAshort vượt qua dưới đường trung bình động tốc độ trung bình MAmid, nó chỉ ra rằng một sự đảo ngược xu hướng ngắn hạn đã xảy ra, và chiến lược thoát khỏi vị trí của nó tại thời điểm này.

Ưu điểm lớn nhất của chiến lược này là bằng cách kết hợp nhiều đường trung bình động, nó có thể lọc hiệu quả các tín hiệu sai và chỉ chọn những đột phá tương đối mạnh trong một xu hướng tăng trung hạn dài hạn để mở các vị trí dài.

Phân tích lợi thế

Những lợi thế của chiến lược này là:

  1. Các thông số chiến lược được tối ưu hóa để phù hợp hiệu quả với xu hướng trung và dài hạn với tỷ lệ thắng tương đối cao.
  2. Thiết kế trung bình động nhiều cấp độ lọc tiếng ồn và tín hiệu sai.
  3. Nó phù hợp với tất cả các loại cổ phiếu và tiền điện tử với kết quả backtesting lịch sử tương đối tốt.
  4. Tần suất giao dịch thấp và mỗi vị trí mở chiếm 30% các quỹ và rủi ro có thể kiểm soát được.
  5. Thời gian có thể cấu hình, cung cấp tính linh hoạt cho giao dịch trực tiếp.

Phân tích rủi ro

Chiến lược này cũng có những rủi ro sau:

  1. Khả năng đảo ngược xu hướng dài hạn tương đối nhỏ nhưng khi nó xảy ra, kích thước dừng lỗ có thể lớn.
  2. Tần suất giao dịch thấp và do đó có vấn đề sử dụng vốn không hiệu quả.
  3. Các thông số của chiến lược cần được tối ưu hóa cho các loại giao dịch khác nhau, điều này hạn chế phạm vi áp dụng.

Để đối phó với những rủi ro này, chúng tôi sẽ tiếp tục mở rộng khả năng áp dụng chiến lược trong khi kiểm soát giảm tối đa bằng các kỹ thuật dừng lỗ.

Hướng dẫn tối ưu hóa

Chiến lược này cũng có thể được tối ưu hóa theo những cách sau:

  1. Tối ưu hóa các thông số ngày của trung bình động để tìm kết hợp thông số tốt nhất
  2. Thêm các chỉ số âm lượng để xác nhận và tránh các vấn đề phù hợp đường cong
  3. Thiết lập lỗ tối đa cho chiến lược, chẳng hạn như 20% max drawdown, để buộc dừng lỗ
  4. Kết hợp các mô hình học máy để đánh giá xu hướng và cải thiện khả năng thích nghi của chiến lược

Tóm lại

Chiến lược này thuộc về một chiến lược định lượng trung dài hạn điển hình, với tiền đề kiểm soát rủi ro giao dịch, liên tục kiếm lợi nhuận bằng cách khớp các đường trung bình động đa cấp với xu hướng trung dài hạn. So với một chỉ số duy nhất, chiến lược này kết hợp nhiều thông số và có thể xác định hiệu quả các tín hiệu xu hướng trung và dài hạn mạnh mẽ. Thông qua tối ưu hóa hơn nữa, chiến lược này có thể được áp dụng cho nhiều loại hơn và đóng một vai trò quan trọng trong giao dịch định lượng.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule

//@version=4
strategy(shorttitle='Multi Moving Average Crossing',title='Multi Moving Average Crossing (by Coinrule)', overlay=true, initial_capital=1000,  default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

//MA inputs and calculations
inlong=input(100, title='MAlong')
inmid=input(50, title='MAmid')
inshort=input(9, title='MAfast')

MAlong = sma(close, inlong)
MAshort= sma(close, inshort)
MAmid= sma(close, inmid)


//Entry 
bullish = crossover(MAmid, MAlong)

strategy.entry(id="long", long = true, when = bullish and window())

//Exit
bearish = crossunder(MAshort, MAmid)

strategy.close("long", when = bearish and window())

plot(MAshort, color=color.orange, linewidth=2)
plot(MAmid, color=color.red, linewidth=2)
plot(MAlong, color=color.blue, linewidth=2)


Thêm nữa