Chiến lược định lượng khai thác đáy chủ động


Ngày tạo: 2024-01-18 16:25:33 sửa đổi lần cuối: 2024-01-18 16:25:33
sao chép: 3 Số nhấp chuột: 557
1
tập trung vào
1617
Người theo dõi

Chiến lược định lượng khai thác đáy chủ động

Tổng quan

Chiến lược này thuộc về chiến lược giao dịch ngắn hạn tích cực bằng cách định vị khối lượng giao dịch nổi bật ở đáy ngắn hạn trong xu hướng giảm và thực hiện các hoạt động mua trong điều kiện bán tháo.

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

Khi khối lượng giao dịch vượt quá mức chênh lệch tiêu chuẩn 2 lần so với mức trung bình dựa trên SMA thì được coi là khối lượng giao dịch nổi bật, trong khi RSI thấp hơn 30 thì được coi là tình trạng bán tháo. Khi cả hai điều kiện đều được đáp ứng, hãy đánh giá là đáy ngắn hạn và ngay lập tức làm nhiều hơn.

Vì vậy, chiến lược này chỉ có một vài bước:

  1. Tính toán khối lượng giao dịch gần nhất trên đường K 20 đường SMA như một số lượng chuẩn
  2. Tính phân số chuẩn 2 lần của 20 giao dịch K gần đây như là tiêu chuẩn đánh giá số lượng nổi bật
  3. Tính RSI của 20 đường K gần nhất
  4. Khi khối lượng giao dịch vượt quá số lượng cơ sở + 2 lần chênh lệch tiêu chuẩn và RSI thấp hơn 30, đánh giá là đáy ngắn hạn
  5. Làm nhiều hơn ngay lập tức khi ở đáy ngắn hạn
  6. Tự động thanh toán sau 10 đường K

Phân tích lợi thế

Chiến lược này có những ưu điểm sau:

  1. Logic đơn giản, dễ hiểu và tối ưu hóa
  2. Sử dụng các đặc điểm nổi bật của khối lượng giao dịch để xác định điểm biến đổi ngắn hạn
  3. Chỉ số RSI đảm bảo chỉ làm nhiều hơn trong khu vực bán tháo và tránh vượt trội
  4. Tự động dừng lỗ, tối đa hóa rủi ro tránh đuôi

Nhìn chung, chiến lược sử dụng đầy đủ các đặc điểm của định lượng có thể phá vỡ để xác định xu hướng ngắn hạn, trong khi kiểm soát chặt chẽ rủi ro, là một chiến lược tích cực nhiều hoạt động có độ tin cậy cao.

Phân tích rủi ro

Chiến lược này có những rủi ro:

  1. Trong một số trường hợp, tín hiệu giao dịch được tạo ra bởi khối lượng giao dịch và RSI có thể bị phá vỡ sai, dẫn đến tổn thất lớn do lỗi;
  2. Các thiết lập thời gian dừng cố định có thể không dừng hoặc dừng quá sớm khi thị trường đảo ngược mạnh;
  3. Không tối ưu hóa tham số có thể dẫn đến tín hiệu thường xuyên hoặc quá ít.

Đối với các rủi ro trên, có thể tối ưu hóa từ các khía cạnh sau:

  1. Thêm các bộ lọc cho các chỉ số khác để tránh các tín hiệu phá vỡ giả;
  2. Thiết lập dừng theo dõi động, thay vì dừng dòng Root K cố định;
  3. Kiểm tra toàn diện và tối ưu hóa các tham số để đảm bảo các tham số vững chắc.

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

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

  1. Tăng độ tin cậy của mô hình học máy trong việc đánh giá đột phá và tránh các tín hiệu giả
  2. Thêm cơ chế tự điều chỉnh, thay vì chỉ đơn giản là cài đặt dòng K gốc cố định
  3. Tối ưu hóa tập dữ liệu đa chiều cho các tham số số lượng nổi bật
  4. Tăng độ chính xác của máy học trong việc lọc các tín hiệu bán tháo
  5. Alpha kết hợp với phân tích cảm xúc để tăng chiến lược

Bằng cách giới thiệu các chỉ số kỹ thuật tiên tiến hơn, học máy và phân tích cảm xúc, bạn có thể cải thiện đáng kể tính ổn định của chiến lược, tỷ lệ alpha và Sharpe.

Tóm tắt

Chiến lược này nói chung là một chiến lược phá vỡ đường ngắn rất đơn giản, trực tiếp và logic. Bằng cách áp dụng hợp lý các chỉ số khối lượng giao dịch để đánh giá điểm đảo ngược xu hướng ngắn hạn, trong khi kiểm soát rủi ro chặt chẽ, có thể đạt được hiệu quả tốt. Tuy nhiên, vẫn có một số rủi ro tín hiệu sai và rủi ro sức khỏe tham số. Những vấn đề này có thể được cải tiến và tối ưu hóa dần dần bằng cách giới thiệu nhiều công nghệ tiên tiến hơn, làm cho hiệu quả của chiến lược trở nên rõ rệt hơn.

Mã nguồn chiến lược
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © footlz

//@version=4
strategy("Bottom catch strategy", overlay=true)

v_len = input(20, title="Volume SMA Length")
mult = input(2)
rsi_len = input(20, title="RSI Length")
oversold = input(30, title="Oversold")
close_time = input(10, title="Close After")

v = volume
basis = sma(v, v_len)
dev = mult * stdev(v, v_len)
upper_volume = basis + dev

rsi = rsi(close, rsi_len)

long = v > upper_volume and rsi < oversold

strategy.entry("Long", true, when=long)

passed_time = 0.0
if strategy.position_size != 0
    passed_time := 1
else
    passed_time := 0

if strategy.position_size != 0 and strategy.position_size[1] != 0
    passed_time := passed_time[1] + 1

if passed_time >= close_time
    strategy.close_all()

// If want to enable plot, change overlay=false.
v_color = close >= close[1] ? color.new(#3eb370, 0) : color.new(#e9546b, 0)

// plot(v, title="volume", color=v_color, style=plot.style_columns)
// plot(upper_volume, title="Threshold", color=color.aqua)