Chiến lược giao dịch định lượng dựa trên xu hướng và đường trung bình động


Ngày tạo: 2023-12-06 17:55:42 sửa đổi lần cuối: 2023-12-06 17:55:42
sao chép: 0 Số nhấp chuột: 547
1
tập trung vào
1621
Người theo dõi

Chiến lược giao dịch định lượng dựa trên xu hướng và đường trung bình động

Tổng quan

Chiến lược này được gọi là Trend Following with EMA, một chiến lược giao dịch định lượng dựa trên xu hướng và đường trung bình. Nó kết hợp hai chỉ số kỹ thuật theo dõi xu hướng và chỉ số di chuyển trung bình (EMA) để xác định xu hướng giá của cổ phiếu hoặc các sản phẩm tài chính khác và mua và bán dựa trên đó.

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

Lập luận chính của chiến lược này là:

  1. Sử dụng các điểm thấp với độ dài 180 chu kỳ và giá đóng cửa để xác định xu hướng tăng giá. Khi giá đóng cửa trên điểm thấp, cho thấy giá bắt đầu tăng và tạo xu hướng, tại thời điểm này làm nhiều hơn;

  2. Khi giá chuyển từ xu hướng giảm sang xu hướng tăng, tức là khi giá đóng cửa vượt qua giá mở cửa, và dưới đường EMA, cũng làm nhiều hơn;

  3. Khi giá chuyển từ xu hướng tăng sang xu hướng giảm, tức là khi giá đóng cửa vượt qua giá mở cửa;

  4. Sử dụng các điểm cao với độ dài 180 chu kỳ và giao điểm của EMA để xác định xu hướng giảm giá. Khi điểm cao vượt qua đường EMA và điểm cao dưới đường EMA, hãy tháo lỗ.

  5. Khi giá chuyển từ xu hướng tăng sang xu hướng giảm, tức là phá giá mở cửa dưới giá đóng cửa và phá giá trên đường EMA;

  6. Khi giá chuyển từ xu hướng giảm sang xu hướng tăng, tức là khi giá đóng cửa vượt qua giá mở cửa, xóa vị trí đầu trống.

Phân tích lợi thế chiến lược

Chiến lược này kết hợp theo dõi xu hướng và chỉ số đường trung bình, có thể nắm bắt hiệu quả các điểm biến đổi trong xu hướng giá, có những ưu điểm sau:

  1. Phần theo dõi xu hướng có thể xác định hướng của xu hướng giá, giảm khả năng sai lệch;
  2. Phần đường trung bình có thể lọc hiệu quả tiếng ồn của biến động giá nhỏ, nhận ra xu hướng lớn hơn;
  3. Sự kết hợp của hai chỉ số có thể cải thiện độ tin cậy của tín hiệu giao dịch và tránh các kết quả dương tính giả.
  4. Các tham số được đặt linh hoạt hợp lý, có thể điều chỉnh độ dài chu kỳ để phù hợp với các giống và phong cách giao dịch khác nhau.

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Trong trường hợp biến động mạnh, đường trung bình EMA có thể bị tụt hậu nhiều và có thể bỏ lỡ thời gian đầu vào tốt nhất;
  2. Các chỉ số đánh giá xu hướng nhạy cảm với các tham số, các thiết lập chu kỳ khác nhau sẽ dẫn đến các tín hiệu giao dịch và lợi nhuận khác nhau;
  3. Tần suất chuyển đổi của các vị trí đầu nhiều đầu trống có thể quá cao, làm tăng điểm trượt giao dịch và mất phí xử lý.

Các giải pháp đối phó với rủi ro là:

  1. Tối ưu hóa các tham số chu kỳ của đường trung bình EMA, giảm khả năng tụt hậu;
  2. Tối ưu hóa các tham số để tìm các tham số chu kỳ phù hợp nhất với giống;
  3. Thiết lập điều kiện dừng lỗ để tránh chuyển vị trí quá thường xuyên.

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

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

  1. Thêm mô-đun quản lý vị trí dựa trên biến động, có thể điều chỉnh vị trí theo biến động của thị trường;
  2. Thêm mô hình học máy để đánh giá xu hướng giá, thay vì đánh giá chéo đơn giản, để tăng độ chính xác;
  3. Kết hợp với dữ liệu cơ bản để tinh chỉnh tín hiệu giao dịch, tránh tạo ra tín hiệu sai khi công ty thay đổi kết quả;
  4. Tối ưu hóa tham số đa giống, tìm kiếm sự kết hợp tham số chu kỳ tốt nhất, tăng sự ổn định và tối đa hóa lợi nhuận.

Tóm tắt

Chiến lược này nói chung là một chiến lược theo dõi xu hướng điển hình, sử dụng các chỉ số đặc trưng của chính giá để xác định hướng và theo dõi xu hướng. Nó đơn giản, hiệu quả, dễ thực hiện và phù hợp với chiến lược nhập cảnh giao dịch định lượng. Nhưng cũng có một số vấn đề, chẳng hạn như chỉ số tụt hậu, nhạy cảm tham số, v.v. Những vấn đề này có thể được cải thiện bằng cách giới thiệu nhiều nguồn dữ liệu hơn, sử dụng máy học v.v..

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

//@version=2
strategy("Trend + EMA", overlay=true, initial_capital=10000, currency=currency.USD, pyramiding=0)

tim=input("180", title="Period for trend")
ema_period=input(180, title="EMA period")

opn = request.security(syminfo.tickerid, tim, open)
cls = request.security(syminfo.tickerid, tim, close)

emaline = ema(close, ema_period)

plot(opn, color=red)
plot(cls, color=green)
plot(emaline, color=black)

if (crossover(low, emaline))
    strategy.entry("long", strategy.long)

if (crossover(cls, opn) and emaline < opn and strategy.position_size == 0)
    strategy.entry("long", strategy.long)

if (crossunder(cls, opn) and strategy.position_size > 0)
    strategy.close_all()

if (crossunder(high, emaline) and high < emaline)
    strategy.entry("short", strategy.short)

if (crossunder(cls, opn) and emaline > opn and strategy.position_size == 0)
    strategy.entry("short", strategy.short)

if (crossover(cls, opn) and strategy.position_size < 0)
    strategy.close_all()