Chiến lược CAT biến động đảo ngược

Tác giả:ChaoZhang, Ngày: 2024-02-19 14:29:51
Tags:

img

Tổng quan

Chiến lược CAT biến động đảo ngược là một chiến lược giao dịch định lượng dựa trên các chỉ số kỹ thuật. Chiến lược này đánh giá xu hướng thị trường và các vị trí hỗ trợ / kháng cự thông qua MA, EMA và các chỉ số khác, và kết hợp các chỉ số thiên nga đen và thiên nga trắng tùy chỉnh để xác định biến động bất thường, do đó thực hiện một chiến lược giao dịch xu hướng mua thấp và bán cao.

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

Logic cốt lõi của chiến lược CAT Chuyển đổi biến động là đánh giá xu hướng tổng thể thông qua các chỉ số kỹ thuật như MA và EMA, và sau đó nắm bắt các cơ hội biến động bất thường bằng cách sử dụng các chỉ số thiên nga đen và thiên nga trắng tùy chỉnh.

  1. Sử dụng các chỉ số như SMA và EMA để xác định hướng xu hướng tổng thể. Ví dụ, EMA144 vượt trên EMA169 được coi là tín hiệu tăng, và EMA144 vượt dưới EMA169 được coi là tín hiệu giảm.

  2. Một chỉ số thiên nga đen tùy chỉnh được định nghĩa là (kết thúc - mở) / đóng. Nó phản ánh mức độ biến động bất thường của một ngọn nến. Khi chỉ số thiên nga đen vượt quá ngưỡng (như 0,0191) và đóng thấp hơn mở, nó chỉ ra một biến động bất thường giảm mà trình bày một cơ hội ngắn.

  3. Chỉ số thiên nga trắng tương tự như chỉ số thiên nga đen, cũng phản ánh mức độ biến động bất thường của một ngọn nến. Khi chỉ số thiên nga trắng vượt quá ngưỡng và đóng cửa cao hơn mở, nó cho thấy một biến động bất thường lên mà trình bày một cơ hội mong muốn.

  4. Sau khi nắm bắt các cơ hội biến động bất thường, nó sẽ chờ các tín hiệu đảo ngược từ các chỉ số như EMA để đóng các vị trí, do đó đạt được mức mua thấp và bán cao.

Chiến lược này kết hợp việc sử dụng các đường trung bình động để xác định xu hướng và các chỉ số tùy chỉnh để nắm bắt sự bất thường, thực hiện một chiến lược định lượng giao dịch đảo ngược điển hình.

Phân tích lợi thế

Chiến lược CAT biến động đảo ngược có những lợi thế sau:

  1. Bắt được biến động bất thường với tỷ lệ thắng tương đối cao. Các chỉ số thiên nga đen và thiên nga trắng có thể bắt được biến động giá bất thường một cách hiệu quả. Những biến động này thường ngụ ý đảo ngược, vì vậy tỷ lệ thắng giao dịch cao hơn.

  2. Các tiêu chí nhập và thoát của chiến lược này rất rõ ràng, giúp tránh các hoạt động ngẫu nhiên và cảm xúc của các nhà giao dịch.

  3. Nhiều thông số và chỉ số để tối ưu hóa và điều chỉnh. chẳng hạn như các thông số chu kỳ của MA và EMA, các thông số ngưỡng của các chỉ số thiên nga đen và thiên nga trắng, vv, có thể được tối ưu hóa và điều chỉnh để làm cho chiến lược thích nghi tốt hơn với các sản phẩm và môi trường giao dịch khác nhau.

  4. Áp dụng cho giao dịch tần số cao và tần số thấp. Chiến lược này kết hợp cả xu hướng và đảo ngược, và có thể được cấu hình cho các chu kỳ thời gian khác nhau để sử dụng trong các kịch bản giao dịch tần số cao và tần số thấp.

  5. Các biện pháp kiểm soát rủi ro tương đối hoàn chỉnh. Chiến lược sử dụng tỷ lệ phần trăm vốn chủ sở hữu để đặt lệnh và cũng có cơ chế dừng lỗ để kiểm soát hiệu quả lỗ giao dịch duy nhất.

Phân tích rủi ro

Chiến lược CAT biến động đảo ngược cũng có một số rủi ro, chủ yếu là:

  1. Rủi ro tối ưu hóa tham số. Việc đặt các tham số như thiên nga đen và thiên nga trắng có tác động lớn đến hiệu suất chiến lược. Nếu các tham số được đặt không đúng cách, nó sẽ làm giảm đáng kể lợi nhuận của chiến lược.

  2. Rủi ro rút vốn: Khi thị trường cho thấy xu hướng một chiều dài hơn, chiến lược này có thể tạo ra một số lỗ liên tiếp và rút vốn lớn hơn.

  3. Rủi ro phá vỡ sai. Bị phá vỡ sai thường xuất hiện trong thực tế trong ngắn hạn. Nếu các thông số quá nhạy cảm nó có thể gây ra quá nhiều giao dịch không cần thiết.

