Chiến lược kênh hồi quy tuyến tính

Tác giả:ChaoZhang, Ngày: 2024-01-17 11:41:16
Tags:

img

Tổng quan

Chiến lược kênh hồi quy tuyến tính là một chiến lược giao dịch ngắn hạn dựa trên phân tích hồi quy tuyến tính và các chỉ số trung bình động.

Chiến lược logic

Chiến lược kênh hồi quy tuyến tính chủ yếu dựa trên hai chỉ số:

  1. Kênh hồi quy tuyến tính: Phạm vi kênh được tính bằng phân tích hồi quy tuyến tính. Chiến lược đặt ra một đường hồi quy tuyến tính 55 ngày để đại diện cho xu hướng giá dài hạn. Đồng thời, nó tính toán giới hạn trên của kênh, đại diện cho khu vực nhiệt độ cao hơn của giá.

  2. Hull Moving Average: Một chỉ số theo dõi xu hướng giống như trung bình động với thời gian 400 ngày được sử dụng để xác định xu hướng và hướng chung của giá.

Logic giao dịch cụ thể là:

Khi giá thấp hơn giới hạn trên của kênh và dưới mức trung bình di chuyển Hull 400 ngày, mua dài; khi giá tăng trở lại trên điểm trung bình hồi quy tuyến tính, đóng vị trí để kiếm lợi nhuận.

Điều này cho phép bạn mua mức thấp trong thời gian hợp nhất và rút tiền để kiếm lợi nhuận khi giá quay trở lại kênh xu hướng tăng.

Phân tích lợi thế

Chiến lược này có những lợi thế sau:

  1. Kênh hồi quy tuyến tính có thể đánh giá giá nóng và hướng xu hướng dài hạn chính xác hơn, tránh nhập mù trong thị trường hỗn loạn.

  2. Trung bình động Hull lọc ra tiếng ồn thị trường ngắn hạn, làm cho thời gian nhập cảnh rõ ràng hơn.

  3. Chiến lược này có tần suất giao dịch tương đối thấp và rủi ro rút vốn thấp hơn.

  4. Các điểm lợi nhuận là rõ ràng, và lợi nhuận tốt thường có thể được nắm bắt trong xu hướng trung bình và ngắn hạn.

Phân tích rủi ro

Chiến lược kênh hồi quy tuyến tính cũng đặt ra một số rủi ro:

  1. Trong một thị trường tăng, kênh hồi quy tuyến tính có thể phẳng hoặc giảm nhẹ, bỏ lỡ cơ hội mua.

  2. Trong trường hợp một sự đảo ngược lớn do một sự kiện bất ngờ, lệnh dừng lỗ có thể được nhấn, gây ra một khoản lỗ lớn.

  3. Nếu pullback đi quá sâu và phá vỡ đường MA Hull, nó có thể không tạo ra lợi nhuận trên lối ra.

  4. Tần suất giao dịch có thể quá thấp.

Tối ưu hóa

Chiến lược kênh hồi quy tuyến tính có thể được tối ưu hóa trong các khía cạnh sau:

  1. Điều chỉnh động các thông số kênh hồi quy tuyến tính để làm cho kênh gần hơn với biến động giá thực tế.

  2. Tối ưu hóa các thông số Hull MA để xác định tốt hơn các điểm đảo ngược xu hướng.

  3. Thiết lập các điểm dừng lỗ sau trong kênh để kiểm soát hiệu quả rủi ro mất mát đơn.

  4. Thêm các chỉ số biến động để tránh mở các vị trí trên các thị trường biến động.

  5. Kết hợp các chỉ số khối lượng giao dịch để xác định sự phá vỡ thực sự.

Tóm lại

Nhìn chung, chiến lược kênh hồi quy tuyến tính là một chiến lược theo xu hướng tương đối mạnh mẽ. Nó tránh tiếng ồn thị trường và đi vào đúng hướng khi xu hướng bắt đầu. Bằng cách tối ưu hóa các tham số và kết hợp các chỉ số, rủi ro giao dịch có thể được giảm hơn nữa và lợi nhuận được cải thiện. Chiến lược này phù hợp với việc nắm giữ trung bình đến dài hạn mà không cần giao dịch thường xuyên. Nói chung, nó có giá trị thực tế mạnh mẽ cho giao dịch trực tiếp.


/*backtest
start: 2023-01-10 00:00:00
end: 2024-01-16 00:00:00
period: 1d
basePeriod: 1h
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/
// © TradingAmmo

//@version=4
strategy("Linear Channel", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),  1, 1,  0, 0)
_testPeriod() => true

//linreg
length = input(55)
linreg = linreg(close, length, 0)
plot(linreg, color=color.white) 

//calc band
Value = input(-2)
sub = (Value/100)+1
Band2 = linreg*sub
plot(Band2, color=color.red)

//HMA as a filter
HMA = input(400, minval=1)  
plot(hma(close, HMA), color=color.purple)  

long_condition = close <  Band2  and hma(close, HMA) < close and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition =  close > linreg
strategy.close('BUY', when=short_condition)


Thêm nữa