Chiến lược kết hợp đảo ngược động lượng đa yếu tố


Ngày tạo: 2023-11-21 11:20:31 sửa đổi lần cuối: 2023-11-21 11:20:31
sao chép: 1 Số nhấp chuột: 600
1
tập trung vào
1617
Người theo dõi

Chiến lược kết hợp đảo ngược động lượng đa yếu tố

Tổng quan

Chiến lược này là một chiến lược kết hợp nhiều yếu tố, kết hợp với sử dụng yếu tố đảo ngược và yếu tố động lực, với mục đích phát hiện cơ hội đảo ngược trong thị trường. Chiến lược này sử dụng yếu tố đảo ngược dài và âm để xác định cơ hội đảo ngược sau khi giảm giá.

Nguyên tắc chiến lược

Chiến lược này bao gồm hai phần:

  1. 123 yếu tố đảo ngược

Phần này sử dụng tư duy đảo ngược trong ngày để đánh giá mối quan hệ giữa giá đóng cửa ngày hôm trước và giá đóng cửa hai ngày trước, kết hợp với việc xác định cơ hội đảo ngược đường K chậm.

  • Tín hiệu mua: Tín hiệu mua được tạo ra khi giá đóng cửa tăng lên sau hai ngày liên tiếp giảm và đường K chậm hơn 50 trong chín ngày.

  • Tín hiệu bán: Tín hiệu bán được tạo ra sau khi giá đóng cửa tăng hai ngày liên tiếp và giá đóng cửa giảm trong ngày đó, và đường K nhanh hơn 50 ngày.

  1. Chỉ số biến động động Elgidik (ETSI)

Phần này sử dụng ba phương pháp EMA để tạo ra chỉ số động lực. Công thức chỉ số như sau:

   xPrice1 = close - close[1]  
   xPrice2 = abs(close - close[1])
   xSMA_R = EMA(EMA(EMA(xPrice1,r), s), u) 
   xSMA_aR = EMA(EMA(EMA(xPrice2, r), s), u)
   xTSI = xSMA_R / xSMA_aR * 100
   xEMA_TSI = EMA(xTSI, N)

Trong đó, xSMA_R là giá trị làm mỏng EMA của động lực giá, xSMA_aR là giá trị làm mỏng EMA của độ dao động của giá, xTSI là chỉ số động lực tạo thành tỷ lệ của cả hai, xEMA_TSI là EMA làm mỏng lại của xTSI. Chỉ số này đánh giá mối quan hệ giữa xTSI và xEMA_TSI, làm tín hiệu giao dịch.

Cuối cùng, chiến lược sẽ thực hiện AND đối với hai phần tín hiệu, chỉ khi hai phần nhân đồng hướng phát tín hiệu, thì chỉ có lệnh giao dịch thực tế được tạo ra.

Lợi thế chiến lược

Lợi thế lớn nhất của chiến lược này là thiết kế đa yếu tố, có thể lọc các tín hiệu giả và phát hiện các cơ hội giao dịch chất lượng cao. Cụ thể, có ba điểm chính sau:

  1. Các yếu tố đảo ngược có thể xác định các điểm hồi phục ngắn hạn sau khi thu hồi.

  2. Chỉ số động lượng Elgdic có thể xác định hiệu quả hướng của xu hướng lớn, tránh các tín hiệu đảo ngược xảy ra trong xu hướng lớn, do đó lọc các tín hiệu giả.

  3. Hai phần của tín hiệu sử dụng AND hoạt động, có thể cải thiện chất lượng tín hiệu, tăng cường ổn định chiến lược.

Rủi ro chiến lược

Mặc dù các chiến lược được thiết kế đa yếu tố để kiểm soát rủi ro, các rủi ro chính sau đây vẫn tồn tại:

  1. Các tín hiệu đảo ngược có thể xảy ra trong xu hướng dao động và không có lợi nhuận.

  2. Các tham số được đặt giữa hai yếu tố có tính chủ quan, có thể quá phù hợp với một giống cụ thể.

  3. Sau khi đảo chiều, giá có thể bị điều chỉnh trở lại, làm tăng nguy cơ thua lỗ.

