
Chiến lược VWAP là một chiến lược theo dõi giá trung bình của một cổ phiếu trong một khoảng thời gian nhất định. Chiến lược này sử dụng VWAP như một chuẩn mực, mở nhiều hoặc ngắn khi giá cao hơn hoặc thấp hơn VWAP. Nó cũng đặt các điều kiện dừng lỗ và dừng để quản lý giao dịch.
Chiến lược này đầu tiên tính giá điển hình ((trung bình giá cao nhất, giá thấp nhất và giá đóng cửa) với tổng số nhân của số lượng giao dịch, và tổng số lượng giao dịch. Sau đó, tính giá trị VWAP bằng tổng số nhân của số lượng giao dịch. Khi giá vượt qua VWAP, hãy làm nhiều hơn; khi giá đi xuống, hãy làm trống.
Điều kiện dừng của nhiều vị trí là dừng khi giá tăng 3% so với giá nhập; điều kiện dừng lỗ là dừng khi giá giảm 1% so với giá nhập. Vị trí trống cũng là điều kiện tương tự.
Những lợi thế chính của chiến lược VWAP là:
Sử dụng VWAP, một chỉ số thống kê quan trọng được công nhận, làm chuẩn cho tín hiệu giao dịch, làm cho chiến lược hiệu quả hơn;
Đồng thời sử dụng tín hiệu VWP và dừng lỗ, bạn có thể kiếm được lợi nhuận trong xu hướng hoặc giảm lỗ.
Lập luận chiến lược đơn giản, rõ ràng, dễ hiểu và dễ thực hiện.
Chiến lược này cũng có một số rủi ro:
VWAP không có khả năng dự đoán giá trong tương lai, do đó tín hiệu VWAP có thể bị chậm trễ;
Các điều kiện dừng lỗ được đặt quá lỏng lẻo, có thể làm tăng thiệt hại;
Theo các nhà nghiên cứu, các tín hiệu giao dịch có thể có hiệu quả khác nhau khi phản hồi lâu hơn.
Những rủi ro này có thể được giảm bớt bằng cách điều chỉnh các tham số, tối ưu hóa các thuật toán dừng lỗ.
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Tối ưu hóa các tham số VWAP để tìm chu kỳ tính toán tối ưu;
Có thể thử nghiệm các thuật toán theo dõi dừng lỗ khác, chẳng hạn như dừng di chuyển, dừng di chuyển chỉ số;
Các chỉ số khác có thể được kết hợp với nhau như là bộ lọc để tránh lỗi tín hiệu VWAP; ví dụ như chỉ số năng lượng, chỉ số băng Brin, v.v.
Nhìn chung, chiến lược giá trị giao dịch trung bình sử dụng sức mạnh dự đoán của chỉ số quan trọng VWP, thiết lập điều kiện dừng lỗ để thu được lợi nhuận tích cực trong thời gian dài. Tuy nhiên, vẫn cần tối ưu hóa và kết hợp các chiến lược khác để giảm rủi ro do biến động thị trường gây ra và tăng lợi nhuận chiến lược.
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("VWAP Strategy by Royce Mars", overlay=true)
cumulativePeriod = input(14, "Period")
var float cumulativeTypicalPriceVolume = 0.0
var float cumulativeVolume = 0.0
typicalPrice = (high + low + close) / 3
typicalPriceVolume = typicalPrice * volume
cumulativeTypicalPriceVolume := cumulativeTypicalPriceVolume + typicalPriceVolume
cumulativeVolume := cumulativeVolume + volume
vwapValue = cumulativeTypicalPriceVolume / cumulativeVolume
// Buy condition: Price crosses over VWAP
buyCondition = crossover(close, vwapValue)
// Short condition: Price crosses below VWAP
shortCondition = crossunder(close, vwapValue)
// Profit-taking condition for long positions: Sell long position when profit reaches 3%
profitTakingLongCondition = close / strategy.position_avg_price >= 1.03
// Profit-taking condition for short positions: Cover short position when profit reaches 3%
profitTakingShortCondition = close / strategy.position_avg_price <= 0.97
// Stop loss condition for long positions: Sell long position when loss reaches 1%
stopLossLongCondition = close / strategy.position_avg_price <= 0.99
// Stop loss condition for short positions: Cover short position when loss reaches 1%
stopLossShortCondition = close / strategy.position_avg_price >= 1.01
// Strategy Execution
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=shortCondition or profitTakingLongCondition or stopLossLongCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.close("Short", when=buyCondition or profitTakingShortCondition or stopLossShortCondition)
// Plot VWAP on the chart
plot(vwapValue, color=color.blue, title="VWAP")