Chiến lược hồi quy trung bình

SMA DEV MA
Ngày tạo: 2024-06-17 14:57:59 sửa đổi lần cuối: 2024-06-17 14:57:59
sao chép: 0 Số nhấp chuột: 600
1
tập trung vào
1617
Người theo dõi

Chiến lược hồi quy trung bình

Tổng quan

Chiến lược này dựa trên nguyên tắc quay trở lại giá trị trung bình, sử dụng các trường hợp giá lệch khỏi đường trung bình di chuyển để đưa ra quyết định giao dịch. Khi giá lệch lên từ đường lên, hãy làm cho nó trống rỗng, khi giá lệch xuống từ đường xuống, hãy làm nhiều hơn, khi giá quay trở lại đường trung bình di chuyển.

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

  1. Tính toán trung bình di chuyển đơn giản (SMA) của chu kỳ được chỉ định (SMA mặc định 20) làm mức giá trung bình.
  2. Tính chênh lệch tiêu chuẩn của giá ((DEV) và xây dựng theo hướng lên xuống. Đường lên là SMA cộng với số nhân chênh lệch tiêu chuẩn ((tình thường là 1.5), đường dưới là SMA trừ số nhân chênh lệch tiêu chuẩn.
  3. Khi giá tăng lên, hãy làm trống, và khi giá giảm xuống, hãy làm nhiều hơn.
  4. Khi giá bán tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá tháo giá.
  5. Đánh dấu đường trung bình di chuyển, đường lên, đường xuống và tín hiệu mua bán trên biểu đồ.

Phân tích lợi thế

  1. Chiến lược quay trở lại giá trung bình dựa trên nguyên tắc thống kê rằng giá luôn quay trở lại giá trung bình, có một xác suất lợi nhuận nhất định trong thời gian dài.
  2. Các thiết lập trên và dưới đường ray cung cấp các điểm vào và ra rõ ràng, dễ thực hiện và quản lý.
  3. Lập luận chiến lược đơn giản, rõ ràng, dễ hiểu và dễ thực hiện.
  4. Điều này áp dụng cho các giống và chu kỳ có đặc điểm hồi phục trung bình rõ ràng.

Phân tích rủi ro

  1. Khi xu hướng thị trường thay đổi, giá có thể lệch khỏi trung bình lâu dài và không quay trở lại, dẫn đến chiến lược không hiệu quả.
  2. Thiết lập hệ số chênh lệch chuẩn không đúng sẽ dẫn đến tần suất giao dịch quá cao hoặc quá thấp, ảnh hưởng đến lợi nhuận.
  3. Trong trường hợp cực đoan, giá sẽ dao động mạnh, và các đường dẫn có thể mất hiệu lực.
  4. Chiến lược này có thể không có lợi nhuận nếu không có các đặc điểm của sự hồi phục trung bình cho các giống hoặc chu kỳ.

Hướng tối ưu hóa

  1. Thử nghiệm tối ưu hóa các số lần và chênh lệch chuẩn của SMA để tìm tham số tối ưu.
  2. Tham gia vào các chỉ số đánh giá xu hướng, tránh giao dịch ngược khi xu hướng rõ ràng.
  3. Thêm các chỉ số dao động như ATR bên ngoài chênh lệch tiêu chuẩn để xây dựng quỹ đạo động.
  4. Kiểm tra tính xác thực của phản hồi bằng cách tính đến các chi phí giao dịch như điểm trượt, phí xử lý.
  5. Thêm mô-đun điều khiển gió, chẳng hạn như Stop Loss Stop, quản lý vị trí v.v.

Tóm tắt

Chiến lược quay trở trung bình 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ê, đưa ra quyết định giao dịch bằng cách xây dựng giá trị trung bình lên và xuống. Lập luận của chiến lược đơn giản, thực hiện rõ ràng, nhưng hãy chú ý đến lựa chọn và tối ưu hóa các tham số của giống. Trong ứng dụng thực tế, cũng cần xem xét các yếu tố như xu hướng, chi phí giao dịch, kiểm soát rủi ro để nâng cao sự ổn định và lợi nhuận của chiến lược. Nói tóm lại, chiến lược quay trở trung bình là một chiến lược phổ biến và đáng nghiên cứu sâu sắc trong lĩnh vực giao dịch định lượng.

Mã nguồn chiến lược
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Mean Regression Strategy", overlay=true)

// Define the lookback period for the moving average
length = input.int(20, title="Moving Average Length")
mult = input.float(1.5, title="Standard Deviation Multiplier")

// Calculate the moving average and standard deviation
ma = ta.sma(close, length)
dev = mult * ta.stdev(close, length)

// Calculate upper and lower bands
upper_band = ma + dev
lower_band = ma - dev

// Plot the moving average and bands
plot(ma, color=color.blue, linewidth=2, title="Moving Average")
plot(upper_band, color=color.red, linewidth=2, title="Upper Band")
plot(lower_band, color=color.green, linewidth=2, title="Lower Band")

// Entry conditions
long_condition = ta.crossover(close, lower_band)
short_condition = ta.crossunder(close, upper_band)

// Exit conditions
exit_long_condition = ta.crossunder(close, ma)
exit_short_condition = ta.crossover(close, ma)

// Strategy orders
if (long_condition)
    strategy.entry("Long", strategy.long)
if (short_condition)
    strategy.entry("Short", strategy.short)

if (exit_long_condition)
    strategy.close("Long")
if (exit_short_condition)
    strategy.close("Short")

// Plot signals on the chart
plotshape(series=long_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=short_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")