Bài viết này chủ yếu phân tích một chiến lược giao dịch định lượng gọi là
Logic cốt lõi của chiến lược này là:
Cụ thể, chiến lược đầu tiên xác định tham số p là tham số chu kỳ để tính toán chỉ số RSI, và r là khoảng thời gian để dự đoán thay đổi giá trong tương lai. Sau đó trong chu kỳ p, đếm số lần giá đóng tăng để tính toán phân bố xác suất A. Đồng thời, trong chu kỳ p, đếm số lần RSI tiếp tục tăng trong chu kỳ r sau khi chu kỳ này kết thúc, và tính toán phân bố xác suất B.
Sau đó, áp dụng công thức Bayesian để tính toán xác suất rằng hai điều kiện
Bằng cách này, chiến lược xem xét toàn diện thông tin giá và các chỉ số kỹ thuật, áp dụng thống kê xác suất và các quy tắc Bayesian để đánh giá xu hướng trong tương lai và tạo ra các tín hiệu giao dịch.
Những lợi thế chính của chiến lược này là:
Kết hợp nhiều thông tin: Chiến lược không chỉ xem xét thông tin về giá cả, mà còn xem xét thông tin về các chỉ số kỹ thuật như RSI để đánh giá toàn diện xu hướng trong tương lai và cải thiện độ chính xác đánh giá.
Dự đoán xác suất: Tạo dự đoán xác suất về hướng thay đổi giá và RSI thông qua phân phối xác suất thống kê, thay vì so sánh số đơn giản, làm cho phán đoán khoa học hơn.
Tối ưu hóa Bayesian: Sử dụng các quy tắc Bayesian để tính toán xác suất có liên quan và tối ưu hóa xác suất thống kê ban đầu để đưa ra phán đoán chính xác hơn.
Các thông số linh hoạt: Cung cấp nhiều tham số để điều chỉnh và tối ưu hóa để phù hợp với các thị trường và tài sản khác nhau và cải thiện khả năng thích nghi của chiến lược.
Đơn giản và hiệu quả: Ý tưởng chiến lược là rõ ràng và các hoạt động thống kê và xác suất đơn giản được sử dụng để tạo ra các phán đoán tín hiệu giao dịch, dễ hiểu và tối ưu hóa, và hiệu quả là đáng kể.
Các rủi ro chính của chiến lược này cũng bao gồm:
Tùy thuộc tham sốCác thị trường khác nhau cần phải điều chỉnh nhiều thông số để đạt được kết quả tối ưu, làm tăng sự phức tạp của hoạt động chiến lược.
Lỗi xác suất: Do thời gian thống kê và mẫu hạn chế, xác suất được tính toán có thể không phù hợp với xu hướng thực tế, dẫn đến sai lệch đánh giá.
Các sự kiện đặc biệt: Các trường hợp khẩn cấp lớn có thể ảnh hưởng đến mối tương quan giữa giá thị trường và các chỉ số RSI, gây thất bại cho chiến lược.
Trục trặc chỉ số kỹ thuật: Trong một số tình huống thị trường, các chỉ số kỹ thuật như RSI có thể tạo ra các tín hiệu không hợp lệ, dẫn đến sự thất bại trong phán đoán chiến lược.
Các giải pháp bao gồm: tối ưu hóa quy trình thiết lập tham số, điều chỉnh thời gian thống kê và kích thước mẫu, kết hợp nhiều thông tin phụ trợ hơn, can thiệp thủ công trong các tình huống bất thường, v.v.
Các hướng tối ưu hóa chính của chiến lược này bao gồm:
Nhiều khung thời gian: Thực hiện các chiến lược trên nhiều khung thời gian (tiếng Nhật, hàng tuần, v.v.) để đánh giá tích hợp để cải thiện sự ổn định.
Thêm các chỉ số: Thêm nhiều tín hiệu chỉ số kỹ thuật như mẫu nến, trung bình động vv để làm phong phú cơ sở phán đoán.
Tối ưu hóa mô hình: Sử dụng máy học vv để tối ưu hóa mô hình Bayesian để tính toán chính xác hơn.
Các thông số động: Thêm các mô-đun tối ưu hóa động cho các tham số để điều chỉnh theo thời gian thực với những thay đổi của thị trường.
Cơ chế kiểm soát rủi ro: Đặt các chỉ số rủi ro như mức rút tiền tối đa và tần suất giao dịch để ngăn ngừa tổn thất lớn trong các thị trường cực đoan.
Kết hợp các cải tiến: Cùng với các loại chiến lược hoặc mô hình khác để hình thành các cơ chế bỏ phiếu và cải thiện sự ổn định.
Chiến lược này đầu tiên tính toán thống kê phân phối xác suất của giá và RSI, sau đó sử dụng các quy tắc Bayesian để tính toán các xác suất kết hợp, tạo ra các tín hiệu giao dịch khi xác suất vượt quá ngưỡng thiết lập, do đó kiếm lợi nhuận. Chiến lược này kết hợp thông tin đa nguồn, tận dụng dự đoán xác suất và tối ưu hóa Bayesian cho hiệu suất phán đoán tốt.
/*backtest start: 2022-12-11 00:00:00 end: 2023-03-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 // Stealthy7 trading scripts are radikal. You have entered the mystical realm of demonic profit. // If you like this script, check out my bots at cryptotrader.org/?r=51 // Let me know if you find any improvements to this script. It is beta. // Please subscribe. strategy("Stealthy7 Bayes Conditional RSI Trader Strategy", overlay=true) p = input(title="Period", defval=30, minval=5, maxval=500) t = input(title="Movement Thresh", type=float, defval=1.003, minval=1.001, maxval=1.5, step=0.001) r = input(title="Look Range", defval=7, minval=1,maxval=500, step=1) RSIT = input(title="Jump", defval=8, minval=1,maxval=99, step=1) BAYEST = input(title="SM", defval=3, minval=1,maxval=99, step=1) RSIP = input(title="RSIP", defval=14, minval=2,maxval=100, step=1) countup = 1 countdn = 1 countupS = 1 countdnS = 1 for i = p to 1 if close[i]/close[i + r] > t countup := countup + 1 else countdn := countdn + 1 if close[i]/close[i + r] < 2 - t countupS := countupS + 1 else countdnS := countdnS + 1 rsi = rsi(open,RSIP) countup2 = 1 countup3 = 1 countup2S = 1 countup3S = 1 for i = p to 1 if close[i]/close[i + r] > t and rsi[i + r + 1] > rsi[i + r + 2] + RSIT countup2 := countup2 + 1 else countup3 := countup3 + 1 if close[i]/close[i + r] < 2 - t and rsi[i + r + 1] < rsi[i + r + 2] - RSIT countup2S := countup2S + 1 else countup3S := countup3S + 1 countup2b = countup2 / p countup3b = countup3 / p countupb = countup / p countdnb = countdn / p countup2bS = countup2S / p countup3bS = countup3S / p countupbS = countupS / p countdnbS = countdnS / p bayes = 0 bayes := ((countupb * countup2b) / ((countupb * countup2b) + (countdnb * countup3b))) * 100 bayesS = 0 bayesS := ((countupbS * countup2bS) / ((countupbS * countup2bS) + (countdnbS * countup3bS))) * 100 SN1 = sma(bayes,BAYEST) SN2 = sma(bayesS,BAYEST) shortCondition = crossunder(bayesS, SN2) //and rsi < 49 longCondition = crossover(bayes, SN1) //and rsi > 59 if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)