Chiến lược phá vỡ cửa sổ xoay ngược (Reversal Momentum Breakout Strategy) là một chiến lược giao dịch định lượng sử dụng các chỉ số giá xoay ngược và động lực để tạo ra tín hiệu giao dịch. Chiến lược này dựa trên lý thuyết của hàng đầu động lượng, bằng cách theo dõi giá cao nhất và giá thấp nhất trong một chu kỳ nhất định, để đánh giá xem thị trường có ở điểm quan trọng để đảo ngược hay không để nắm bắt cơ hội đảo ngược.
Chiến lược này chủ yếu bằng cách tính toán giá cao nhất và giá thấp nhất trong một khoảng thời gian nhất định (ví dụ: 20 ngày) để xác định xem thị trường có ở điểm đảo ngược quan trọng hay không.
Tính toán giá cao nhất (window_high) và giá thấp nhất (window_low) trong 20 ngày gần đây.
Nếu giá cao nhất của đường K hiện tại cao hơn giá cao nhất trong 20 ngày qua (tức là có mức cao mới), thì bước vào giai đoạn giám sát đảo ngược điểm cao, bộ đếm được đặt là 5 ngày.
Nếu giá cao nhất không tạo ra một mức cao mới, thì đồng hồ giảm 1 trên mỗi ngày. Khi đồng hồ giảm xuống còn 0, thời gian giám sát đảo ngược đỉnh cao kết thúc.
Lý luận phán đoán tương tự đối với giá thấp nhất, nếu có mức thấp mới, chúng ta sẽ đi vào giai đoạn giám sát đảo ngược mức thấp.
Trong thời gian giám sát đảo ngược, thực hiện hoạt động tăng hoặc giảm. Nếu có tín hiệu đảo ngược ở gần điểm quan trọng đảo ngược, bạn có thể bắt được các hoạt động lớn hơn.
Chiến lược này đồng thời đặt thời gian bắt đầu giao dịch để tránh tạo ra tín hiệu giao dịch trong dữ liệu lịch sử.
Chiến lược phá cửa sổ số lượng xoay ngược có những lợi thế chính sau:
Thu hẹp cơ hội đảo ngược, thích hợp cho thị trường đảo ngược. Sau khi thị trường tăng hoặc giảm liên tục, thường có một mức độ đảo ngược. Chiến lược này có thể nắm bắt các điểm biến đổi này.
Động lực đi trước, nhạy cảm hơn. Tính toán giá cao nhất và giá thấp nhất trong một chu kỳ nhất định, có thể đánh giá xu hướng và thời gian đảo ngược giá một cách nhạy cảm hơn.
Thiết lập thời gian giám sát đảo ngược để tránh tín hiệu giả. Chỉ phát ra tín hiệu gần điểm quan trọng đảo ngược, có thể lọc một phần tiếng ồn.
Cho phép thực hiện nhiều thao tác làm trắng.
Các quy tắc tương đối đơn giản và dễ thực hiện. Chiến lược này chủ yếu dựa trên các chỉ số giá và động lực đơn giản, dễ dàng chuyển thành các thực hiện mã.
Chiến lược phá cửa sổ xoay vòng cũng có những rủi ro chính như sau:
Không được sử dụng để dự đoán ngược. Chiến lược này sẽ gây ra tổn thất khi thị trường tiếp tục hướng.
Không thể xem xét toàn bộ các biến động của thị trường lớn. Một sự thay đổi của cổ phiếu không nhất thiết phải là sự thay đổi của thị trường lớn, cần được kết hợp với phân tích thị trường lớn.
Khả năng rút lui có thể lớn hơn. Khi không có sự đảo ngược, NetDevice có thể mở rộng.
Rủi ro phù hợp với dữ liệu. Chiến lược có thể phụ thuộc quá nhiều vào dữ liệu lịch sử và có thể kém hiệu quả hơn so với phản hồi trong thực tế.
Các tham số nhạy cảm. Thiết lập các tham số như thời gian cửa sổ và bộ đếm ngược sẽ ảnh hưởng đến sự ổn định của chính sách.
Các giải pháp đối phó với rủi ro bao gồm: tối ưu hóa chiến lược dừng lỗ, xem xét các yếu tố lớn, điều chỉnh các tham số để kiểm tra tính ổn định.
Các hướng tối ưu hóa chính của chiến lược bao gồm:
Kết hợp các chỉ số lớn của thị trường. So sánh thị trường lớn với thị trường yếu, tránh đảo ngược trong môi trường bất lợi của thị trường lớn.
Lựa chọn các cổ phiếu có tình trạng tài chính tốt, cơ bản tốt, giá cả được đánh giá cao.
Tối ưu hóa các tham số. Điều chỉnh thời gian cửa sổ, xoay tham số bộ đếm để tìm các tham số tối ưu nhất.
Thêm các chiến lược dừng lỗ. Kiểm soát mức rút tối đa, chẳng hạn như dừng theo dõi, dừng mức độ.
Tăng khả năng học máy. Sử dụng mô hình AI để dự đoán xác suất biến đổi giá, tăng độ chính xác tín hiệu.
Chiến lược phá cửa sổ số lượng quay ngược tìm kiếm cơ hội đảo ngược bằng cách theo dõi giá cả và các chỉ số động lực. Nó phản ứng nhạy cảm, có thể xác định xu hướng và thời điểm đảo ngược. Nhưng cũng có một mức độ rủi ro cần được tối ưu hóa và kiểm soát rủi ro thích hợp. Nói chung, sau khi nắm bắt nguyên tắc của chiến lược và tối ưu hóa, nó có thể trở thành một phần hiệu quả của hệ thống giao dịch định lượng.
/*backtest
start: 2023-02-16 00:00:00
end: 2024-02-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("New Highs and Lows Momentum Strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
window = input.int(20, title="New Highs and Lows Window", minval=1)
decay = input.int(5, title="Decay", minval=1)
startDate = input(timestamp("1 Jan 2023"), title = "Start Date")
allowShort = input.bool(false, title = "Allow shorting")
var int highDecayCounter = 0
var bool isHighPeriod = false
var int lowDecayCounter = 0
var bool isLowPeriod = false
inTradeWindow = true
window_high = ta.highest(close, window)
window_low = ta.lowest(low, window)
// Logic for Highs
if window_high > ta.highest(close, window)[1]
highDecayCounter := decay
isHighPeriod := true
else
if highDecayCounter > 0
highDecayCounter := highDecayCounter - 1
else
isHighPeriod := false
// Logic for Lows
if window_low < ta.lowest(low, window)[1]
lowDecayCounter := decay
isLowPeriod := true
else
if lowDecayCounter > 0
lowDecayCounter := lowDecayCounter - 1
else
isLowPeriod := false
// Strategy Execution
if inTradeWindow
if isHighPeriod and highDecayCounter == decay
strategy.entry("Long", strategy.long)
if isHighPeriod and highDecayCounter == 0
strategy.close("Long")
if isLowPeriod and lowDecayCounter == decay and allowShort
strategy.entry("Short", strategy.short)
if isLowPeriod and lowDecayCounter == 0 and allowShort
strategy.close("Short")
// Plotting
plot(window_high, color=color.green)
plot(window_low, color=color.red)