Để đối phó với những rủi ro trên, các biện pháp sau đây có thể được áp dụng:

  1. Thiết lập một cơ chế tối ưu hóa tham số, sử dụng dữ liệu lịch sử để kiểm tra và tối ưu hóa nghiêm ngặt để đảm bảo cài đặt tham số hợp lý.

  2. Thiết lập cơ chế dừng lỗ. Đặt lỗ dừng hợp lý có thể kiểm soát hiệu quả lỗ giao dịch duy nhất và giảm tối đa.

  3. Điều chỉnh độ nhạy của tham số. Tránh cài đặt tham số quá nhạy bằng cách thêm các điều kiện lọc nhất định để tránh nhiễu đột phá giả.

Hướng dẫn tối ưu hóa

Chiến lược CAT biến động đảo ngược cũng có nhiều chỗ để tối ưu hóa.

  1. Cải thiện thêm các chỉ số thiên nga đen và thiên nga trắng bằng cách thiết lập các kết hợp tham số khác nhau để xác định biến động bất thường chính xác và toàn diện hơn.

  2. Tăng thuật toán học máy, sử dụng mạng thần kinh hoặc phương pháp học tập tập thể để tự động tối ưu hóa cấu hình tham số để các tham số chiến lược điều chỉnh năng động để thích nghi tốt hơn với những thay đổi trên thị trường.

  3. Sử dụng công nghệ học sâu để xác định các mẫu biểu đồ để giúp đánh giá các tín hiệu đảo ngược giá và cải thiện hiệu suất chiến lược.

  4. Thêm điều khiển logic mờ hơn độ nhạy của tham số, giữ cho các tham số ổn định khi xu hướng rõ ràng và tăng độ nhạy của tham số tại các điểm uốn khi xu hướng đảo ngược.

  5. Kết hợp các phương pháp tối ưu hóa toàn cầu như thuật toán di truyền không tham số và nấu kim mô phỏng để đạt được tối ưu hóa đa tham số tổng thể.

  6. Mở rộng các loại giao dịch, tăng các loại khác như cổ phiếu và tiền điện tử để điều chỉnh qua thị trường.

Thông qua việc tối ưu hóa mô hình và tham số có hệ thống, độ bền của chiến lược CAT biến động đảo ngược có thể được tăng cường hơn nữa, do đó đạt được kết quả giao dịch vượt trội.

Kết luận

Chiến lược CAT biến động đảo ngược kết hợp trung bình động và các chỉ số tùy chỉnh để xác định hiệu quả sự đảo ngược thị trường trong một chiến lược giao dịch định lượng. Chiến lược này có những lợi thế như nắm bắt biến động bất thường, các quy tắc nhập và xuất mặc định và không gian tối ưu hóa lớn. Hiệu ứng có thể được tăng cường hơn nữa thông qua tối ưu hóa tham số và mô hình. Những rủi ro như rủi ro tối ưu hóa tham số, rủi ro rút vốn và rủi ro phá vỡ sai cần được bảo vệ. Nhìn chung, ý tưởng của chiến lược này là hợp lý và có tính thực tế tốt.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4


//适合1分钟-3分钟的k线,发生波动超过百分之二时,自动报警
strategy("BlackSwan strategy", overlay=true,
         initial_capital=10000, currency='USD', default_qty_type=strategy.percent_of_equity,
         default_qty_value=100, commission_type= strategy.commission.percent, commission_value=0.075,pyramiding=3)
//-------------------------------------------
//-------------------------------------------
timecondition =  timeframe.period =="480"  or timeframe.period =="240" or timeframe.period =="D"  or timeframe.period =="720"
// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=11, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2018, minval=1800, maxval=2100)
endDate = input(title="End Date", type=input.integer,
     defval=1, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
     defval=11, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
     defval=2031, minval=1800, maxval=2100)
// Look if the close time of the current bar
// falls inside the date range
inDateRange = (time >= timestamp(syminfo.timezone, startYear,
         startMonth, startDate, 0, 0)) and
     (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))
     
     

// Inputs
a = input(1,     title = "Key Vaule. 'This changes the sensitivity'")
c = input(10,    title = "ATR Period")
h = input(false, title = "Signals from Heikin Ashi Candles")


ma60 = sma(close,60)
ema144 = ema(close,144)

ema169 = ema(close,169)
ma20=sma(close,20)

     
plot(ema144,color=color.yellow, title="144")
plot(ema169,color=color.orange, title="169")

    
heitiane=(close-open)
heitiane:=abs(heitiane)
heitiane:=heitiane/close

if (inDateRange and  heitiane >0.0191 and close<open) //  and close>f3
    strategy.entry("botsell20", strategy.short, comment = "黑天鹅追空"+tostring(heitiane))

if(crossover(ema144,ema169))
    strategy.close("botsell20", comment = "平空")
if (inDateRange and  heitiane >0.0191 and close>open) //  and close>f3
    strategy.entry("botbuy20", strategy.long, comment = "白天鹅追多"+tostring(heitiane))

if(crossunder(ema144,ema169))
    strategy.close("botbuy20", comment = "平多")
  


Thêm nữa