Những rủi ro này có thể được giảm thiểu bằng cách tối ưu hóa các tham số để phù hợp với nhiều giống hơn, kiểm soát thời gian giữ cổ phiếu sau khi đảo ngược, theo dõi các mối quan hệ chỉ số thay đổi trong thời gian thực.

Tối ưu hóa chiến lược

Chiến lược này có thể được tối ưu hóa từ các khía cạnh sau:

  1. Điều chỉnh các tham số của hai yếu tố để tìm mẫu dữ liệu phù hợp hơn.

  2. Tăng chiến lược dừng lỗ, kiểm soát tổn thất đơn lẻ.

  3. Các biến thể khác nhau được sử dụng cho các biến thể xu hướng và biến thể chấn động.

  4. Tăng cơ chế trọng lượng yếu tố để các yếu tố có hiệu suất cao hơn có trọng lượng lớn hơn.

  5. Thêm các thuật toán học máy, thực hiện tối ưu hóa và cập nhật các tham số tự động.

Tóm tắt

Chiến lược này đã kết hợp thành công các yếu tố đảo ngược và động lượng để thiết kế tối ưu hóa đa yếu tố. Nó có thể xác định hiệu quả các cơ hội đảo ngược ngắn hạn và sử dụng các chỉ số động lượng để xác minh lại tín hiệu, do đó làm tăng tỷ lệ chiến lược. Mặc dù chiến lược vẫn có một số không gian cải tiến, nhưng tư duy cốt lõi của nó cung cấp một tài liệu tham khảo tốt cho việc thiết kế chiến lược định lượng.

Mã nguồn chiến lược
/*backtest
start: 2023-10-21 00:00:00
end: 2023-11-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/07/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// r - Length of first EMA smoothing of 1 day momentum        4
// s - Length of second EMA smoothing of 1 day smoothing      8    
// u- Length of third EMA smoothing of 1 day momentum         6  
// Length of EMA signal line                                  3
// Source of Ergotic TSI                                      Close
//
// This is one of the techniques described by William Blau in his book "Momentum,
// Direction and Divergence" (1995). If you like to learn more, we advise you to 
// read this book. His book focuses on three key aspects of trading: momentum, 
// direction and divergence. Blau, who was an electrical engineer before becoming 
// a trader, thoroughly examines the relationship between price and momentum in 
// step-by-step examples. From this grounding, he then looks at the deficiencies 
// in other oscillators and introduces some innovative techniques, including a 
// fresh twist on Stochastics. On directional issues, he analyzes the intricacies 
// of ADX and offers a unique approach to help define trending and non-trending periods.  
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


ETSI(r,s,u,SmthLen) =>
    pos = 0
    xPrice = close
    xPrice1 = xPrice - xPrice[1]
    xPrice2 = abs(xPrice - xPrice[1])
    xSMA_R = ema(ema(ema(xPrice1,r), s),u)
    xSMA_aR = ema(ema(ema(xPrice2, r), s),u)
    Val1 = 100 * xSMA_R
    Val2 = xSMA_aR
    xTSI = iff (Val2 != 0, Val1 / Val2, 0)
    xEMA_TSI = ema(xTSI, SmthLen)
    pos:= iff(xTSI > xEMA_TSI, 1,
    	   iff(xTSI < xEMA_TSI, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Ergodic TSI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(4, minval=1)
s = input(8, minval=1)
u = input(6, minval=1)
SmthLen = input(3, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posETSI = ETSI(r,s,u,SmthLen)
pos = iff(posReversal123 == 1 and posETSI == 1 , 1,
	   iff(posReversal123 == -1 and posETSI == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )