Chiến lược giao dịch định lượng dựa trên Bollinger Bands


Ngày tạo: 2023-12-28 15:54:07 sửa đổi lần cuối: 2023-12-28 15:54:07
sao chép: 0 Số nhấp chuột: 605
1
tập trung vào
1619
Người theo dõi

Chiến lược giao dịch định lượng dựa trên Bollinger Bands

Tổng quan

Chiến lược này dựa trên các chỉ số xây dựng chiến lược giao dịch của Binance, để thực hiện giao dịch tự động trên chu kỳ thời gian 1 phút. Khi giá vượt qua giới hạn dưới của Binance, hãy làm nhiều hơn khi giá vượt qua giới hạn trên của Binance.

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

Chiến lược này sử dụng chỉ số băng tần Brin với 55 chu kỳ, hệ số băng tần được thiết lập là 4. Đường trung tâm của băng tần Brin là đường trung bình di chuyển đơn giản 55 ngày, đường trên và đường dưới là đường trung tâm + 4 lần chênh lệch chuẩn và đường trung tâm - 4 lần chênh lệch chuẩn. Khi giá giảm xuống đường dưới, nhập thêm; Khi giá phá vỡ đường trên, nhập không.

Sau khi phát tín hiệu nhiều, chiến lược sẽ đặt lệnh dừng ở vị trí giá đường ray dưới. Sau khi phát tín hiệu trống, chiến lược sẽ đặt lệnh dừng ở vị trí giá đường ray trên. Không có lệnh dừng.

Phân tích lợi thế

Chiến lược này sử dụng khả năng của chỉ số Brin để đánh giá quá mua quá bán, xác định hợp lý thời gian vào thị trường. Hệ số băng thông được đặt là 4, tránh các vấn đề giao dịch quá thường xuyên. Kết quả kiểm tra lại cho thấy rằng trong chu kỳ thời gian 1 phút của Bitcoin, chiến lược này đã đạt được tỷ lệ lợi nhuận trên 80%, hiệu quả đáng kể.

So với các chỉ số khác, chỉ số băng thông Brin có khả năng thích ứng tốt với biến động thị trường, có thể tự động điều chỉnh băng thông capture biến động cổ phiếu trong các giai đoạn khác nhau. Điều này làm cho chiến lược getParameter có tính thô bạo mạnh mẽ.

Ngoài ra, chiến lược chỉ dựa vào một chỉ số của Binance, rất đơn giản, phù hợp với yêu cầu giao dịch số lượng.

Phân tích rủi ro

Rủi ro chính của chiến lược này là hiệu quả của chỉ số Bollinger Bands đánh giá thị trường quá mua quá bán sẽ bị ảnh hưởng bởi các hoạt động thị trường lớn. Trong thị trường bò, cổ phiếu có thể hoạt động ở mức cao trong một thời gian dài và Bollinger Bands khó có thể tạo ra kháng cự hiệu quả; Tương tự như vậy, trong thị trường gấu, cổ phiếu có thể ở mức thấp trong một thời gian dài và Bollinger Bands khó có thể cung cấp hỗ trợ hiệu quả.

Ngoài ra, các vị trí dừng lỗ được đặt trực tiếp trên và dưới đường ray của Bollinger Bands có thể quá gần để không cho phép các chiến lược có đủ không gian và bị đẩy ra ngoài bởi biến động giá đảo ngược.

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

Chiến lược này có thể được tối ưu hóa ở một số khía cạnh:

  1. Kết hợp với các chỉ số khác để đánh giá hiệu quả. Các chỉ số như KDJ, MACD và các chỉ số khác có thể hỗ trợ trong việc đánh giá tình trạng quá mua quá bán cực đoan, sửa đổi tín hiệu giao dịch.

  2. Cài đặt trace stop để khóa lợi nhuận. So với stop tĩnh, trace stop có thể điều chỉnh vị trí stop một cách thích hợp theo biến động giá.

  3. Các tham số tối ưu hóa. Bạn có thể thử nghiệm các tham số thời gian và băng thông khác nhau để tìm các tham số tối ưu nhất. Bạn cũng có thể kết hợp các thuật toán tối ưu hóa để tìm tham số tối ưu nhất.

  4. Phân biệt các tham số điều chỉnh môi trường thị trường. Thị trường chứng khoán được chia thành ba loại môi trường: thị trường bò, thị trường gấu và thị trường thanh toán. Vì vậy, bạn cũng có thể đặt các tham số giao dịch theo từng trường hợp.

  5. Thêm chiến lược quản lý đòn bẩy cao. Kiểm soát rủi ro của chiến lược bằng cách điều chỉnh số đòn bẩy động.

Tóm tắt

Chiến lược này lấy tín hiệu mua quá mức của thị trường thông qua chỉ số Bollinger Bands, logic giao dịch đơn giản và rõ ràng là ưu điểm lớn nhất của nó. Nói chung, đây là một chiến lược định lượng đường ngắn rất thực tế. Chúng ta có thể tối ưu hóa nhiều mặt trên cơ sở này, tiếp tục hoàn thiện chiến lược này để đạt được lợi nhuận ổn định lâu dài.

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

//@version=3
strategy("Kozlod - BB Strategy - 1 minute", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

// 
// author: Kozlod
// date: 2019-05-29
// BB - XBTUDS - Bitmex - 1m
// https://www.tradingview.com/u/Kozlod/
// https://t.me/quantnomad
//

source = close
length = input(55, minval=1)
mult = input(4, minval=0.001, maxval=50)

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

plot(upper)
plot(lower)

buyEntry  = crossover(source, lower)
sellEntry = crossunder(source, upper)

if (crossover(source, lower))
    strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands",  comment="BBandLE")
else
    strategy.cancel(id="BBandLE")

if (crossunder(source, upper))
    strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE")
else
    strategy.cancel(id="BBandSE")