Chiến lược giá trung bình cân nhắc khối lượng (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 thời gian nhất định. Chiến lược sử dụng VWAP làm điểm chuẩn và có các vị trí dài hoặc ngắn khi giá vượt qua trên hoặc dưới VWAP. Nó cũng thiết lập các điều kiện dừng lỗ và lấy lợi nhuận để 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 của giá cao, thấp và đóng) nhân với khối lượng và tổng khối lượng. Sau đó VWAP được tính bằng cách chia tổng sản phẩm giá-tháng lượng điển hình với tổng khối lượng. Khi giá vượt qua VWAP, mua dài. Khi giá vượt dưới, mua ngắn.
Điều kiện lấy lợi nhuận cho các vị trí dài là đóng cửa khi giá tăng 3% trên giá nhập cảnh. Điều kiện dừng lỗ là khi giá giảm 1% dưới giá nhập cảnh. Các điều kiện tương tự cũng áp dụng cho các vị trí ngắn.
Những lợi thế chính của chiến lược VWAP là:
Sử dụng số liệu thống kê VWAP được công nhận như một điểm chuẩn cho các tín hiệu giao dịch, làm cho chiến lược hiệu quả hơn.
Sử dụng cả tín hiệu vwap và dừng lỗ / kiếm lợi nhuận, có thể kiếm lợi từ xu hướng và hạn chế lỗ.
Logic đơn giản và rõ ràng, dễ hiểu và thực hiện.
Ngoài ra còn có một số rủi ro với chiến lược này:
VWAP không thể dự đoán giá trong tương lai, vì vậy các tín hiệu có thể bị trì hoãn.
Stop loss có thể quá rộng, làm tăng khả năng mất mát.
Kiểm tra ngược lâu hơn có nghĩa là tín hiệu nhiều hơn, hiệu suất thực tế có thể khác nhau.
Những rủi ro này có thể được giảm bằng cách điều chỉnh tham số, tối ưu hóa thuật toán dừng lỗ v.v.
Một số cách để tối ưu hóa chiến lược bao gồm:
Tối ưu hóa các thông số VWAP để tìm ra thời gian tính toán tốt nhất.
Kiểm tra các thuật toán dừng theo dõi khác, ví dụ như dừng trung bình động, SAR parabolic.
Kết hợp các chỉ số khác để lọc các tín hiệu VWAP, ví dụ: khối lượng, Bollinger Bands.
Tóm lại, chiến lược VWAP sử dụng sức mạnh dự đoán của số liệu thống kê quan trọng này, với việc dừng lỗ / lợi nhuận để đạt được kỳ vọng tích cực dài hạn.
/*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")