Chiến lược định lượng điểm Z hai trạng thái lai

SMA BB
Ngày tạo: 2024-05-28 17:38:08 sửa đổi lần cuối: 2024-05-28 17:38:08
sao chép: 1 Số nhấp chuột: 548
1
tập trung vào
1617
Người theo dõi

Chiến lược định lượng điểm Z hai trạng thái lai

Tổng quan

Chiến lược này sử dụng một phương pháp phân tích định lượng hỗn hợp, kết hợp hai mô hình phân bố và phân tích hồi quy để xác định các trạng thái thị trường khác nhau. Chiến lược này đầu tiên tính toán các chỉ số đường trung bình di chuyển đơn giản (SMA) và các chỉ số Brin (BB), sau đó tính toán điểm Z dựa trên các mức trung bình và chênh lệch tiêu chuẩn của lợi nhuận lịch sử. Chiến lược mở nhiều vị trí khi điểm Z thấp hơn giá xuống thấp và giá thấp hơn đường xuống; chiến lược tháo dỡ khi điểm Z cao hơn giá tăng và giá cao hơn đường lên.

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

Nguyên tắc cốt lõi của chiến lược này là sử dụng điểm Z để đo lường vị trí của lợi nhuận hiện tại so với phân bố lợi nhuận lịch sử. Công thức tính toán của điểm Z là: ((giải thưởng hiện tại - trung bình lợi nhuận lịch sử) / chênh lệch tiêu chuẩn lợi nhuận lịch sử. Điểm Z cao hơn, cho thấy lợi nhuận hiện tại vượt quá cực và khả năng mua quá cao hơn; Điểm Z thấp hơn, cho thấy lợi nhuận hiện tại vượt quá cực và khả năng bán quá cao hơn.

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

  1. Phân tích định lượng: Chiến lược này hoàn toàn dựa trên các chỉ số định lượng, quy tắc rõ ràng, dễ thực hiện và đo lường.
  2. Xác nhận kép: Chiến lược này sử dụng cả hai chỉ số Z-score và Brin để tạo ra một cơ chế lọc kép, tăng độ chính xác của tín hiệu.
  3. Cơ sở thống kê: Z-score xuất phát từ lý thuyết phân phối chính xác trong thống kê, có cơ sở lý thuyết vững chắc, có thể đo lường một cách khách quan mức độ cực đoan của lợi nhuận hiện tại.
  4. Tính linh hoạt về tham số: Người dùng có thể điều chỉnh các tham số như chu kỳ SMA, bội số Brin, mức giá trị Z theo nhu cầu, thích nghi với các thị trường khác nhau.

Rủi ro chiến lược

  1. Nhận thức tham số: Các thiết lập tham số khác nhau có thể dẫn đến sự khác biệt lớn trong hiệu suất chiến lược, cần tối ưu hóa tham số đầy đủ và thử nghiệm ổn định.
  2. Rủi ro xu hướng: Khi thị trường có xu hướng mạnh, Z-rating có thể ở khu vực cực đoan lâu dài, dẫn đến tín hiệu chiến lược ít hoặc không có.
  3. Rủi ro quá phù hợp: Nếu tối ưu hóa quá mức cho các tham số chính sách, có thể dẫn đến quá phù hợp, không hoạt động tốt trong mẫu.
  4. Rủi ro thiên nga đen: Trong trường hợp cực đoan, các quy luật thống kê lịch sử có thể không hiệu quả và chiến lược có nguy cơ rút lui lớn hơn.

Hướng tối ưu hóa chiến lược

  1. Các tham số động: xem xét các chỉ số như dao động của thị trường, cường độ của xu hướng, và động điều chỉnh các điểm mốc Z và nhân số Brin để cải thiện khả năng thích ứng.
  2. Thêm bộ lọc xu hướng: Lắp đặt các chỉ số định xu hướng trên cơ chế hiện có, chẳng hạn như MA chéo, DMI, v.v., để tránh quá nhiều tín hiệu vô hiệu trong xu hướng mạnh.
  3. Tối ưu hóa kết hợp: kết hợp chiến lược này với các chiến lược định lượng khác (như động lượng, trung bình trở lại, v.v.) để tận dụng lợi thế của mỗi bên và tăng sự ổn định.
  4. Chặn lỗ: đưa ra các cơ chế chặn lỗ hợp lý, kiểm soát lỗ hổng rủi ro giao dịch đơn, tăng lợi nhuận khi điều chỉnh rủi ro.

Tóm tắt

Chiến lược định lượng điểm Z hai chiều hỗn hợp là một chiến lược giao dịch định lượng dựa trên các nguyên tắc thống kê, xác định các cơ hội giao dịch tiềm năng bằng cách so sánh lợi nhuận hiện tại với phân phối lợi nhuận lịch sử. Đồng thời, chiến lược sử dụng chỉ số Bollinger Bands để xác nhận hai lần, nâng cao độ tin cậy tín hiệu. Quy tắc chiến lược rõ ràng, dễ thực hiện và tối ưu hóa, nhưng đồng thời cũng đối mặt với các thách thức như nhạy cảm với tham số, rủi ro xu hướng, rủi ro quá phù hợp.

Mã nguồn chiến lược
/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estratégia Híbrida Quantitativa", overlay=true)

// Definição de parâmetros
sma_length = input.int(20, title="Período da SMA")
threshold_high = input.float(1.5, title="Threshold Alto")
threshold_low = input.float(-1.5, title="Threshold Baixo")
lookback_period = input.int(252, title="Período de Retorno Histórico (dias)")

// Funções auxiliares
f_sma(source, length) =>
    ta.sma(source, length)

f_bollinger_band(source, length, mult) =>
    basis = ta.sma(source, length)
    dev = mult * ta.stdev(source, length)
    [basis + dev, basis - dev]

// Cálculo dos indicadores
sma = f_sma(close, sma_length)
[upper_band, lower_band] = f_bollinger_band(close, sma_length, 2)

// Regime de Mercado: Binomial
retornos = ta.change(close, 1)
media_retornos = ta.sma(retornos, lookback_period)
desvio_padrao_retornos = ta.stdev(retornos, lookback_period)

// Indicador de Regime: Z-Score
z_score = (retornos - media_retornos) / desvio_padrao_retornos

// Sinal de Compra e Venda
sinal_compra = z_score < threshold_low and close < lower_band
sinal_venda = z_score > threshold_high and close > upper_band

// Execução de Ordem
if (sinal_compra)
    strategy.entry("Long", strategy.long)
if (sinal_venda)
    strategy.close("Long")

// Plotagem dos Indicadores
plot(sma, title="SMA", color=color.blue)
plot(upper_band, title="Upper Bollinger Band", color=color.red)
plot(lower_band, title="Lower Bollinger Band", color=color.green)
hline(threshold_high, "Threshold Alto", color=color.red, linestyle=hline.style_dashed)
hline(threshold_low, "Threshold Baixo", color=color.green, linestyle=hline.style_dashed)
plot(z_score, title="Z-Score", color=color.purple)