Chiến lược chiết xuất xu hướng lọc băng thông

Tác giả:ChaoZhang, Ngày: 2024-01-03 15:22:49
Tags:

img

Tổng quan

Chiến lược chiết xuất xu hướng lọc băng thông là một chiến lược theo dõi xu hướng cổ phiếu dựa trên các bộ lọc băng thông. Nó sử dụng một đường trung bình động cân bằng theo cấp số nhân và lọc băng thông để xử lý chuỗi giá và chiết xuất thành phần xu hướng trong giá như là tín hiệu cho các bước vào và ra.

Nguyên tắc

Chiến lược này đầu tiên xây dựng một đường trung bình di chuyển nhân tố kép bằng cách điều chỉnh các tham số Length và Delta để kiểm soát chiều dài của đường trung bình di chuyển và tính trơn tru. Sau đó nó sử dụng một tập hợp các biến đổi toán học để chiết xuất thành phần xu hướng từ chuỗi giá và lưu trữ nó trong biến xBandpassFilter. Cuối cùng, nó tính toán đường trung bình di chuyển đơn giản của xBandpassFilter, xMean, làm chỉ số cho các mục nhập và xuất.

Nó đi dài khi xMean vượt qua trên mức Trigger, và đi ngắn khi vượt qua dưới. Độ nhạy của các lối vào và lối ra có thể được kiểm soát bằng cách điều chỉnh mức Trigger.

Ưu điểm

  1. EMA đôi có hiệu quả lọc ra một số tiếng ồn trong giá cho các chiến lược ổn định hơn.
  2. Bộ lọc băng thông chỉ trích ra các thành phần xu hướng trong giá, tránh các whipsaws.
  3. Ít thông số làm cho tối ưu hóa và kiểm soát rủi ro dễ dàng hơn.

Rủi ro

  1. Sự chậm trễ thời gian gây ra cơ hội bị bỏ lỡ từ sự đảo ngược nhanh chóng.
  2. EMA đôi và lọc băng thông có hiệu ứng thông qua thấp, làm giảm độ nhạy.
  3. Việc lọc quá mức có thể gây ra sự thiếu xu hướng mạnh nếu các thông số được điều chỉnh kém.

Giảm độ dài có thể cải thiện các vấn đề về độ trễ.

Những cải tiến

  1. Thêm stop loss để kiểm soát lỗ giao dịch duy nhất.
  2. Hệ thống trung bình di chuyển kép có thể cải thiện sự ổn định.
  3. Kết hợp với âm lượng hoặc các tín hiệu đảo ngược khác để tránh chém.
  4. Sử dụng máy học hoặc thuật toán di truyền để tối ưu hóa các thông số.

Kết luận

Chiến lược này tương đối ổn định với hiệu suất tốt trong các thị trường có xu hướng mạnh. Việc tối ưu hóa hơn nữa trong nhiều môi trường thị trường có thể làm cho nó có lợi nhuận đáng tin cậy hơn. Nó đảm bảo nghiên cứu và ứng dụng thêm.


/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/12/2016
// The related article is copyrighted material from Stocks & Commodities Mar 2010
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Extracting The Trend Strategy Backtest")
Length = input(20, minval=1)
Delta = input(0.5)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(Trigger, color=blue, linestyle=line)
xPrice = hl2
beta = cos(3.1415 * (360 / Length) / 180)
gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
xBandpassFilter = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
xMean = sma(xBandpassFilter, 2 * Length)
pos = iff(xMean > Trigger, 1,
	   iff(xMean < Trigger, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xMean, color=red, title="ExTrend")

Thêm nữa